Se encuentra ubicado en la zona centro montañosa del Estado, a una altura 1,880 metros sobre el nivel del mar. Limita al norte con Atzalan y Misantla, al este con Misantla, al sur con Tenochtitlán, Tatatila, Las Minas, Villa Aldama y Perote, al oeste con Jalacingo. Su distancia aproximada a la capital del Estado por carretera es de 80 Km. al noroeste.
Clima
Templado-húmedo, su temperatura media anual es de 14 ºC, con notable variante a frío desde mediados de otoño a invierno y registrándose heladas en las partes altas. En invierno son frecuentes las lluvias por la influencia de los vientos del norte. Su precipitación media anual es de 1,428.6 milímetros.