El municipio se localiza al poniente del territorio hidalguense entre los paralelos 20° 34’ y 20° 58’ de latitud norte; los meridianos 99° 11’ y 99° 33’ de longitud oeste; con una altitud de entre 900 y 2900 msnm.