Limita al norte con Ocampo, tanto al sur como al oeste con el estado de San Luis Potosí y en la parte este con el municipio de Antiguo Morelos, su superficie territorial es de 287.53 kilómetros cuadrados y se encuentra situado a una altura promedio de 276 metros sobre el nivel del mar.