Iowa Frost Dates: Last and First Frost by Town
Across Iowa's 150 NOAA stations with regular frost, the median last spring frost is April 28 and the median first fall frost is October 10. Last frost dates range from April 10 at Keokuk Lock Dam 19 to May 8 at Elkader 6 SSW, so enter your ZIP code below for the station nearest you.
How frost dates vary across Iowa
- North vs south: stations in the northern third of the state (north of 42.5°N) reach their median last frost about 7 days later than the southern third (south of 41.6°N).
- Safety margin: the median 10%-risk date (May 11) is about 13 days after the median last frost. Waiting until then cuts the chance of a killing frost on tender transplants from 1 in 2 to 1 in 10.
Frost dates at Iowa's major weather stations
These National Weather Service stations, mostly at airports, have the longest and most complete records in the state.
| Ames Municipal Airport | 930 | Apr 26 | May 9 | Oct 8 | 164 |
| Burlington Municipal Airport | 692 | Apr 15 | May 1 | Oct 20 | 187 |
| Cedar Rapids Municipal Airport | 868 | Apr 27 | May 11 | Oct 11 | 165 |
| Davenport | 754 | Apr 23 | May 8 | Oct 15 | 174 |
| Des Moines 17 E | 921 | Apr 21 | May 5 | Oct 15 | 174 |
| Des Moines Intl Airport | 957 | Apr 18 | May 2 | Oct 20 | 184 |
| Dubuque Regional Airport | 1,056 | Apr 28 | May 12 | Oct 11 | 165 |
| Estherville Municipal Airport | 1,317 | May 2 | May 14 | Sep 30 | 150 |
| Iowa City Municipal Airport | 650 | Apr 21 | May 6 | Oct 18 | 180 |
| Lamoni | 1,168 | Apr 16 | May 2 | Oct 20 | 187 |
| Lamoni Municipal Airport | 1,131 | Apr 16 | May 2 | Oct 21 | 186 |
| Marshalltown Municipal Airport | 974 | Apr 30 | May 12 | Oct 6 | 159 |
| Mason City Municipal Airport | 1,225 | May 3 | May 15 | Oct 1 | 150 |
| Ottumwa Industrial Airport | 842 | Apr 23 | May 7 | Oct 14 | 172 |
| Sioux City Gateway Airport | 1,095 | Apr 29 | May 14 | Oct 5 | 159 |
| Spencer Municipal Airport | 1,338 | May 2 | May 15 | Oct 2 | 154 |
| Waterloo Municipal Airport | 868 | Apr 27 | May 10 | Oct 10 | 165 |
All 150 stations in Iowa
Last frost and first frost are medians: a 50% chance of a 32°F night after (spring) or before (fall) that date. 10% risk is the spring date with only a 1-in-10 chance of a later frost. Click a column to sort.
| Albia 3 NNE | 880 | Apr 24 | May 9 | Oct 16 | 173 |
| Algona | 1,214 | Apr 30 | May 11 | Oct 6 | 160 |
| Allerton | 1,090 | Apr 21 | May 6 | Oct 19 | 178 |
| Allison | 1,038 | Apr 27 | May 8 | Oct 8 | 165 |
| Ames 5 SE | 870 | Apr 26 | May 8 | Oct 12 | 168 |
| Ames 8 WSW | 1,099 | Apr 23 | May 5 | Oct 14 | 173 |
| Ames Municipal Airport | 930 | Apr 26 | May 9 | Oct 8 | 164 |
| Anamosa 1 WNW | 805 | May 1 | May 18 | Oct 4 | 154 |
| Anamosa 3 SSW | 906 | Apr 27 | May 10 | Oct 13 | 170 |
| Ankeny | 975 | Apr 23 | May 6 | Oct 15 | 173 |
| Atlantic 1 NE | 1,152 | Apr 30 | May 15 | Oct 2 | 153 |
| Audubon | 1,280 | May 2 | May 15 | Oct 3 | 154 |
| Battle Creek 3NE | 1,380 | May 1 | May 15 | Oct 1 | 153 |
| Beaconsfield | 1,215 | Apr 23 | May 6 | Oct 17 | 176 |
| Bedford | 1,190 | Apr 24 | May 6 | Oct 15 | 173 |
| Belle Plaine | 810 | Apr 28 | May 11 | Oct 10 | 165 |
| Bellevue L&d 12 | 603 | Apr 25 | May 11 | Oct 16 | 172 |
| Bloomfield | 858 | Apr 16 | Apr 30 | Oct 22 | 188 |
| Boone | 1,035 | Apr 28 | May 11 | Oct 12 | 165 |
| Britt 3E | 1,220 | Apr 29 | May 10 | Oct 7 | 161 |
| Burlington 2S | 690 | Apr 18 | May 3 | Oct 20 | 185 |
| Burlington Municipal Airport | 692 | Apr 15 | May 1 | Oct 20 | 187 |
| Carroll | 1,240 | Apr 27 | May 8 | Oct 10 | 166 |
| Cascade | 814 | Apr 28 | May 12 | Oct 10 | 164 |
| Castana Experiment Farm | 1,400 | Apr 25 | May 7 | Oct 12 | 170 |
| Cedar Rapids #1 | 813 | Apr 28 | May 13 | Oct 12 | 166 |
| Cedar Rapids Municipal Airport | 868 | Apr 27 | May 11 | Oct 11 | 165 |
| Centerville | 905 | Apr 28 | May 11 | Oct 14 | 168 |
| Chariton 1 E | 965 | May 5 | May 19 | Oct 5 | 151 |
| Charles City | 993 | Apr 30 | May 14 | Oct 6 | 157 |
| Cherokee | 1,210 | May 4 | May 17 | Oct 4 | 152 |
| Clarinda | 980 | Apr 25 | May 7 | Oct 11 | 168 |
| Clarion | 1,156 | Apr 30 | May 12 | Oct 10 | 162 |
| Clinton #1 | 585 | Apr 22 | May 8 | Oct 16 | 175 |
| Coggon | 903 | May 3 | May 17 | Oct 7 | 156 |
| Colo | 1,000 | Apr 24 | May 7 | Oct 12 | 170 |
| Columbus Junction | 590 | Apr 26 | May 11 | Oct 10 | 167 |
| Corning | 1,190 | Apr 27 | May 11 | Oct 12 | 168 |
| Cresco 1 NE | 1,255 | May 8 | May 21 | Oct 1 | 147 |
| Creston 2 SW | 1,296 | Apr 28 | May 9 | Oct 11 | 164 |
| Dakota City | 1,110 | Apr 26 | May 7 | Oct 12 | 169 |
| Davenport | 754 | Apr 23 | May 8 | Oct 15 | 174 |
| Davenport WFO | 750 | Apr 21 | May 7 | Oct 17 | 176 |
| Decorah | 860 | May 3 | May 16 | Oct 7 | 157 |
| Denison | 1,401 | Apr 27 | May 9 | Oct 11 | 166 |
| Des Moines 17 E | 921 | Apr 21 | May 5 | Oct 15 | 174 |
| Des Moines Intl Airport | 957 | Apr 18 | May 2 | Oct 20 | 184 |
| Des Moines Wsfo-johnston | 959 | Apr 19 | May 3 | Oct 18 | 179 |
| Donnellson | 705 | Apr 17 | May 1 | Oct 22 | 187 |
| Dubuque L&d 11 | 620 | Apr 19 | May 4 | Oct 21 | 184 |
| Dubuque Regional Airport | 1,056 | Apr 28 | May 12 | Oct 11 | 165 |
| Eldora | 1,073 | Apr 27 | May 8 | Oct 10 | 165 |
| Elkader 6 SSW | 788 | May 8 | May 22 | Oct 1 | 146 |
| Emmetsburg | 1,225 | Apr 27 | May 9 | Oct 7 | 164 |
| Estherville 4E | 1,320 | May 2 | May 14 | Oct 3 | 153 |
| Estherville Municipal Airport | 1,317 | May 2 | May 14 | Sep 30 | 150 |
| Fairfield | 740 | Apr 27 | May 14 | Oct 12 | 168 |
| Fayette | 1,145 | May 4 | May 17 | Oct 4 | 151 |
| Forest City 2 NNE | 1,280 | Apr 30 | May 10 | Oct 7 | 159 |
| Fort Dodge 5NNW | 1,115 | Apr 28 | May 9 | Oct 8 | 162 |
| Fort Madison | 530 | Apr 12 | Apr 26 | Oct 25 | 194 |
| Glenwood 3SW | 980 | Apr 23 | May 6 | Oct 11 | 170 |
| Greenfield | 1,316 | Apr 25 | May 7 | Oct 12 | 170 |
| Grinnell 3 SW | 905 | May 3 | May 17 | Oct 6 | 155 |
| Grundy Center | 985 | Apr 29 | May 12 | Oct 9 | 160 |
| Guthrie Center | 1,065 | May 2 | May 17 | Oct 3 | 153 |
| Guttenberg L&d 10 | 618 | Apr 21 | May 6 | Oct 18 | 178 |
| Hampton | 1,105 | Apr 29 | May 10 | Oct 9 | 162 |
| Harlan | 1,270 | Apr 27 | May 9 | Oct 9 | 165 |
| Hawarden | 1,190 | May 1 | May 14 | Oct 4 | 155 |
| Holstein | 1,370 | Apr 30 | May 11 | Oct 9 | 162 |
| Humboldt Wtp | 1,100 | Apr 27 | May 7 | Oct 9 | 166 |
| Ida Grove 5NW | 1,320 | Apr 27 | May 11 | Oct 12 | 167 |
| Independence #1 | 1,010 | Apr 30 | May 12 | Oct 7 | 159 |
| Indianola 2W | 924 | Apr 24 | May 8 | Oct 12 | 168 |
| Iowa City | 640 | Apr 29 | May 14 | Oct 9 | 162 |
| Iowa City Municipal Airport | 650 | Apr 21 | May 6 | Oct 18 | 180 |
| Iowa Falls | 1,055 | Apr 28 | May 11 | Oct 10 | 164 |
| Jefferson | 1,055 | Apr 26 | May 8 | Oct 9 | 164 |
| Keokuk Lock Dam 19 | 527 | Apr 10 | Apr 26 | Oct 27 | 198 |
| Keosauqua | 629 | Apr 26 | May 11 | Oct 13 | 169 |
| Knoxville | 895 | Apr 20 | May 4 | Oct 19 | 180 |
| Lake Park | 1,465 | Apr 30 | May 11 | Oct 10 | 164 |
| Lamoni | 1,128 | Apr 17 | May 1 | Oct 21 | 184 |
| Lamoni | 1,168 | Apr 16 | May 2 | Oct 20 | 187 |
| Lamoni Municipal Airport | 1,131 | Apr 16 | May 2 | Oct 21 | 186 |
| Le Claire L&d 14 | 577 | Apr 16 | Apr 30 | Oct 25 | 190 |
| Le Mars | 1,195 | Apr 30 | May 12 | Oct 4 | 157 |
| Leon 6 ESE | 1,000 | Apr 30 | May 15 | Oct 8 | 161 |
| Little Sioux 2 NW | 1,025 | May 1 | May 12 | Oct 3 | 155 |
| Logan | 990 | Apr 29 | May 13 | Oct 8 | 162 |
| Lowden | 738 | Apr 27 | May 13 | Oct 10 | 165 |
| Manchester #2 | 990 | May 3 | May 16 | Oct 4 | 154 |
| Mapleton No.2 | 1,200 | May 3 | May 16 | Oct 1 | 151 |
| Maquoketa | 668 | Apr 25 | May 9 | Oct 14 | 171 |
| Marshalltown | 870 | Apr 28 | May 11 | Oct 7 | 162 |
| Marshalltown Municipal Airport | 974 | Apr 30 | May 12 | Oct 6 | 159 |
| Mason City | 1,105 | Apr 29 | May 9 | Oct 7 | 161 |
| Mason City Municipal Airport | 1,225 | May 3 | May 15 | Oct 1 | 150 |
| Milford 4 NW | 1,402 | May 1 | May 14 | Oct 6 | 158 |
| Mount Ayr | 1,140 | Apr 25 | May 9 | Oct 12 | 169 |
| Mount Pleasant 1 SSW | 730 | Apr 30 | May 14 | Oct 10 | 163 |
| Muscatine | 549 | Apr 24 | May 9 | Oct 14 | 172 |
| Muscatine 2N | 680 | Apr 18 | May 2 | Oct 22 | 184 |
| New Hampton | 1,148 | May 2 | May 14 | Oct 5 | 155 |
| Newton | 960 | Apr 22 | May 4 | Oct 17 | 174 |
| Northwood | 1,190 | May 4 | May 16 | Oct 4 | 152 |
| Oakland | 1,260 | Apr 23 | May 5 | Oct 14 | 174 |
| Oelwein 1E | 1,165 | Apr 27 | May 10 | Oct 13 | 169 |
| Oelwein 2 S | 1,010 | Apr 30 | May 13 | Oct 9 | 163 |
| Onawa 3NW | 1,060 | May 1 | May 13 | Oct 3 | 154 |
| Osage | 1,170 | Apr 30 | May 12 | Oct 9 | 163 |
| Osceola | 1,028 | Apr 29 | May 11 | Oct 9 | 162 |
| Oskaloosa | 830 | Apr 21 | May 4 | Oct 16 | 176 |
| Ottumwa Industrial Airport | 842 | Apr 23 | May 7 | Oct 14 | 172 |
| Perry | 950 | Apr 25 | May 8 | Oct 10 | 166 |
| Pocahontas | 1,212 | Apr 26 | May 8 | Oct 7 | 164 |
| Postville | 1,165 | May 1 | May 14 | Oct 3 | 153 |
| Primghar | 1,520 | Apr 29 | May 11 | Oct 10 | 163 |
| Rathbun Dam | 965 | Apr 18 | May 2 | Oct 23 | 187 |
| Red Oak | 1,040 | Apr 24 | May 8 | Oct 13 | 169 |
| Rock Rapids | 1,350 | May 1 | May 13 | Oct 4 | 156 |
| Rockwell City | 1,214 | Apr 26 | May 6 | Oct 10 | 167 |
| Sac City | 1,210 | Apr 30 | May 11 | Oct 6 | 158 |
| Sanborn | 1,551 | May 1 | May 13 | Oct 7 | 160 |
| Sheldon | 1,420 | May 5 | May 18 | Sep 28 | 145 |
| Shenandoah | 999 | Apr 20 | May 3 | Oct 17 | 179 |
| Sibley | 1,529 | May 5 | May 17 | Oct 3 | 152 |
| Sidney 1SSE | 1,140 | Apr 19 | May 2 | Oct 19 | 182 |
| Sigourney | 732 | Apr 24 | May 9 | Oct 15 | 172 |
| Sioux Center 2 SE | 1,360 | Apr 30 | May 12 | Oct 3 | 154 |
| Sioux City Ang | 1,100 | Apr 29 | May 11 | Oct 7 | 161 |
| Sioux City Gateway Airport | 1,095 | Apr 29 | May 14 | Oct 5 | 159 |
| Sioux Rapids 4 E | 1,420 | Apr 30 | May 11 | Oct 5 | 159 |
| Spencer 1 N | 1,326 | May 1 | May 14 | Oct 3 | 154 |
| Spencer Municipal Airport | 1,338 | May 2 | May 15 | Oct 2 | 154 |
| Spirit Lake | 1,420 | Apr 28 | May 9 | Oct 11 | 164 |
| Stanley | 1,114 | May 4 | May 15 | Oct 1 | 150 |
| Storm Lake | 1,442 | Apr 25 | May 7 | Oct 13 | 170 |
| Swea City 5N | 1,180 | May 4 | May 14 | Oct 1 | 150 |
| Tipton | 820 | Apr 21 | May 4 | Oct 15 | 175 |
| Toledo 3N | 935 | Apr 30 | May 11 | Oct 9 | 162 |
| Tripoli | 1,055 | Apr 29 | May 9 | Oct 9 | 162 |
| Vinton | 850 | May 3 | May 17 | Oct 3 | 151 |
| Washington | 687 | Apr 28 | May 11 | Oct 11 | 165 |
| Waterloo Municipal Airport | 868 | Apr 27 | May 10 | Oct 10 | 165 |
| Waukon | 1,275 | May 2 | May 16 | Oct 11 | 161 |
| Webster City | 1,072 | May 3 | May 16 | Oct 2 | 150 |
| Williamsburg 1E | 780 | Apr 28 | May 12 | Oct 9 | 164 |
| Winterset 1S | 1,100 | Apr 30 | May 11 | Oct 3 | 157 |
Frequently asked questions
When is the last frost in Iowa?
The median last spring frost (32°F) across Iowa's NOAA weather stations is April 28, based on 1991–2020 climate normals. It ranges from April 10 at Keokuk Lock Dam 19 to May 8 at Elkader 6 SSW. For a safer planting date, use the 10%-risk date; the state median for that is May 11.
When is the first frost in Iowa?
The median first fall frost across Iowa's stations is October 10. The earliest median first frost is September 28 at Sheldon, and the latest is October 27 at Keokuk Lock Dam 19.
How long is the growing season in Iowa?
The median frost-free season is 164 days across Iowa's stations, from 145 days at Sheldon to 198 days at Keokuk Lock Dam 19.
When should I plant tomatoes in Iowa?
Plant tomatoes outdoors after your local last frost, ideally after the 10%-risk date when nights stay above 50°F. At a typical Iowa station that means starting seeds indoors 6–8 weeks before April 28 and transplanting from about May 11. Check your ZIP code, because dates vary by weeks across the state.
How to use these dates
Frost dates are 30-year averages from NOAA, not forecasts. Use them to plan seed starting and planting, then watch the 10-day forecast as the date approaches. Cold air settles in valleys and low spots, so a garden at the bottom of a slope can frost a week or more later in spring than the nearest station shows.
Ready to plan? The planting calendar by ZIP code turns these dates into start-indoors, transplant and sowing dates for 30 crops.
Sources and method
Dates are the 32°F freeze probabilities published in the NOAA NCEI 1991–2020 U.S. Climate Normals for each station. Station names are NOAA's, lightly expanded for readability. See the methodology or download the full table.
Frost dates in other states
- Alabama
- Alaska
- Arizona
- Arkansas
- California
- Colorado
- Connecticut
- Delaware
- Florida
- Georgia
- Hawaii
- Idaho
- Illinois
- Indiana
- Kansas
- Kentucky
- Louisiana
- Maine
- Maryland
- Massachusetts
- Michigan
- Minnesota
- Mississippi
- Missouri
- Montana
- Nebraska
- Nevada
- New Hampshire
- New Jersey
- New Mexico
- New York
- North Carolina
- North Dakota
- Ohio
- Oklahoma
- Oregon
- Pennsylvania
- Rhode Island
- South Carolina
- South Dakota
- Tennessee
- Texas
- Utah
- Vermont
- Virginia
- Washington
- West Virginia
- Wisconsin
- Wyoming