 Lake Shaftsbury State Park is located in the northern part of the town, around Lake Shaftsbury.According to the United States Census Bureau, the town has a total area of , of which is land and , or 0.21%, is water.Most of the town drains southward to the Walloomsac River, while the northeast corner, including Lake Shaftsbury, drains north to the Batten Kill.