El municipio se localiza al poniente del territorio hidalguense entre los paralelos 20° 16’ y 20° 31’ de latitud norte; los meridianos 99° 29’ y 99° 52’ de longitud oeste; con una altitud entre 1800 y 3000 msnm.