Penhook is located at 37°0'16" North, 79°37'43" West (37.004501, -79.628747).
According to the United States Census Bureau, the city has a total area of 12.64 mi2 (32.74 km2). 11.16 mi2 (28.91 km2) of it is land and 1.48 mi2 (3.83 km2) of it is covered by water. The total area is 11.71% water.
Penhook is located in the Eastern Standard Time (EST) timezone, GMT-05:00. It observes Daylight Saving Time (DST).