Iowa adopted its present county road numbering system around 1969, featuring alphanumeric route numbers on the blue pentagon signs that are also used in many other states. Before that, county roads were given single-letter or double-letter designations, much like Wisconsin's county trunk roads and Missouri's state supplementary roads. To the best of my knowledge, here is how the current system works (if anyone has anything to add or correct, e-mail me):
I have set up a page of various county road markers in the Photo Gallery.
Sources: Personal observations, the official state highway map, and the DeLorme Iowa Atlas and Gazetter.
A little more about county roads
(Map and commentary by Jeff Morrison, who has a gallery of markers here.)
The lines below are based on the 2001 state map. (Original map courtesy Univ. of Texas.) Because of the curvature of the earth, 'straight' lines aren't always straight in 2D, so some county lines have been manipulated a bit. ALL county road lines are approximate. (They may also be slightly less accurate especially in the east because of the slight curve in the map.) Red lines separate east-west road lettering; blue lines separate north-south road lettering.
I have a full-size version of the above here.
The rule of thumb for the image above is that if you can't see the county line, it is under the county road demarcation line. For example, the line between P and R runs on/near the Union/Clarke line, but just west of the Kossuth/Hancock line (R14 is in Kossuth). Some lines run just to the side because of roads that are on county lines; for example, S75 on the Hardin/Grundy line and T68 on the Mitchell/Howard line.
The horizontal lines actually DO follow county lines, at least as they start out in the west. In fact, the only exceptions west of I-35 are Kossuth and Webster counties. Vertical lines, though, are a little stranger, since they don't seem to closely follow any lines.
While doing this map I found nine roads [Kyle Johnson found a tenth, in Wapello County — J.H.] that don't pass the "straight line" test - that is, they run on the wrong side of the line above for their letter as judged with a ruler, and are often on the same imaginary line as another road correctly lettered, although over distances I could be a mile or so off. In the case of Benton County road V71, the county map shows it's on the exact same line(!) as W12 in the south part of the county. The ten on the wrong side of the line are below, with a renaming suggestion:
|Road||Location||Other info||New name|
|E16||Linn/Jones counties||Prairieburg-Monticello segment only||D68|
|F12||Clinton County||On line with E69 in Tama County||E70|
|J12||Wapello County||North of H47 (mostly gravel; only the short paved segments at both ends appear on the state transportation map)||H45|
|M54||Clay/Buena Vista/Sac counties||East of M68 in Sac, for some reason||N12|
|R77||Hamilton/Story counties||Right on line, could go either way||S12|
|T16||Butler County, near Aredale||On line with S70, near S75 in other cos.||S73|
|V15||Keokuk/Washington counties near Keota||One mile east of W15||W16|
|V71||northern Benton County||Exact alignment as W12 in south Benton||W12|
|W66||Johnson/Louisa/Henry cos.||W shouldn't be in Louisa at all (see map)||X12|
|Y13||Dubuque County||Farley-Cascade segment only; right on line||X77|
[Note: Dave Brown pointed out in early 2009 that W66 was rerouted onto the new Tri-County Bridge (where Johnson, Washington, and Louisa counties intersect) sometime in the 1980s. As a result W66 was rerouted into Washington County for a mile before going back to its original alignment in Louisa County. —J.H.]
The following counties have TWO letters for east-west roads and TWO letters for north-south roads IF an example (preferably paved) actually exists on the map or Street Atlas. (For example, Webster County does not have any R roads.) The following roads on the county lines are the only such marked in that county, although the other county may have jurisdiction:
I only picked the four-letter counties because many of them have three, one 'horizontal' and one 'vertical'. (Lines don't count.) Of the 20 counties with these roads, only Kossuth is west of the S/T line, because the horizontal lines are based on the west counties.
Kossuth - A42, B19, P30, R14; Mitchell - A23, B17, S70, T62; Winneshiek - A34, B32, V64, W42; Allamakee - A52, B38, W60, X42; Fayette - B44, C33, V68, W51; Clayton - B60, C24, W64, X21; Black Hawk - C57, D46, T75, V49; Buchanan - C57, D47, V62, W45; Delaware - C64, D47, W63, X47; Dubuque - C63, D41, X71, Y21; Tama - D65, E29, T47, V18; Benton - D65, E44, V42, W14; Linn - D62, E34, W45, X20; Jackson - D61, E17, Y31, Z40; Clinton - E63, F21, Y46, Z36; Cedar - E63 (gravel), F28, X40, Y14; Johnson - W38, X14, F12, G18; Muscatine - F70, G28, X43, Y26; Louisa - G62, H22, W66 (which it shouldn't have), X37; Henry - H28, J20, W55, X23; Wapello - H21, J12, T61, V17.
[Jeff Wilcox pointed out that Jones and Linn counties both have five letters, although in both cases the fifth is the last letter of a diagonal road. The majority of roads in Jones County begin with X and E, with some D roads in the northern part of the county and County Road Y20, a gravel road running southward from Oxford Mills. Both counties, however, share the gravel diagonal County Road X4F — the only F in either county. — J.H.]