Madison County is a county in Iowa, United States, part of the Des Moines–West Des Moines metropolitan statistical area. It had a population of 16,548 at the 2020 census and covers 562 square miles (1,460 km2) centred near 41°20′N 94°01′W.
Winterset is the county seat, and its postal code is 50273. The county has eight incorporated cities, five unincorporated communities and 16 civil townships. Madison County sits in the Central time zone.
Towns & Villages in Madison County
Madison County has 13 named places on the map: eight incorporated cities and five unincorporated communities. Winterset, the seat, is by far the largest; the rest are small farm towns and crossroads communities scattered across the county’s rolling countryside. Unincorporated places are marked “Unincorp.” below.
| Place | Type | Township | Pop. | ZIP |
|---|---|---|---|---|
| Winterset | City · seat | — | 5,353 | 50273 |
| Earlham | City | — | — | 50072 |
| St. Charles | City | — | — | 50240 |
| Truro | City | — | — | 50257 |
| Patterson | City | — | — | 50218 |
| Macksburg | City | — | — | 50155 |
| Bevington | City | — | — | 50033 |
| East Peru | City | — | — | 50222 |
| Old Peru | Unincorp. | — | — | 50222 |
| Barney | Unincorp. | — | — | — |
| Hanley | Unincorp. | — | — | — |
| Pitzer | Unincorp. | — | — | — |
| Webster | Unincorp. | — | — | — |
Note the two Perus: East Peru is an incorporated city on Iowa Highway 92, while Old Peru is a small unincorporated settlement nearby — both are genuinely distinct places, not duplicates. Iowa incorporates every municipality as a “city” regardless of size, so none of the county’s places carry a legal “town” or “village” designation.
Townships
Madison County is divided into 16 civil townships: Crawford, Douglas, Grand River, Jackson, Jefferson, Lee, Lincoln, Madison, Monroe, Ohio, Penn, Scott, South, Union and Walnut, plus Webster Township (which shares its name with the unincorporated community of Webster). Township-level 2020 population figures were not independently verified for this rewrite and are omitted rather than estimated.
ZIP Codes
- 50273 — Winterset (also serves the surrounding county seat area)
- 50072 — Earlham
- 50240 — St. Charles
- 50257 — Truro
- 50218 — Patterson
- 50222 — Peru (serves both East Peru and Old Peru)
- 50155 — Macksburg
- 50033 — Bevington
The unincorporated communities of Barney, Hanley, Pitzer and Webster have no post office of their own; residents use the ZIP code of the nearest city above.
Geography
Madison County lies on the Southern Iowa Drift Plain, a landscape of rolling hills cut by wooded creek valleys. The Middle River crosses the county roughly west to east through Winterset, and the North River drains the county’s northern townships; both are tributaries of the Des Moines River system. The county’s six surviving 19th-century covered bridges span creeks along these valleys. Of the county’s total area, 561 square miles (1,450 km2) is land and 1.2 square miles (3.1 km2) is water.
Madison County borders Polk County to the northeast, Warren County to the east, Clarke County to the southeast, Union County to the southwest, Adair County to the west, and Dallas County to the north.
Demographics
Madison County had 16,548 residents at the 2020 census, giving a density of roughly 29 people per square mile of land. Winterset, with 5,353 residents, is the county’s largest community by a wide margin; Earlham is the second-largest incorporated city, though its exact 2020 count was not independently verified for this page. Median household income statewide in Iowa was the Iowa median of $71,433 (2023 American Community Survey); Madison County, as a mostly rural, agricultural county within commuting range of Des Moines, tracks close to that figure rather than the lower incomes typical of Iowa’s more remote farm counties.
Economy & Local Life
Row-crop and livestock farming — corn, soybeans and cattle — remains the backbone of the county’s rural economy, and a growing share of residents commute into the Des Moines–West Des Moines metro to the northeast. Tourism is unusually important for a county this size: the covered bridges made famous by the 1992 novel and 1995 film “The Bridges of Madison County” draw visitors year-round, and Winterset hosts the Madison County Covered Bridge Festival every October. Winterset is also the birthplace of actor John Wayne, and the John Wayne Birthplace Museum on the town square is a year-round draw. The 1876 Madison County Courthouse anchors Winterset’s historic square.
History
Madison County was organized on January 13, 1846, and has operated its own county government since 1849. It was named for James Madison (1751–1836), the fourth president of the United States. Hiram Hurst, who arrived from Missouri on April 15, 1846, is credited as the county’s first European-American settler. Of the sixteen wooden covered bridges originally built across the county’s creeks in the late 1800s, six survive today and are listed on the National Register of Historic Places.
Getting There
Interstate 80 crosses the northern edge of Madison County, and U.S. Routes 6 and 169 and Iowa Highway 92 run through the county, with Highway 92 passing directly through Winterset.
- Des Moines — about 25 miles northeast
- Earlham — about 10 miles north of Winterset
- Osceola (Clarke County) — about 20 miles southeast
- Creston (Union County) — about 30 miles southwest
The nearest commercial airport is Des Moines International Airport (DSM), roughly 30 miles northeast of Winterset.
Frequently Asked Questions
Where is Madison County, Iowa?
It sits in south-central Iowa, just southwest of the Des Moines metropolitan area, centred near 41°20′N 94°01′W.
What is the population of Madison County?
16,548 people, according to the 2020 census.
How big is Madison County?
562 square miles (1,460 km2) total, of which 561 square miles (1,450 km2) is land.
What is the county seat of Madison County?
Winterset is the county seat.
How many towns are in Madison County?
Eight incorporated cities — Winterset, Earlham, St. Charles, Truro, Patterson, Macksburg, Bevington and East Peru — plus five unincorporated communities.
What ZIP codes are in Madison County?
Eight ZIP codes cover the county, from 50273 in Winterset to 50033 in Bevington; see the ZIP Codes section above for the full list.
Why is Madison County famous?
For its six surviving 19th-century covered bridges, the subject of the novel and film “The Bridges of Madison County,” and as the birthplace of actor John Wayne.
More counties in this state: Towns and villages in Iowa.