Ubicado en la región norte de la entidad, tiene límites territoriales al norte con el municipio de Tlayacapan, al sur con Ayala, Tlaltizapán y Emiliano Zapata, al oeste con Jiutepec y Tepoztlán. Cuenta con una superficie territorial de 203 kilómetros cuadrados y presenta una altitud promedio de 1,210 metros sobre el nivel del mar.