Limita al noreste con el municipio de Tepetlaxco de Hidalgo, al este con el municipio de Amozoc y con el municipio de Cuautinchán, al sureste con el municipio de Tzicatlacoyan, al sur con el municipio de Huehuetlán el Grande y con el municipio de Teopantlán, al suroeste con el municipio de Ocoyucan, al oeste con el municipio de San Andrés Cholula y con el municipio de San Pedro Cholula y al noroeste con el municipio de Cuautlancingo; al norte limita con el estado de Tlaxcala, en particular con los municipios de Papalotla de Xicohténcatl, Tenancingo, San Pablo del Monte y Teolocholco.