According to the United States Census Bureau, the town has a total area of , of which is land and , or 0.54%, is water [REF].
Conewango Creek, a tributary of the Allegheny River and part of the Mississippi River watershed, flows out of the west part of the town, and the south branch of Cattaraugus Creek, which flows to Lake Erie and is part of the St. Lawrence River watershed, originates in the town.