Colinda al norte con los municipios de Tejupilco y Texcaltitlán, al sur con Zacualpan y con el estado de Guerrero, al oriente con Almoloya de Alquisiras y al poniente con el municipio de Amatepec. Posee una extensión territorial de 552.52 kilómetros cuadrados y una altitud promedio de 2,290 metros sobre el nivel del mar.