The town's boundaries traverse Oneida Lake, with the town's southern boundary located at the mean high-water mark on the south shore of Oneida Lake.
According to the United States Census Bureau, the town has a total area of , of which, of it is land and of it (12.48%) is water.