Home insurance costs & natural hazards in Iowa
Plain facts for Iowa homeowners: what coverage has cost across the state, what flood insurance runs, and which natural hazards matter in each county.
See the numbersHistorical averages, not a quote. Updated Oct 2026.

Iowa at a glance
Four numbers most homeowners ask about first.
Median ZIP code, per policy per year in 2022 (inflation-adjusted).
Single-family NFIP policies that took effect in 2025.
Median ZIP in 2022. Typical U.S. ZIP: 0.81%.
Counties FEMA rates relatively high or very high on its overall National Risk Index.
What homeowners in Iowa pay
Each block pairs a short explanation with the data behind it.
Homeowners insurance
The typical Iowa ZIP code saw homeowners premiums of $1,602 per policy in 2022, 3% above the typical U.S. ZIP code ($1,551). After adjusting for inflation, that figure rose 12% between 2018 and 2022. The figures come from 580 Iowa ZIP codes in Treasury's data.
Typical premium per policy
Flood insurance
Standard home policies don't cover floods. 6,032 single-family NFIP policies took effect in Iowa in 2025, at an average full cost of $1,132, compared with $934 in 2022. About 64% of those policies are for homes in high-risk A or V zones.
Average flood policy cost
Policies by flood zone, 2025
Natural hazards
Bars count how many of Iowa's 99 counties FEMA rates relatively high or very high for each hazard. The most widespread are drought, strong wind and hail. Open any county for its full hazard profile.
Hazards across Iowa's counties
Iowa counties
All 99 counties: typical premium (2022), average flood policy (2025) and FEMA's overall risk rating.
Typical home premium by county, 2022
| County | Premium | Flood | FEMA rating |
|---|---|---|---|
| Adair County | $1,731 | — | Relatively Low |
| Adams County | $1,691 | — | Very Low |
| Allamakee County | $1,387 | $1,605 | Very Low |
| Appanoose County | $1,700 | — | Very Low |
| Audubon County | $1,673 | — | Very Low |
| Benton County | $1,559 | $1,127 | Very Low |
| Black Hawk County | $1,522 | $1,043 | Relatively Low |
| Boone County | $1,681 | $1,207 | Very Low |
| Bremer County | $1,633 | $1,200 | Very Low |
| Buchanan County | $1,608 | $1,521 | Very Low |
| Buena Vista County | $1,835 | — | Very Low |
| Butler County | $1,600 | $1,187 | Very Low |
| Calhoun County | $1,788 | — | Relatively Low |
| Carroll County | $1,687 | $1,040 | Relatively Low |
| Cass County | $1,569 | $1,123 | Relatively Low |
| Cedar County | $1,454 | $1,623 | Very Low |
| Cerro Gordo County | $1,654 | $1,272 | Relatively Low |
| Cherokee County | $1,608 | $1,260 | Very Low |
| Chickasaw County | $1,517 | $1,413 | Very Low |
| Clarke County | $1,636 | — | Very Low |
| Clay County | $1,632 | $1,240 | Very Low |
| Clayton County | $1,430 | $1,472 | Very Low |
| Clinton County | $1,493 | $1,051 | Relatively Low |
| Crawford County | $1,665 | — | Relatively Low |
| Dallas County | $1,766 | $866 | Relatively Low |
| Davis County | $1,619 | — | Relatively Low |
| Decatur County | $1,658 | — | Very Low |
| Delaware County | $1,479 | $1,600 | Relatively Low |
| Des Moines County | $1,489 | $1,078 | Relatively Low |
| Dickinson County | $1,855 | $1,657 | Very Low |
| Dubuque County | $1,446 | $1,393 | Relatively Low |
| Emmet County | $1,566 | — | Very Low |
| Fayette County | $1,483 | $1,221 | Relatively Low |
| Floyd County | $1,585 | $1,516 | Relatively Low |
| Franklin County | $1,600 | — | Very Low |
| Fremont County | $1,825 | $1,125 | Very Low |
| Greene County | $1,678 | — | Very Low |
| Grundy County | $1,670 | — | Very Low |
| Guthrie County | $1,772 | $1,331 | Very Low |
| Hamilton County | $1,682 | — | Relatively Low |
| Hancock County | $1,660 | — | Very Low |
| Hardin County | $1,678 | $1,473 | Relatively Low |
| Harrison County | $1,934 | $830 | Very Low |
| Henry County | $1,541 | — | Very Low |
| Howard County | $1,508 | $848 | Very Low |
| Humboldt County | $1,565 | $1,280 | Very Low |
| Ida County | $1,660 | — | Very Low |
| Iowa County | $1,625 | $648 | Very Low |
| Jackson County | $1,551 | $1,432 | Very Low |
| Jasper County | $1,649 | $1,014 | Relatively Low |
| Jefferson County | $1,595 | — | Very Low |
| Johnson County | $1,526 | $1,226 | Relatively Moderate |
| Jones County | $1,517 | $1,518 | Very Low |
| Keokuk County | $1,553 | — | Very Low |
| Kossuth County | $1,549 | — | Very Low |
| Lee County | $1,537 | $1,124 | Relatively Low |
| Linn County | $1,598 | $1,050 | Relatively Moderate |
| Louisa County | $1,498 | $1,093 | Very Low |
| Lucas County | $1,579 | — | Very Low |
| Lyon County | $1,526 | $1,551 | Very Low |
| Madison County | $1,827 | — | Very Low |
| Mahaska County | $1,575 | $1,538 | Very Low |
| Marion County | $1,531 | — | Very Low |
| Marshall County | $1,642 | $960 | Relatively Low |
| Mills County | $2,121 | $1,126 | Very Low |
| Mitchell County | $1,666 | $1,949 | Very Low |
| Monona County | $1,850 | $1,072 | Very Low |
| Monroe County | $1,564 | — | Very Low |
| Montgomery County | $1,777 | $870 | Very Low |
| Muscatine County | $1,540 | $1,275 | Relatively Low |
| O'Brien County | $1,596 | — | Very Low |
| Osceola County | $1,496 | — | Very Low |
| Page County | $1,747 | — | Very Low |
| Palo Alto County | $1,549 | — | Very Low |
| Plymouth County | $1,669 | $922 | Relatively Low |
| Pocahontas County | $1,487 | — | Very Low |
| Polk County | $1,579 | $893 | Relatively Moderate |
| Pottawattamie County | $1,902 | $884 | Relatively Low |
| Poweshiek County | $1,576 | — | Very Low |
| Ringgold County | $2,006 | — | Very Low |
| Sac County | $1,623 | — | Very Low |
| Scott County | $1,568 | $1,443 | Relatively Moderate |
| Shelby County | $1,833 | — | Very Low |
| Sioux County | $1,510 | $1,552 | Relatively Low |
| Story County | $1,631 | $1,036 | Relatively Low |
| Tama County | $1,613 | $980 | Relatively Low |
| Taylor County | $1,617 | — | Very Low |
| Union County | $1,903 | $1,126 | Relatively Low |
| Van Buren County | $1,577 | $1,471 | Very Low |
| Wapello County | $1,562 | $1,251 | Relatively Low |
| Warren County | $1,600 | $838 | Very Low |
| Washington County | $1,602 | $1,114 | Relatively Low |
| Wayne County | $1,659 | — | Very Low |
| Webster County | $1,635 | $1,402 | Relatively Low |
| Winnebago County | $1,685 | — | Very Low |
| Winneshiek County | $1,597 | $1,312 | Very Low |
| Woodbury County | $1,722 | $1,280 | Relatively Moderate |
| Worth County | $1,592 | — | Very Low |
| Wright County | $1,589 | $1,102 | Very Low |
ZIP codes with the most flood policies
Practical next steps
Simple things Iowa homeowners can do with this information.
Historical averages, not a quote. Homeowners figures are inflation-adjusted averages from the U.S. Treasury Federal Insurance Office "Supporting Underlying Metrics" (2018–2022, published January 2025). They cover HO-3/HO-5 policies from participating private insurers and exclude state residual-market plans (such as FAIR plans and Citizens), surplus-lines and flood coverage. Treasury notes that individual ZIP codes can contain data anomalies. Your price depends on your home, coverage and insurer.
Sources: U.S. Treasury FIO; FEMA OpenFEMA NFIP Redacted Policies v3 (data as of Sep 8, 2026); FEMA National Risk Index (December 2025); U.S. Census Bureau ZCTA-to-county relationship file (2020) and county adjacency file; GeoNames place names. How we calculate these numbers.
This product uses the FEMA OpenFEMA API and National Risk Index data, but is not endorsed by FEMA. The Federal Government or FEMA cannot vouch for the data or analyses derived from these data after the data have been retrieved from the Agency's website(s). SafeHomeFacts is independent and not affiliated with the U.S. Treasury, FEMA or any insurer.