El municipio se localiza al poniente del territorio hidalguense entre los paralelos 20° 25’ y 20° 40’ de latitud norte; los meridianos 99° 26’ y 99° 51’ de longitud oeste; con una altitud entre 1500 y 2400 msnm.