Este municipio colinda al norte con los municipios de Mixquiahuala de Juárez, Francisco I. Madero y San Salvador, al este con Actopan y San Agustín Tlaxiaca, al oeste con los municipios de Atitalaquia, Tetepango y Mixquiahuala de Juárez, al sur se encuentran los municipios de San Agustin, Atotonilco de Tula, Atitalaquia y al sur con Apaxco y Huetpostla. Cuenta con una superficie territorial de 192.7 kilómetros cuadrados y se encuentra situado a una altura promedio de 2,180 metros sobre el nivel del mar.