Limita con los municipios de San Juan del Río al noreste y con Huimilpan al suroeste , y con los estados de México al sureste y Michoacán al suroeste. Su extensión territorial es de 682 km cuadrados. Tiene una altitud de 2629 metros sobre el nivel del mar.