The town has a total area of 32.4 square miles (83.9 km), of which 31.8 square miles (82.4 km) is land and 0.62 square miles (1.6 km), or 1.87%, is water, including Kinderhook Lake, Kinderhook Creek, and the waterfalls of Valatie. The north part of the town forms the border between Columbia and Rensselar County. U.S. Route 9 and New York State Route 9H pass through Kinderhook.