Este municipio se localiza en la región norte de la entidad, colinda al norte con el municipio de Santiafo Ixcuintla, al sur con Compostela, Xalisco y el Océano Pacífico, al este con Tepic y Xalisco y al oeste con el Océano Pacífico. Posee una extensión territorial de 823.60 kilómetros cuadrados y una altura promedio de 10 metros sobre el nivel del mar.