Localizado en la región central del estado de Puebla, posee una extensión territorial de 21.69 kilómetros cuadrados y una altura promedio de 1,940 metros sobre el nivel del mar. Colinda al norte con el municipio de Tecali de Herra, al este con Tlanepantla y Huitziltepec, al sur con Molcaxac y al poniente colinda con los municipios de Tzicatlacoyan y con Teli.