Localizado en la región oriente de la entidad, el municipio posee una superficie territorial de 364.85 kilómetros cuadrados y una altura promedio que oscila entre los 2,380 y 5,600 metros sobre el nivel del mar. Presenta límites al norte con los municipios de Aljojuca y Tlachichuca, en la zona sur con Atzitzintla, Esperanza y Palmar de Bravo, al oeste con San Juan Atenco y con Qucholac, finalmente al este colinda con el municipio de La Perla, en el estado de Veracruz.