Este municipio se localiza en la sierra del estado de Hidalgo, colinda al norte con los municipios de Atotonilco el Grande, al este con Omitlán de Juárez, al sur con Mineral del Monte, Pachuca y San Agustín Tlaxiaca y al oeste colinda con los municipios de El Arenal y Actopan. Está constituido por una superficie territorial de 118.20 kilómetros cuadrados.