Last frost dates in Iowa
150 NOAA weather stations in Iowa have thirty years of frost records. The median station sees its last 32 °F night around Apr 28; across the state that ranges from Apr 10 to May 8, so pick the station nearest you rather than a state-wide figure.
| KEOKUK LOCK DAM 19 | Apr 10 | Apr 26 | Mar 30 | Oct 27 | 198 |
| FT MADISON | Apr 12 | Apr 26 | Apr 1 | Oct 25 | 194 |
| BURLINGTON MUNI AP | Apr 15 | May 1 | Apr 2 | Oct 20 | 187 |
| BLOOMFIELD | Apr 16 | Apr 30 | Apr 1 | Oct 22 | 188 |
| LAMONI | Apr 16 | May 2 | Apr 2 | Oct 20 | 187 |
| LAMONI MUNI AP | Apr 16 | May 2 | Apr 2 | Oct 21 | 186 |
| LE CLAIRE L&D 14 | Apr 16 | Apr 30 | Apr 2 | Oct 25 | 190 |
| DONNELLSON | Apr 17 | May 1 | Apr 4 | Oct 22 | 187 |
| LAMONI | Apr 17 | May 1 | Apr 4 | Oct 21 | 184 |
| BURLINGTON 2S | Apr 18 | May 3 | Apr 3 | Oct 20 | 185 |
| DES MOINES INTL AP | Apr 18 | May 2 | Apr 4 | Oct 20 | 184 |
| MUSCATINE 2N | Apr 18 | May 2 | Apr 4 | Oct 22 | 184 |
| RATHBUN DAM | Apr 18 | May 2 | Apr 4 | Oct 23 | 187 |
| DES MOINES WSFO-JOHNSTON | Apr 19 | May 3 | Apr 5 | Oct 18 | 179 |
| DUBUQUE L&D 11 | Apr 19 | May 4 | Apr 4 | Oct 21 | 184 |
| SIDNEY 1SSE | Apr 19 | May 2 | Apr 5 | Oct 19 | 182 |
| KNOXVILLE | Apr 20 | May 4 | Apr 6 | Oct 19 | 180 |
| SHENANDOAH | Apr 20 | May 3 | Apr 5 | Oct 17 | 179 |
| ALLERTON | Apr 21 | May 6 | Apr 7 | Oct 19 | 178 |
| DAVENPORT WFO | Apr 21 | May 7 | Apr 7 | Oct 17 | 176 |
| DES MOINES 17 E | Apr 21 | May 5 | Apr 7 | Oct 15 | 174 |
| GUTTENBERG L&D 10 | Apr 21 | May 6 | Apr 7 | Oct 18 | 178 |
| IOWA CITY MUNI AP | Apr 21 | May 6 | Apr 5 | Oct 18 | 180 |
| OSKALOOSA | Apr 21 | May 4 | Apr 8 | Oct 16 | 176 |
| TIPTON | Apr 21 | May 4 | Apr 8 | Oct 15 | 175 |
| CLINTON #1 | Apr 22 | May 8 | Apr 9 | Oct 16 | 175 |
| NEWTON | Apr 22 | May 4 | Apr 8 | Oct 17 | 174 |
| AMES 8 WSW | Apr 23 | May 5 | Apr 7 | Oct 14 | 173 |
| ANKENY | Apr 23 | May 6 | Apr 8 | Oct 15 | 173 |
| BEACONSFIELD | Apr 23 | May 6 | Apr 7 | Oct 17 | 176 |
| DAVENPORT | Apr 23 | May 8 | Apr 8 | Oct 15 | 174 |
| GLENWOOD 3SW | Apr 23 | May 6 | Apr 9 | Oct 11 | 170 |
| OAKLAND | Apr 23 | May 5 | Apr 10 | Oct 14 | 174 |
| OTTUMWA INDUSTRIAL AP | Apr 23 | May 7 | Apr 9 | Oct 14 | 172 |
| ALBIA 3 NNE | Apr 24 | May 9 | Apr 8 | Oct 16 | 173 |
| BEDFORD | Apr 24 | May 6 | Apr 9 | Oct 15 | 173 |
| COLO | Apr 24 | May 7 | Apr 9 | Oct 12 | 170 |
| INDIANOLA 2W | Apr 24 | May 8 | Apr 11 | Oct 12 | 168 |
| MUSCATINE | Apr 24 | May 9 | Apr 9 | Oct 14 | 172 |
| RED OAK | Apr 24 | May 8 | Apr 10 | Oct 13 | 169 |
| SIGOURNEY | Apr 24 | May 9 | Apr 9 | Oct 15 | 172 |
| BELLEVUE L&D 12 | Apr 25 | May 11 | Apr 10 | Oct 16 | 172 |
| CASTANA EXP FARM | Apr 25 | May 7 | Apr 11 | Oct 12 | 170 |
| CLARINDA | Apr 25 | May 7 | Apr 11 | Oct 11 | 168 |
| GREENFIELD | Apr 25 | May 7 | Apr 12 | Oct 12 | 170 |
| MAQUOKETA | Apr 25 | May 9 | Apr 11 | Oct 14 | 171 |
| MT AYR | Apr 25 | May 9 | Apr 10 | Oct 12 | 169 |
| PERRY | Apr 25 | May 8 | Apr 12 | Oct 10 | 166 |
| STORM LAKE | Apr 25 | May 7 | Apr 11 | Oct 13 | 170 |
| AMES 5 SE | Apr 26 | May 8 | Apr 11 | Oct 12 | 168 |
| AMES MUNI AP | Apr 26 | May 9 | Apr 11 | Oct 8 | 164 |
| COLUMBUS JUNCTION | Apr 26 | May 11 | Apr 11 | Oct 10 | 167 |
| DAKOTA CITY | Apr 26 | May 7 | Apr 11 | Oct 12 | 169 |
| JEFFERSON | Apr 26 | May 8 | Apr 12 | Oct 9 | 164 |
| KEOSAUQUA | Apr 26 | May 11 | Apr 10 | Oct 13 | 169 |
| POCAHONTAS | Apr 26 | May 8 | Apr 11 | Oct 7 | 164 |
| ROCKWELL CITY | Apr 26 | May 6 | Apr 11 | Oct 10 | 167 |
| ALLISON | Apr 27 | May 8 | Apr 12 | Oct 8 | 165 |
| ANAMOSA 3 SSW | Apr 27 | May 10 | Apr 12 | Oct 13 | 170 |
| CARROLL | Apr 27 | May 8 | Apr 14 | Oct 10 | 166 |
| CEDAR RAPIDS MUNI AP | Apr 27 | May 11 | Apr 13 | Oct 11 | 165 |
| CORNING | Apr 27 | May 11 | Apr 13 | Oct 12 | 168 |
| DENISON | Apr 27 | May 9 | Apr 13 | Oct 11 | 166 |
| ELDORA | Apr 27 | May 8 | Apr 13 | Oct 10 | 165 |
| EMMETSBURG | Apr 27 | May 9 | Apr 11 | Oct 7 | 164 |
| FAIRFIELD | Apr 27 | May 14 | Apr 13 | Oct 12 | 168 |
| HARLAN | Apr 27 | May 9 | Apr 12 | Oct 9 | 165 |
| HUMBOLDT WTP | Apr 27 | May 7 | Apr 15 | Oct 9 | 166 |
| IDA GROVE 5NW | Apr 27 | May 11 | Apr 12 | Oct 12 | 167 |
| LOWDEN | Apr 27 | May 13 | Apr 11 | Oct 10 | 165 |
| OELWEIN 1E | Apr 27 | May 10 | Apr 12 | Oct 13 | 169 |
| WATERLOO MUNI AP | Apr 27 | May 10 | Apr 11 | Oct 10 | 165 |
| BELLE PLAINE | Apr 28 | May 11 | Apr 14 | Oct 10 | 165 |
| BOONE | Apr 28 | May 11 | Apr 13 | Oct 12 | 165 |
| CASCADE | Apr 28 | May 12 | Apr 12 | Oct 10 | 164 |
| CEDAR RAPIDS #1 | Apr 28 | May 13 | Apr 14 | Oct 12 | 166 |
| CENTERVILLE | Apr 28 | May 11 | Apr 13 | Oct 14 | 168 |
| CRESTON 2 SW | Apr 28 | May 9 | Apr 14 | Oct 11 | 164 |
| DUBUQUE RGNL AP | Apr 28 | May 12 | Apr 13 | Oct 11 | 165 |
| FT DODGE 5NNW | Apr 28 | May 9 | Apr 13 | Oct 8 | 162 |
| IOWA FALLS | Apr 28 | May 11 | Apr 13 | Oct 10 | 164 |
| MARSHALLTOWN | Apr 28 | May 11 | Apr 13 | Oct 7 | 162 |
| SPIRIT LAKE | Apr 28 | May 9 | Apr 14 | Oct 11 | 164 |
| WASHINGTON | Apr 28 | May 11 | Apr 13 | Oct 11 | 165 |
| WILLIAMSBURG 1E | Apr 28 | May 12 | Apr 14 | Oct 9 | 164 |
| BRITT 3E | Apr 29 | May 10 | Apr 14 | Oct 7 | 161 |
| GRUNDY CTR | Apr 29 | May 12 | Apr 15 | Oct 9 | 160 |
| HAMPTON | Apr 29 | May 10 | Apr 15 | Oct 9 | 162 |
| IOWA CITY | Apr 29 | May 14 | Apr 14 | Oct 9 | 162 |
| LOGAN | Apr 29 | May 13 | Apr 15 | Oct 8 | 162 |
| MASON CITY | Apr 29 | May 9 | Apr 14 | Oct 7 | 161 |
| OSCEOLA | Apr 29 | May 11 | Apr 13 | Oct 9 | 162 |
| PRIMGHAR | Apr 29 | May 11 | Apr 13 | Oct 10 | 163 |
| SIOUX CITY ANG | Apr 29 | May 11 | Apr 15 | Oct 7 | 161 |
| SIOUX CITY GATEWAY AP | Apr 29 | May 14 | Apr 16 | Oct 5 | 159 |
| TRIPOLI | Apr 29 | May 9 | Apr 14 | Oct 9 | 162 |
| ALGONA | Apr 30 | May 11 | Apr 16 | Oct 6 | 160 |
| ATLANTIC 1 NE | Apr 30 | May 15 | Apr 17 | Oct 2 | 153 |
| CHARLES CITY | Apr 30 | May 14 | Apr 15 | Oct 6 | 157 |
| CLARION | Apr 30 | May 12 | Apr 17 | Oct 10 | 162 |
| FOREST CITY 2 NNE | Apr 30 | May 10 | Apr 14 | Oct 7 | 159 |
| HOLSTEIN | Apr 30 | May 11 | Apr 15 | Oct 9 | 162 |
| INDEPENDENCE #1 | Apr 30 | May 12 | Apr 16 | Oct 7 | 159 |
| LAKE PARK | Apr 30 | May 11 | Apr 12 | Oct 10 | 164 |
| LE MARS | Apr 30 | May 12 | Apr 17 | Oct 4 | 157 |
| LEON 6 ESE | Apr 30 | May 15 | Apr 16 | Oct 8 | 161 |
| MARSHALLTOWN MUNI AP | Apr 30 | May 12 | Apr 15 | Oct 6 | 159 |
| MT PLEASANT 1 SSW | Apr 30 | May 14 | Apr 13 | Oct 10 | 163 |
| OELWEIN 2 S | Apr 30 | May 13 | Apr 14 | Oct 9 | 163 |
| OSAGE | Apr 30 | May 12 | Apr 14 | Oct 9 | 163 |
| SAC CITY | Apr 30 | May 11 | Apr 15 | Oct 6 | 158 |
| SIOUX CTR 2 SE | Apr 30 | May 12 | Apr 17 | Oct 3 | 154 |
| SIOUX RAPIDS 4 E | Apr 30 | May 11 | Apr 14 | Oct 5 | 159 |
| TOLEDO 3N | Apr 30 | May 11 | Apr 15 | Oct 9 | 162 |
| WINTERSET 1S | Apr 30 | May 11 | Apr 17 | Oct 3 | 157 |
| ANAMOSA 1 WNW | May 1 | May 18 | Apr 18 | Oct 4 | 154 |
| BATTLE CREEK 3NE | May 1 | May 15 | Apr 18 | Oct 1 | 153 |
| HAWARDEN | May 1 | May 14 | Apr 17 | Oct 4 | 155 |
| LITTLE SIOUX 2 NW | May 1 | May 12 | Apr 17 | Oct 3 | 155 |
| MILFORD 4 NW | May 1 | May 14 | Apr 17 | Oct 6 | 158 |
| ONAWA 3NW | May 1 | May 13 | Apr 19 | Oct 3 | 154 |
| POSTVILLE | May 1 | May 14 | Apr 18 | Oct 3 | 153 |
| ROCK RAPIDS | May 1 | May 13 | Apr 18 | Oct 4 | 156 |
| SANBORN | May 1 | May 13 | Apr 16 | Oct 7 | 160 |
| SPENCER 1 N | May 1 | May 14 | Apr 18 | Oct 3 | 154 |
| AUDUBON | May 2 | May 15 | Apr 19 | Oct 3 | 154 |
| ESTHERVILLE 4E | May 2 | May 14 | Apr 18 | Oct 3 | 153 |
| ESTHERVILLE MUNI AP | May 2 | May 14 | Apr 19 | Sep 30 | 150 |
| GUTHRIE CTR | May 2 | May 17 | Apr 18 | Oct 3 | 153 |
| NEW HAMPTON | May 2 | May 14 | Apr 17 | Oct 5 | 155 |
| SPENCER MUNI AP | May 2 | May 15 | Apr 17 | Oct 2 | 154 |
| WAUKON | May 2 | May 16 | Apr 17 | Oct 11 | 161 |
| COGGON | May 3 | May 17 | Apr 18 | Oct 7 | 156 |
| DECORAH | May 3 | May 16 | Apr 19 | Oct 7 | 157 |
| GRINNELL 3 SW | May 3 | May 17 | Apr 19 | Oct 6 | 155 |
| MANCHESTER #2 | May 3 | May 16 | Apr 18 | Oct 4 | 154 |
| MAPLETON NO.2 | May 3 | May 16 | Apr 21 | Oct 1 | 151 |
| MASON CITY MUNI AP | May 3 | May 15 | Apr 19 | Oct 1 | 150 |
| VINTON | May 3 | May 17 | Apr 21 | Oct 3 | 151 |
| WEBSTER CITY | May 3 | May 16 | Apr 20 | Oct 2 | 150 |
| CHEROKEE | May 4 | May 17 | Apr 20 | Oct 4 | 152 |
| FAYETTE | May 4 | May 17 | Apr 20 | Oct 4 | 151 |
| NORTHWOOD | May 4 | May 16 | Apr 21 | Oct 4 | 152 |
| STANLEY | May 4 | May 15 | Apr 21 | Oct 1 | 150 |
| SWEA CITY 5N | May 4 | May 14 | Apr 21 | Oct 1 | 150 |
| CHARITON 1 E | May 5 | May 19 | Apr 21 | Oct 5 | 151 |
| SHELDON | May 5 | May 18 | Apr 24 | Sep 28 | 145 |
| SIBLEY | May 5 | May 17 | Apr 22 | Oct 3 | 152 |
| CRESCO 1 NE | May 8 | May 21 | Apr 25 | Oct 1 | 147 |
| ELKADER 6 SSW | May 8 | May 22 | Apr 24 | Oct 1 | 146 |
How to read the three dates
Average is the date by which, in half of the years between 1991 and 2020, the last 32 °F night had already happened. Safe is later: only one year in ten saw a frost after it, which is the date to set out frost-tender plants such as dahlia tubers and zinnia seedlings. Early is the risky end, with a frost after it in nine years out of ten.
Every figure is for the weather station, not for your garden. A valley bottom, a north slope or a spot near a lake can run a week or two either way. Cities are warmer than the countryside around them.
Where the numbers come from
The dates are NOAA's U.S. Climate Normals for 1991 to 2020, computed by the National Centers for Environmental Information for every station with thirty years of daily minimum temperatures. ZIP codes are matched to the nearest such station within 150 km using U.S. Census Bureau ZIP Code Tabulation Area centroids. Stations that never see a frost, such as much of south Florida, report no date and are left out.