Town Creek's original name was Jonesboro. Jonesboro was named after an early settler of the area, William Jones. The exact date remains uncertain, it is known as one of the first towns settled in Lawrence County. The first school was established in 1840 and was a one room school house. In 1870, the local Lodge called the Masonic Lodge donated space for expanding the school. West of Town Creek was voted in 1871 to separate itself from Lawrence County because county the town representatives wouldn't build a bridge to connect it to Town Creek. This area would then become part of Colbert County. Town Creek was incorporated on March 8, 1875.
When comparing Town Creek to the rest of the country, the living cost of Town Creek is 24.5% lower than the U.S. average.