Municipio ubicado en la región suroeste del estado, colinda al norte con los municipios de La Yesca y Jala, al sur con Amatlán de Cañas y con el estado de Jalisco, al oriente nuevamente con Jalisco y al poniente con el municipio de Ahuacatlán. Posee una extensión territorial de 581.4 kilómetros cuadrados y una altura promedio de 1,500 metros sobre el nivel del mar.