Este municipio se localiza en la región norte de la entidad, está conformado por una superficie territorial de 190.09 kilómetros cuadrados y una altura promedio de 2,180 metros sobre el nivel del mar. Colinda al norte con el municipio de Zacatlán, al oriente con el de Tetela de Ocampo, al sur con Ixtacamaxtitlán y al poniente limita con el municipio de Chignahuapan.