According to the United States Census Bureau, the town has a total area of , of which, of it is land and of it (0.33%) is water.
The west town line is the border of Schoharie County, and the north town line is the border of Schenectady County.