Municipio localizado en la región noroeste del estado, posee una extensión territorial de 130.12 kilómetros cuadrados y una altura promedio de 340 metros sobre el nivel del mar. Colinda al norte con el municipio de Tenampulco, al este por el de Hueytamalco, al sur lo rodean los municipios de Tlatlauquitepec y Yaonáhuac, finalmente al oeste por Cuetzálan.