According to the United States Census Bureau, the town has a total area of 32.5 square miles (84.2 km²), of which, 32.0 square miles (83.0 km²) of it is land and 0.5 square miles (1.2 km²) of it (1.45%) is water.
The western town line is the border of Oneida County.