Localizado en la región central de la entidad, este municipio colinda al norte con el municipio de Tepeyahualco, al sur con el de Tlachichuca, al este con Lafragua y al oeste limita con el municipio de San Nicolás Buenos Aires. Posee una extensión territorial de 239.83 kilómetros cuadrados y una altitud que va de los 200 a los 2,380 metros sobre el nivel delmar.