南平原之北部，东西长约9公里、南北长约7公里；东临台1线省道纵贯公路，紧邻中山高速公路之[斗南/虎尾]、[大林/溪口]两处出口之间，距离约1.5公里，可经由台78线东西向快速道路联络国道1号、国道3号；北接大湖口溪与斗南镇为界；西以北港溪为界与虎尾镇、土库镇、元长乡三乡镇相交；南临石龟溪与嘉义县大林镇、溪口乡为邻。由彰化县南下，越过浊水溪中沙大桥，即进入云林县西螺镇、虎尾镇、斗南镇、大埤乡，向南进入嘉义县大林镇，位于本乡之东侧，在云林县境内总长度计有30公里，双向佈设四车道，分别于西螺镇与莿桐乡间、