Ubicado a unos 65 kilómetros de distancia de Pachuca, este municipio colinda al noroeste con el municipio de Tezontepec de Aldama, al norte con Tlahuelilpan, al oriente con Tetepango, al sur con Atitalaquia, finalmente al poniente colinda con el municipio de Tula de Allende. Posee una extensión territorial de 79.3 kilómetros cuadrados.