Se encuentra a una altura que fluctúa entre un máximo de 2 300 y un mínimo de 900 metros sobre el nivel del mar. Tiene una extensión territorial de 1367.735 kilómetros cuadrados y limita al norte con el municipio de Concepción de Buenos Aires y el municipio de Mazamitla, al este con el municipio de Valle de Juárez y el municipio de Santa María del Oro, al sureste con el municipio de Jilotlán de los Dolores y al sur y suroeste con el municipio de Tecalitlán; finalmente al oeste limita con el municipio de Zapotiltic, el municipio de Zapotlán el Grande y el municipio de Gómez Farías.