Se localiza en la zona norte del estado, denominada Sierra Gorda. Limita al norte con el municipio de Arroyo Seco, al este con el municipio de Jalpan de Serra, al sur y al sureste con el municipio de San Joaquín, al suroeste con el municipio de Cadereyta de Montes, al oeste con el municipio de Peñamiller y al noroeste con el municipio de Atarjea, este último del estado de Guanajuato.
