Situado al sur del estado de Zacatecas, presenta límites al norte con Ojocaliente, al oriente con los municipios de Loreto y Noria de Ángeles, al poniente con Cuauhtémoc y finalmente en al sur colinda con el estado de Aguascalientes. Cuenta con una extensión territorial de 176 kilómetros cuadrados y una altura promedio de 1,990 metros sobre el nivel del mar.