Localizado en la región central de la entidad, cuenta con una superficie territorial de 136.50 kilómetros cuadrados y una altura promedio de 2,154 metros sobre el nivel del mar. Colinda al norte con los municipios de Amozoc y Acajete, al sur con Tzicatlacoyan, al oriente con los de Tepeaca y Tecali de Herrera, finalmente al poniente limita con el municipio de Puebla de Zaragoza.