Keokuk County, Iowa
County storm and disaster record · FIPS 19107 · population 10,033 · 579 sq mi
NOAA's Storm Events Database holds 482 records for Keokuk County, Iowa from 1950 through June 30, 2026, on 387 days; the most frequent are winter storm records (142 records). The deadliest single record is the April 27, 2014 tornado: 2 deaths and 2 injuries. FEMA has issued 19 declarations naming the county since 1965, 17 of them for natural hazards; the latest for a natural hazard was “Severe Storms and Flooding” on March 23, 2019.
The record, 1950 to 2026
Storm records filed for the county each year (2026 to June 30, 2026). Before 1996 NOAA recorded only tornadoes (from 1950), thunderstorm wind and hail (from 1955).
- recorded, no damage figure
- under $100,000
- $100,000 or more
- $1 million or more
- $10 million or more, or a death
- $100 million or more, or 10 deaths
- a year's colour: its recorded damage or deaths
- a year with a death
- 1955: wind and hail recorded from 1955
- 1996: all 48 event types from 1996
- Storm records
- 482on 387 days, 1950 to June 30, 2026
- Deaths recorded
- 345 injuries
- Damage, 2025 dollars
- $137Mas filed (scale steps before 1993)
- Tornadoes
- 31strongest EF4
- FEMA declarations
- 19latest 2020
Source: NOAA NCEI Storm Events Database, records through June 30, 2026 (file revision 20260918); damage converted to 2025 dollars with the BLS CPI-U. Search the record at NCEI. BLS consumer price index.
What hazards hit Keokuk County most?
The most frequent records are winter storm records: 142 since 1996. 58% of its winter storm records since 1996 fell in December and January. The rank column places the county among Iowa's counties by days with a record per 1,000 square miles of land over each hazard's complete period.
| Hazard | Records | Days | First, last | Killed | Injured | Damage | Rank in state |
|---|---|---|---|---|---|---|---|
| Winter storms | 142 | 141 | 1996-2026 | 0 | 0 | $465K | 28 of 99 |
| Severe thunderstorm wind | 138 | 92 | 1960-2026 | 0 | 1 | $1.5M | 54 of 99 |
| Hail | 71 | 51 | 1960-2026 | 0 | 0 | $1.6M | 96 of 99 |
| Floods | 39 | 38 | 1996-2024 | 0 | 0 | $5.4M | 75 of 99 |
| Tornadoes | 31 | 27 | 1959-2024 | 3 | 44 | $89M | 51 of 99 |
| Drought | 18 | 18 | 2003-2013 | 0 | 0 | $38M | 74 of 99 |
| Extreme cold | 18 | 18 | 1996-2019 | 0 | 0 | $499K | 94 of 99 |
| Fog, smoke and funnel clouds | 9 | 8 | 1999-2012 | 0 | 0 | – | 49 of 99 |
| High wind and dust storms | 8 | 8 | 1996-2008 | 0 | 0 | $184K | 99 of 99 |
| Heat | 5 | 5 | 1997-2013 | 0 | 0 | – | 48 of 99 |
| Lightning | 2 | 2 | 2007-2018 | 0 | 0 | $38K | 58 of 99 |
| Heavy rain | 1 | 1 | 2003-2003 | 0 | 0 | $3K | 94 of 99 |
Source: NOAA NCEI Storm Events Database (county and forecast-zone records attributed to the county; a zone record shows its own totals on each county it covers). Days: dates with at least one record of the hazard in the county. Ranks: days with a record per 1,000 square miles of land (Census Bureau 2024 Gazetteer), since 1950 for tornadoes, 1955 for hail and thunderstorm wind, 1996 for the rest.
How many tornadoes has Keokuk County had?
NOAA records 31 tornadoes in Keokuk County from 1959 to 2024, the strongest rated EF4, with 3 deaths and 44 injuries recorded in the county. A tornado that crossed a county line is counted in each county it touched, with the length of its path inside the county.
Counted as whole tornadoes rather than county records, the Storm Prediction Center's database holds 32 tornadoes whose track touched Keokuk County since 1950 (NOAA's county records number 31: they file a crossing tornado once per county segment, and the two databases differ on some tracks); along their whole tracks they killed 2 people, 3 of them in Keokuk County.
| Date | Tornado | Rating | Path | Killed |
|---|---|---|---|---|
| 2014-04-27 14:20, as SPC files it | Hedrick | EF1 | 45.68 mi | 2 |
| 2023-03-31 15:10, as SPC files it | Keota to Wellman | EF4 | 19.9 mi | 0 |
| 2023-03-31 14:36, as SPC files it | Agency to Keota | EF3 | 26.09 mi | 0 |
| 1965-09-20 19:15, as SPC files it | Sigourney | F3 | 1 mi | 0 |
| 1965-04-23 22:00, as SPC files it | Kalona | F3 | 47.4 mi | 0 |
| 1959-05-09 18:15, as SPC files it | Richland | F3 | 6.6 mi | 0 |
Map of the strongest tornado tracks in Iowa.
Every tornado record filed for Keokuk County (31)
| Date | Place | Character | Killed | Injured | Damage |
|---|---|---|---|---|---|
| 2024-05-24 | Delta, Keokuk County | EF1 7.17 mi x 70 yd | 0 | 0 | – |
| 2023-03-31 | Talleyrand, Keokuk County | EF4 7.09 mi x 700 yd | 0 | 3 | – |
| 2023-03-31 | Martinsburg, Keokuk County | EF3 17.38 mi x 1,000 yd | 0 | 0 | – |
| 2018-06-20 | Delta, Keokuk County | EF0 6.32 mi x 50 yd | 0 | 0 | – |
| 2015-11-11 | Delta, Keokuk County | EF1 15.98 mi x 50 yd | 0 | 0 | – |
| 2014-04-27 | Martinsburg, Keokuk County | EF1 29.34 mi x 1,600 yd | 2 | 2 | – |
| 2012-04-14 | Hedrick, Keokuk County | EF1 3 mi x 50 yd | 0 | 0 | – |
| 2008-04-10 | Talleyrand, Keokuk County | EF0 0.01 mi x 25 yd | 0 | 0 | – |
| 2008-04-10 | South English, Keokuk County | EF0 1.83 mi x 100 yd | 0 | 0 | $69K |
| 2007-10-02 | Delta, Keokuk County | EF1 1 mi x 100 yd | 0 | 0 | $107K |
| 2006-06-06 | Keota, Keokuk County | F1 0.2 mi x 175 yd | 0 | 0 | $42K |
| 2002-06-12 | Keota, Keokuk County | F0 0.1 mi x 10 yd | 0 | 0 | – |
| 2002-05-08 | Richland, Keokuk County | F0 0.1 mi x 10 yd | 0 | 0 | $41K |
| 2001-04-11 | Kinross, Keokuk County | F0 3 mi x 50 yd | 0 | 0 | $150K |
| 1992-06-19 | Keokuk County | F0 0.1 mi x 13 yd | 0 | 0 | $3K step |
| 1990-08-19 | Keokuk County | F0 0.1 mi x 20 yd | 0 | 0 | $25K step |
| 1990-06-16 | Keokuk County | F0 0.1 mi x 17 yd | 0 | 0 | $3K step |
| 1988-11-15 | Keokuk County | F0 0.5 mi x 20 yd | 0 | 0 | $25K step |
| 1988-11-15 | Keokuk County | F1 14 mi x 50 yd | 0 | 0 | $250K step |
| 1988-05-08 | Keokuk County | F2 12 mi x 60 yd | 0 | 0 | $250K step |
| 1987-05-17 | Keokuk County | F0 0.2 mi x 20 yd | 0 | 0 | $3K step |
| 1987-04-14 | Keokuk County | F1 2 mi x 10 yd | 0 | 0 | $250K step |
| 1984-06-07 | Keokuk County | F4 29 mi x 250 yd | 1 | 33 | $25M step |
| 1984-06-07 | Keokuk County | F2 10 mi x 200 yd | 0 | 1 | $2.5M step |
| 1983-06-18 | Keokuk County | F1 6.1 mi x 20 yd | 0 | 0 | $25K step |
| 1982-07-06 | Keokuk County | F1 0.5 mi x 20 yd | 0 | 1 | $250K step |
| 1971-05-18 | Keokuk County | F1 | 0 | 0 | $25K step |
| 1966-03-21 | Keokuk County | F1 1 mi x 100 yd | 0 | 0 | $250K step |
| 1965-09-20 | Keokuk County | F3 1 mi x 100 yd | 0 | 4 | $250K step |
| 1960-06-10 | Keokuk County | F0 | 0 | 0 | $25K step |
| 1959-05-09 | Keokuk County | F3 6.6 mi x 200 yd | 0 | 0 | $250K step |
A damage figure marked "step" is a record from before 1993: NOAA then filed damage by category, and the figure is the category as entered, in the dollars of that year, not an estimate of the loss.
Source: NOAA NCEI Storm Events Database, tornado records by county (path length in the county, maximum width); ratings as published: F scale before February 1, 2007, EF scale after. Whole-track figures: NOAA Storm Prediction Center tornado database (1950-2025). SPC severe weather database.
When was the last damaging storm in Keokuk County?
The most recent record with damage, injuries or deaths is the March 31, 2023 tornado (3 injuries).
Another large, violent tornado developed in eastern Keokuk County as the initial tornado was weakening southwest of Keota. The tornado tracked to the northeast, on the western fringe of Keota, and crossed into Washington County near the intersection of Keokuk-Washington Road and 180th St. The tornado then continued through northwest Washington county, extreme southeast Iowa County, and into far southwest Johnson County. The tornado severely damaged several homes near Keota, wiping one house completely off its foundation, resulting in EF-4 level damage. A car was lofted in the air and tossed about 1000 feet into a nearby field and trees were completely debarked with only stubs of the largest branches remaining. As the tornado tracked west of Wellman, Iowa it knocked over a 325 ft cell phone tower. The tornado began to dissipate as it tracked into far southwest Johnson County. …
National Weather Service event narrative, NOAA Storm Events Database (search the full record, event 1087061)
| Date | Record | Character | Killed | Injured | Damage |
|---|---|---|---|---|---|
| 2026-06-11 | Thunderstorm WindSigourney, Keokuk County | 56 kt wind | 0 | 0 | – |
| 2026-04-02 | HailOllie, Keokuk County | 1.25 in hail | 0 | 0 | – |
| 2026-04-02 | HailMartinsburg, Keokuk County | 3.00 in hail | 0 | 0 | – |
| 2026-04-02 | HailMartinsburg, Keokuk County | 2.00 in hail | 0 | 0 | – |
| 2026-03-15 | BlizzardKeokuk County · forecast zone Keokuk | 0 | 0 | – | |
| 2025-11-28 | Winter StormKeokuk County · forecast zone Keokuk | 0 | 0 | – | |
| 2025-07-29 | Thunderstorm WindSigourney, Keokuk County | 61 kt wind | 0 | 0 | – |
| 2025-02-11 | Winter StormKeokuk County · forecast zone Keokuk | 0 | 0 | – | |
| 2024-07-30 | Thunderstorm WindSigourney, Keokuk County | 65 kt wind | 0 | 0 | – |
| 2024-07-02 | Thunderstorm WindNorth English, Keokuk County | 70 kt wind | 0 | 0 | – |
| 2024-07-02 | Thunderstorm WindKeswick, Keokuk County | 70 kt wind | 0 | 0 | – |
| 2024-05-24 | TornadoDelta, Keokuk County | EF1 7.17 mi x 70 yd | 0 | 0 | – |
Source: NOAA NCEI Storm Events Database; every record of 2025-2026 is listed, earlier ones when they caused deaths, injuries or $250,000 of damage (2025 dollars), and every tornado.
The deadliest and costliest records
| Date | Record | Character | Killed | Injured | Damage |
|---|---|---|---|---|---|
| 2014-04-27 | TornadoMartinsburg, Keokuk County NWS storm survey teams determined that a tornado developed in far northern Wapello County, crossed Keokuk County and southeastern Iowa County, and ended in rural southwest Johnson County. This entry is for the portion of the tornado that affected Keokuk County. This long track tornado started east of Highland Center ... | EF1 29.34 mi x 1,600 yd | 2 | 2 | – |
| 1984-06-07 | TornadoKeokuk County | F4 29 mi x 250 yd | 1 | 33 | $25M step |
| 1965-09-20 | TornadoKeokuk County | F3 1 mi x 100 yd | 0 | 4 | $250K step |
| 2023-03-31 | TornadoTalleyrand, Keokuk County Another large, violent tornado developed in eastern Keokuk County as the initial tornado was weakening southwest of Keota. The tornado tracked to the northeast, on the western fringe of Keota, and crossed into Washington County near the intersection of Keokuk-Washington Road and 180th St. The tornado then continued ... | EF4 7.09 mi x 700 yd | 0 | 3 | – |
| 2014-04-27 | Thunderstorm WindMartinsburg, Keokuk County The Emergency Manager reported that a barn was blown down. Time of the event was estimated by radar. | 78 kt wind | 0 | 1 | – |
| 1984-06-07 | TornadoKeokuk County | F2 10 mi x 200 yd | 0 | 1 | $2.5M step |
| 1982-07-06 | TornadoKeokuk County | F1 0.5 mi x 20 yd | 0 | 1 | $250K step |
A damage figure marked "step" is a record from before 1993: NOAA then filed damage by category, and the figure is the category as entered, in the dollars of that year, not an estimate of the loss.
| Date | Record | Character | Killed | Injured | Damage |
|---|---|---|---|---|---|
| 2005-07-01 | DroughtKeokuk County · forecast zone Keokuk | 0 | 0 | $10M | |
| 2005-08-01 | DroughtKeokuk County · forecast zone Keokuk | 0 | 0 | $3.9M | |
| 2008-06-01 | FloodDelta, Keokuk County | 0 | 0 | $781K | |
| 2009-08-27 | FloodCoal Creek, Keokuk County | 0 | 0 | $688K | |
| 2010-06-12 | FloodCoal Creek, Keokuk County | 0 | 0 | $677K | |
| 2010-08-10 | FloodCoal Creek, Keokuk County | 0 | 0 | $677K | |
| 1995-07-04 | Thunderstorm WindWhat Cheer, Keokuk County | 0 | 0 | $504K | |
| 2005-05-03 | Frost/FreezeKeokuk County · forecast zone Keokuk | 0 | 0 | $499K |
Before 1993 NOAA filed damage by category, not amount, so the list above starts in 1993. The highest category filed here before then (entered as $25M, in the dollars of the day) holds: June 7, 1984 (tornado, Keokuk County, 1 killed).
Source: NOAA NCEI Storm Events Database: deaths and injuries direct and indirect; damage is property plus crops as estimated by the National Weather Service, converted to 2025 dollars.
Is it getting more frequent?
Records per decade for Keokuk County's most frequent hazards. Counts rose everywhere after 1996, when NOAA began recording every event type, so compare decades within a hazard's complete period only (the shaded cells come before it).
| Hazard | 1950s | 1960s | 1970s | 1980s | 1990s | 2000s | 2010s | 2020-26 |
|---|---|---|---|---|---|---|---|---|
| Winter storms | – | – | – | – | 19 | 66 | 40 | 17 |
| Severe thunderstorm wind | 0 | 6 | 9 | 8 | 23 | 27 | 42 | 23 |
| Hail | 0 | 3 | 0 | 6 | 5 | 14 | 26 | 17 |
| Floods | – | – | – | – | 4 | 13 | 21 | 1 |
| Tornadoes | 1 | 3 | 1 | 9 | 3 | 7 | 4 | 3 |
| Drought | – | – | – | – | 0 | 10 | 8 | 0 |
Source: NOAA NCEI Storm Events Database, records per calendar decade; zone records from the CZ_TYPE field (Z).
What time of year?
58% of its winter storm records since 1996 fell in December and January. The two busiest months are in violet.
The values, month by month
Jan 50 · Feb 43 · Mar 31 · Apr 50 · May 57 · Jun 69 · Jul 50 · Aug 45 · Sep 11 · Oct 14 · Nov 14 · Dec 48 (records).
Source: NOAA NCEI Storm Events Database, records by the month they began.
Federal disaster declarations for Keokuk County
FEMA's register lists 19 declarations that include Keokuk County: 17 major disasters, 2 emergencies and 0 fire management assistance declarations. Most were for flood (8) and severe storm (7).
| Declared | Number | Type | Title |
|---|---|---|---|
| 2020-03-23 | DR-4483 | Biological | Covid-19 Pandemic |
| 2020-03-13 | EM-3480 | Biological | Covid-19 |
| 2019-03-23 | DR-4421 | Flood | Severe Storms and Flooding |
| 2014-08-05 | DR-4187 | Severe Storm | Severe Storms, Tornadoes, Straight-Line Winds, and Flooding |
| 2013-07-02 | DR-4126 | Severe Storm | Severe Storms, Tornadoes, and Flooding |
| 2013-05-31 | DR-4119 | Flood | Severe Storms, Straight-Line Winds, and Flooding |
| 2010-07-29 | DR-1930 | Severe Storm | Severe Storms, Flooding, and Tornadoes |
| 2008-05-27 | DR-1763 | Severe Storm | Severe Storms, Tornadoes, and Flooding |
| 2008-01-04 | DR-1737 | Severe Ice Storm | Severe Winter Storm |
| 2007-03-14 | DR-1688 | Severe Storm | Severe Winter Storms |
| 2005-09-10 | EM-3239 | Hurricane | Hurricane Katrina Evacuation |
| 1998-07-02 | DR-1230 | Flood | Severe Storms, Tornadoes and Flooding |
| 1996-06-24 | DR-1121 | Severe Storm | Severe Storms and Flooding |
| 1993-07-09 | DR-996 | Flood | Severe Storms & Flooding |
| 1990-05-26 | DR-868 | Flood | Severe Storms & Flooding |
| 1984-06-27 | DR-715 | Severe Storm | Severe Storms, Tornadoes, Hail & Floods |
| 1974-06-24 | DR-443 | Flood | Severe Storms & Flooding |
| 1973-05-23 | DR-386 | Flood | Severe Storms & Flooding |
| 1965-04-22 | DR-193 | Flood | Flooding |
Source: FEMA OpenFEMA Disaster Declarations Summaries (v2), declarations through October 2, 2026; one declaration is counted once however many areas it names. OpenFEMA dataset page.
How many floods has Keokuk County had?
NOAA's Storm Events Database holds 39 flood or flash flood records for Keokuk County from 1996 to 2024, on 38 days, with 0 deaths. By flood insurance claims since 1978 (OpenFEMA, as of September 8, 2026), Keokuk County ranks 2685th of 2,942 U.S. counties.
The National Flood Insurance Program has paid $32,000 on 3 claims filed in Keokuk County; the most in one year was 1 in 1990. Claims count insured losses only: uninsured flood damage is not in this file.
The values, year by year
1990: 1 · 1996: 1 · 2001: 1; the other years: 0.
Source: FEMA OpenFEMA NFIP Redacted Claims, as of September 8, 2026; claims by year of loss, payments in the dollars of the year paid. OpenFEMA dataset page.
FEMA's modeled risk for Keokuk County
FEMA's National Risk Index rates Keokuk County Very Low overall, with an expected annual loss of $8.9 million. These are FEMA's model estimates of future loss from 18 hazards, not a count of what happened; they can differ from the record above.
| Hazard | Risk rating | Expected annual loss | Modeled frequency |
|---|---|---|---|
| Drought | Relatively Moderate | $1.1M | 7.4 modeled event-days a year |
| Strong Wind | Relatively Moderate | $1.0M | 5.6 a year (modeled) |
| Hail | Relatively Low | $599K | 4.4 a year (modeled) |
| Heat Wave | Relatively Low | $478K | 8.2 modeled event-days a year |
| Tornado | Relatively Low | $1.1M | once in about 2 years (modeled) |
| Winter Weather | Relatively Low | $35K | 13 a year (modeled) |
| Lightning | Relatively Low | $117K | 45 a year (modeled) |
| Ice Storm | Relatively Low | $31K | once in about 2 years (modeled) |
Source: FEMA National Risk Index, county table, December 2025 release. FEMA's National Risk Index map.
Counties that share a border with Keokuk County
Source: U.S. Census Bureau county adjacency file; NOAA NCEI Storm Events Database, records since 1950. The Census Bureau's adjacency file.
Next
- Tornadoes in IowaEvery Iowa tornado since 1950 and the counties with the most per square mile
- Winter storms in IowaThe state's winter storm records, by county, year and month
- The Iowa recordEvery hazard in the state, its deadliest events and its federal declarations
- FEMA's risk rating for each hazard in Keokuk CountyThe hazard risk calculator: 18 hazards beside the county's record
- Download Keokuk County's FEMA declarations (CSV)19 rows: every declaration that named the county, for your own analysis