St. Johnsbury is located at 44°25'26" North, 72°1'4" West (44.423958, -72.017885).
According to the United States Census Bureau, the city has a total area of 13.07 mi2 (33.86 km2). 12.98 mi2 (33.62 km2) of it is land and 0.09 mi2 (0.24 km2) of it is covered by water. The total area is 0.72% water.
St. Johnsbury is located in the Eastern Standard Time (EST) timezone, GMT-05:00. It observes Daylight Saving Time (DST).