El municipio se localiza al norte del territorio hidalguense entre los paralelos 20° 42’ y 20° 59’ de latitud norte; los meridianos 98° 41’ y 98° 53’ de longitud oeste; con una altitud entre 300 y 2200 msnm.