In 1854, the town changed its name to Vernonville or Vernonsville in honor of local physician J.J. Vernon.
In the mid-1850s, plans were under way to put a railroad line through Duncan, but the impending Civil War disrupted them.
Shortly after the Civil War, Leroy Duncan came to town and began buying land.
During celebrations for the new railroad line, he promised townspeople he would provide land for city streets if they would agree to rename the town after him.
Within two years of its name change, Duncan boasted a population of 200, along with several general stores, saw and flour mills and a cotton gin.
The Hughes Hotel, opened in 1892, became a focal point of the town and drew travelers from the Greenville-Spartanburg road.
According to the United States Census Bureau, the town has a total area of 3.5 square miles (9.1 km2), all land.