The village is located on the banks of the Grasse River and the Raquette River and on the shore of the St. Lawrence River.
East-west highway New York State Route 37B intersects New York State Route 37 in the village, and both intersect New York State Route 420, a north-south highway.