Franklin is located at 36°40'39" North, 76°55'20" West (36.677500, -76.922500).
According to the United States Census Bureau, the city has a total area of 8.40 mi2 (21.75 km2). 8.35 mi2 (21.63 km2) of it is land and 0.05 mi2 (0.12 km2) of it is covered by water. The total area is 0.56% water.
Franklin is located in the Eastern Standard Time (EST) timezone, GMT-05:00. It observes Daylight Saving Time (DST).