According to the United States Census Bureau, the town has a total area of 105.8 square miles (273.9 km²), of which, 104.2 square miles (269.8 km²) of it is land and 1.6 square miles (4.1 km²) of it (1.51%) is water.
The Susquehanna River flows across the town, dividing it into two parts.