Municipio localizado en la región noroeste de la entidad, cuenta con una extensión territorial de 242.38 kilómetros cuadrados y una altura que va de los 250 a los 1,700 metros sobre el nivel del mar. Colinda al norte con el estado de Veracruz, al este con el municipio de San José Acateno y nuevamente el estado de Veracruz, al sur con Teziutlán y al oeste se encuentra Tenampulco y Ayotoxco de Guerrero.