Limita al norte con el estado de San Luis Potosí, al este con el municipio de Atarjea, tanto al sureste como al oeste limita con los municipios de Santa Catarina y Victoria y al sur con el estado de Querétaro. Cuenta con una superficie territorial de 912.20 kilómetros cuadrados.