El municipio se localiza al poniente del territorio hidalguense entre los paralelos 20° 08’ y 20° 20’ de latitud norte; los meridianos 99° 30’ y 99° 51’ de longitud oeste; con una altitud entre 2200 y 3300 msnm.