El municipio se localiza al sur del territorio hidalguense entre los paralelos 19° 46’ y 20° 01’ de latitud norte; los meridianos 99° 14’ y 99° 29’ de longitud oeste; con una altitud entre 2100 y 3000 msnm.