# Iowa Highway 9

Iowa Highway 9 is the most northern of Iowa's east–west highways, traversing the entire northern tier of counties. It runs from the eastern terminus of South Dakota Highway 42 at the South Dakota border east of Sioux Falls, South Dakota near Benclare, to the Wisconsin border at Lansing where it continues as Wisconsin Highway 82. It is largely rural in character, bypassing any large city. Making a few dips north and south, the highway largely follows a very straight east–west alignment.

## Route description
### Northwest Iowa

Iowa 9 enters Iowa from South Dakota as a continuation of South Dakota Highway 42. At the same place the highway passes by Grand Falls Casino. The highway's entry point is four and a half miles (7.2 km) east of Iowa's northwestern corner. It heads south and east through Lyon County until it reaches Larchwood. There, it turns south for about a mile (1.5 km) where it meets the northern end of Iowa 182. From here, the highway runs due east for twelve miles (19 km). During this straight stretch, it passes just to the south of Lester. Just west of Rock Rapids, it meets U.S. Highway 75 (US 75). The two routes overlap one another for one mile (1.6 km) as the travel through northern Rock Rapids. US 75 splits away to the south and Iowa 9 heads into downtown Rock Rapids, where it crosses the Rock River.
East of Rock Rapids, the highway follows a section line that is four and a half miles (7.2 km) south of the Minnesota state line. Halfway between Rock Rapids and Little Rock, Iowa 9 intersects the northern and southern legs of County Road L14, which were previously Iowa 91 and Iowa 339, respectively. The highway passes Little Rock to the south and enters Osceola County. It continues east for seven and a half miles (12 km) until it reaches an interchange with Iowa 60 north of Sibley, that highway's final exit before entering Minnesota. Shortly thereafter, Iowa 9 meets US 59. The highway eases to the south as it follows the section line. It passes to the north of Ocheyedan and to the south of Rush Lake and Harris.
As Iowa 9 enters Dickinson County, it goes south of Silver Lake and Lake Park. It crosses the western and eastern branches of the Little Sioux River, which converge just south of the highway. The intersection with Iowa 86 marks Iowa 9's entry into the Iowa Great Lakes region. It becomes a four-lane divided highway for a short distance as it curves slightly to the south. In northwestern Spirit Lake, Iowa 9 is joined by US 71 from the south and they travel east through the downtown area. The highways turn sharply to the northeast in order to cross a narrow portion of East Okoboji Lake. They briefly follow the shore before turning back to the east and exiting Spirit Lake. Four miles (6.4 km) east of town, US 71 turns to the north and Iowa 9 continues towards Superior. Iowa 9 enters Emmet County and curves to the southeast as it approaches Estherville. There, it crosses the West Fork Des Moines River and Iowa 4. It continues due east for fifteen miles (24 km). Just west of Armstrong, it dips to the south and enters the southern part of town. It is overlapped by Iowa 15 for two blocks, a mere 600 feet (180 m).

### North Central Iowa

In Kossuth County, Iowa 9 passes through Swea City. East of Swea City, it is joined by U.S. Route 169. It passes north of Lakota, where US 169 turns north. Travelling through Buffalo Center in Winnebago County, the route takes a short southerly dip to pass northeast of Thompson, continues east, and then south overlapping U.S. Route 69 to the northern edge of Forest City where it again turns east.
In Worth County, it travels past the northern edges of Fertile and Hanlontown, where it soon crosses Interstate 35. East of I-35, it passes through the south side of Manly.
In Mitchell County, it makes a straight run to and through Osage, where it begins a concurrence with U.S. Route 218. East of where US 218 turns south, Iowa 9 swings back north and resumes going east to Riceville, crossing the Wapsipinicon River in the process.

### Northeast Iowa

In Howard County, the highway makes a transition into the Driftless Area of Iowa, with progressively more rugged terrain evident as one travels east. West of Cresco, and south of Lime Springs, it crosses U.S. Route 63 before going through Cresco. In the process, it crosses two tributaries of the Turkey River.
In Winneshiek County, it runs southeasterly, straightening out to go through Decorah in the valley of the Upper Iowa River. In Decorah, it crosses U.S. Route 52. It again takes a southeasterly drift. In Allamakee County, the highway becomes crooked. Just east of the county line, Iowa Highway 51 meets its northern terminus. Running south of Waukon, it then turns north through Waukon, briefly joined by Iowa Highway 76. In the northern part of Waukon, it curves north and east, into Lansing, through the valley of Clear Creek and downtown Lansing. Just before crossing the Mississippi River, it meets the southern terminus of Iowa Highway 26. It then turns onto the Black Hawk Bridge, where it joins Wisconsin Highway 82.

## Major intersections

