Canisteo is located at 42°16′12″N 77°36′23″W (42.270178, -77.606616).
According to the United States Census Bureau, the village has a total area of 1.0 square miles (2.5 km²). None of the area is covered with water.
The village is located at the junction of New York State Route 36 and New York State Route 248. County Route 28 joins New York State Route 36 south of the village and County Route 119 passes the north side of Canisteo.
The Canisteo River, flowing southeasterly, passes the north side of the village, where it is joined by Bennetts Creek.