According to the United States Census Bureau, the town has a total area of , of which, of it is land and of it (0.59%) is water.
The western part of the town borders Oneida Lake and Madison County, New York.