| County | Location | mi | km | Destinations | Notes |
| Lyon | Sioux Township | 0.000 | 0.000 | SD 42 west / CR A10 east – Sioux Falls, S.D. | Continuation into South Dakota; CR A10 follows the state line |
| Lyon | Larchwood–Logan township line | 7.262 | 11.687 | Iowa 182 south – Inwood | |
| Lyon | Riverside–Rock township line | 19.029 | 30.624 | US 75 north – Luverne, Minn. | Western end of US 75 overlap |
| Lyon | Rock Rapids | 20.021 | 32.221 | US 75 south (Union Street) – Sioux Center | Eastern end of US 75 overlap |
| Lyon | Midland–Liberal township line | 27.951 | 44.983 | CR L14 – Ellsworth, Minn. | Former Iowa 91 |
| Lyon | Midland–Liberal township line | 28.951 | 46.592 | CR L14 – George | Former Iowa 339 |
| Lyon | Elgin–Grant township line | 34.733 | 55.897 | Maple Avenue | Former Iowa 189 |
| Osceola | Wilson–East Holman township line | 43.268 | 69.633 | Iowa 60 – Le Mars, Worthington, Minn. | Interchange; Iowa 60 exit 53 |
| Osceola | Wilson–East Holman township line | 46.808 | 75.330 | US 59 – Sanborn, Worthington, Minn. | |
| Osceola | Horton–Ocheyedan township line | 52.280 | 84.137 | CR L58 – Ocheyedan | Former Iowa 237 |
| Osceola | Fairview–Allison township line | 57.349 | 92.294 | CR M20 – Harris | Former Iowa 238 |
| Dickinson | Silver Lake–Excelsior township line | 62.882 | 101.199 | CR M27 – Lake Park | Former Iowa 219 |
| Dickinson | Diamond Lake–Lakeville township line | 70.090 | 112.799 | Iowa 86 – Milford, Lakefield, Minn. | |
| Dickinson | Spirit Lake | 72.978 | 117.447 | US 71 south | Western end of US 71 overlap |
| Dickinson | Spirit Lake | 74.186 | 119.391 | Hill Avenue | Former Iowa 276 |
| Dickinson | Superior–Richland township line | 79.984 | 128.722 | US 71 north – Jackson, Minn. | Eastern end of US 71 overlap |
| Dickinson | Superior–Richland township line | 80.988 | 130.338 | CR N14 – Terril | Former Iowa 203 |
| Emmet | Estherville | 88.639 | 142.651 | Iowa 4 (9th Street) – Emmetsburg, Sherburn, Minn. | |
| Emmet | Armstrong | 106.493 | 171.384 | Iowa 15 south (4th Street) – Ringsted | Western end of Iowa 15 overlap |
| Emmet | Armstrong | 106.608 | 171.569 | Iowa 15 north (6th Street) – Fairmont, Minn. | Eastern end of Iowa 15 overlap |
| Kossuth | Harrison Township | 119.989 | 193.104 | US 169 south – Bancroft, Algona | Western end of US 169 overlap |
| Kossuth | Lakota | 126.186 | 203.077 | 188th Avenue – Lakota | Former Iowa 250 |
| Kossuth | Lakota | 126.429 | 203.468 | US 169 north – Blue Earth, Minn. | Eastern end of US 169 overlap |
| Winnebago | Buffalo Center | 134.325 | 216.175 | CR R20 – Rake | Former Iowa 254 |
| Winnebago | Newton Township | 149.811 | 241.097 | US 69 north – Lake Mills | Western end of US 69 overlap |
| Winnebago | Forest City | 156.837 | 252.405 | US 69 south – Garner | Eastern end of US 69 overlap |
| Winnebago | Mount Valley Township | 160.184 | 257.791 | 250th Avenue – Pilot Knob State Park | Former Iowa 332 |
| Worth | Fertile Township | 167.696 | 269.881 | CR S18 – Fertile | Former Iowa 86 |
| Worth | Danville Township | 171.951 | 276.728 | I-35 / Iowa 27 – Des Moines, Minneapolis | I-35 exit 203 |
| Worth | Manly | 178.962 | 288.011 | US 65 (Orchid Avenue) – Northwood, Mason City | |
| Worth | Union Township | 186.370 | 299.933 | CR S62 – Grafton | Former Iowa 337 |
| Mitchell | Osage | 199.124 | 320.459 | US 218 north (N. 7th Street) – St. Ansgar | Western end of US 218 overlap |
| Mitchell | Burr Oak Township | 203.121 | 326.892 | US 218 south – Floyd | Eastern end of US 218 overlap |
| Mitchell | Jenkins Township | 215.087 | 346.149 | CR T64 – McIntire | Former Iowa 312 |
| Howard | Howard Center Township | 230.040 | 370.213 | US 63 – New Hampton, Rochester, Minn. | |
| Howard | Cresco | 239.008 | 384.646 | CR V58 – Protivin | Former Iowa 139 south |
| Howard–Winneshiek county line | Vernon Springs–Orleans township line | 241.025 | 387.892 | Iowa 139 north – Harmony, Minn. | |
| Winneshiek | Decorah | 258.036 | 415.269 | US 52 – Rochester, Minn. | |
| Winneshiek | Decorah | 258.450 | 415.935 | Short Street | Former US 52 |
| Allamakee | Ludlow Township | 271.609 | 437.112 | Iowa 51 south – Postville | |
| Allamakee | Jefferson Township | 276.278 | 444.626 | Iowa 76 south – Marquette, Effigy Mounds National Monument | Western end of Iowa 76 overlap |
| Allamakee | Waukon | 278.285 | 447.856 | Iowa 76 north (Main Street) – Eitzen, Minn. | Eastern end of Iowa 76 overlap |
| Allamakee | Lansing | 295.246 | 475.152 | Iowa 26 / Great River Road north (2nd Street) / WIS 82 east – De Soto, Wis., New Albin | Signed end of Iowa 9 |
| Mississippi River | Mississippi River | 295.472 | 475.516 | Black Hawk Bridge; Iowa–Wisconsin state line | Black Hawk Bridge; Iowa–Wisconsin state line |
| Mississippi River | Mississippi River | 295.472 | 475.516 | WIS 82 east – De Soto, Wis. | Continuation into Wisconsin |
| 1.000 mi = 1.609 km; 1.000 km = 0.621 mi Closed/former Concurrency terminus ||||||