Limita al oeste con el municipio de Villa Hidalgo, con el municipio de Noria de Ángeles, con el municipio de Loreto y con el municipio de Villa García; al noroeste, norte y este limita con el estado de San Luis Potosí, al noroeste con el municipio de Salinas, al norte con el municipio de Moctezuma y el este con el municipio de Ahualulco; al sur limita en un pequeño sector con el municipio de Guanajuato, en particular con el municipio de Ocampo (Guanajuato); y al suroeste limita con el estado de Jalisco, correspondiendo este límite al municipio de Ojuelos de Jalisco.