Iowa frost dates
Across 150 NOAA climate stations in Iowa, the median last spring frost (32°F) ranges from Apr 10 at Keokuk Lock Dam 19 to May 8 at Elkader 6 Ssw; the typical station sees its last frost around Apr 28 and its first fall frost around Oct 10.
“Median” dates have a 50% chance of a later spring frost or an earlier fall frost. “10% risk” dates are the safer choice for tender plants: only 1 year in 10 has frost beyond them. Source: NOAA NCEI 1991–2020 Climate Normals. Elevation matters: within a state, frost dates can differ by a month or more between valleys and hills.
| Station | Elevation | Last frost (median) | Last frost (10% risk) | First frost (median) | First frost (10% risk) | Growing season |
|---|---|---|---|---|---|---|
| Albia 3 Nne | 880 ft | Apr 24 | May 9 | Oct 16 | Sep 29 | 173 days |
| Algona | 1,214 ft | Apr 30 | May 11 | Oct 6 | Sep 23 | 160 days |
| Allerton | 1,090 ft | Apr 21 | May 6 | Oct 19 | Oct 3 | 178 days |
| Allison | 1,038 ft | Apr 27 | May 8 | Oct 8 | Sep 24 | 165 days |
| Ames 5 Se | 870 ft | Apr 26 | May 8 | Oct 12 | Sep 26 | 168 days |
| Ames 8 Wsw | 1,099 ft | Apr 23 | May 5 | Oct 14 | Sep 29 | 173 days |
| Ames Muni AP | 930 ft | Apr 26 | May 9 | Oct 8 | Sep 23 | 164 days |
| Anamosa 1 Wnw | 805 ft | May 1 | May 18 | Oct 4 | Sep 21 | 154 days |
| Anamosa 3 Ssw | 906 ft | Apr 27 | May 10 | Oct 13 | Sep 30 | 170 days |
| Ankeny | 975 ft | Apr 23 | May 6 | Oct 15 | Sep 30 | 173 days |
| Atlantic 1 Ne | 1,152 ft | Apr 30 | May 15 | Oct 2 | Sep 17 | 153 days |
| Audubon | 1,280 ft | May 2 | May 15 | Oct 3 | Sep 19 | 154 days |
| Battle Creek 3NE | 1,380 ft | May 1 | May 15 | Oct 1 | Sep 18 | 153 days |
| Beaconsfield | 1,215 ft | Apr 23 | May 6 | Oct 17 | Oct 1 | 176 days |
| Bedford | 1,190 ft | Apr 24 | May 6 | Oct 15 | Oct 1 | 173 days |
| Belle Plaine | 810 ft | Apr 28 | May 11 | Oct 10 | Sep 26 | 165 days |
| Bellevue L&D 12 | 603 ft | Apr 25 | May 11 | Oct 16 | Oct 1 | 172 days |
| Bloomfield | 858 ft | Apr 16 | Apr 30 | Oct 22 | Oct 5 | 188 days |
| Boone | 1,035 ft | Apr 28 | May 11 | Oct 12 | Sep 28 | 165 days |
| Britt 3E | 1,220 ft | Apr 29 | May 10 | Oct 7 | Sep 24 | 161 days |
| Burlington 2S | 690 ft | Apr 18 | May 3 | Oct 20 | Oct 6 | 185 days |
| Burlington Muni AP | 692 ft | Apr 15 | May 1 | Oct 20 | Oct 6 | 187 days |
| Carroll | 1,240 ft | Apr 27 | May 8 | Oct 10 | Sep 25 | 166 days |
| Cascade | 814 ft | Apr 28 | May 12 | Oct 10 | Sep 28 | 164 days |
| Castana Exp Farm | 1,400 ft | Apr 25 | May 7 | Oct 12 | Sep 28 | 170 days |
| Cedar Rapids #1 | 813 ft | Apr 28 | May 13 | Oct 12 | Sep 29 | 166 days |
| Cedar Rapids Muni AP | 868 ft | Apr 27 | May 11 | Oct 11 | Sep 25 | 165 days |
| Centerville | 905 ft | Apr 28 | May 11 | Oct 14 | Sep 26 | 168 days |
| Chariton 1 E | 965 ft | May 5 | May 19 | Oct 5 | Sep 20 | 151 days |
| Charles City | 993 ft | Apr 30 | May 14 | Oct 6 | Sep 21 | 157 days |
| Cherokee | 1,210 ft | May 4 | May 17 | Oct 4 | Sep 20 | 152 days |
| Clarinda | 980 ft | Apr 25 | May 7 | Oct 11 | Sep 26 | 168 days |
| Clarion | 1,156 ft | Apr 30 | May 12 | Oct 10 | Sep 27 | 162 days |
| Clinton #1 | 585 ft | Apr 22 | May 8 | Oct 16 | Oct 2 | 175 days |
| Coggon | 903 ft | May 3 | May 17 | Oct 7 | Sep 22 | 156 days |
| Colo | 1,000 ft | Apr 24 | May 7 | Oct 12 | Sep 28 | 170 days |
| Columbus Junction | 590 ft | Apr 26 | May 11 | Oct 10 | Sep 23 | 167 days |
| Corning | 1,190 ft | Apr 27 | May 11 | Oct 12 | Sep 26 | 168 days |
| Cresco 1 Ne | 1,255 ft | May 8 | May 21 | Oct 1 | Sep 19 | 147 days |
| Creston 2 Sw | 1,296 ft | Apr 28 | May 9 | Oct 11 | Sep 24 | 164 days |
| Dakota City | 1,110 ft | Apr 26 | May 7 | Oct 12 | Sep 29 | 169 days |
| Davenport | 754 ft | Apr 23 | May 8 | Oct 15 | Oct 1 | 174 days |
| Davenport Wfo | 750 ft | Apr 21 | May 7 | Oct 17 | Oct 3 | 176 days |
| Decorah | 860 ft | May 3 | May 16 | Oct 7 | Sep 25 | 157 days |
| Denison | 1,401 ft | Apr 27 | May 9 | Oct 11 | Sep 27 | 166 days |
| Des Moines 17 E | 921 ft | Apr 21 | May 5 | Oct 15 | Sep 30 | 174 days |
| Des Moines Intl AP | 957 ft | Apr 18 | May 2 | Oct 20 | Oct 4 | 184 days |
| Des Moines Wsfo-Johnston | 959 ft | Apr 19 | May 3 | Oct 18 | Oct 1 | 179 days |
| Donnellson | 705 ft | Apr 17 | May 1 | Oct 22 | Oct 10 | 187 days |
| Dubuque L&D 11 | 620 ft | Apr 19 | May 4 | Oct 21 | Oct 7 | 184 days |
| Dubuque Rgnl AP | 1,056 ft | Apr 28 | May 12 | Oct 11 | Sep 28 | 165 days |
| Eldora | 1,073 ft | Apr 27 | May 8 | Oct 10 | Sep 27 | 165 days |
| Elkader 6 Ssw | 788 ft | May 8 | May 22 | Oct 1 | Sep 18 | 146 days |
| Emmetsburg | 1,225 ft | Apr 27 | May 9 | Oct 7 | Sep 23 | 164 days |
| Estherville 4E | 1,320 ft | May 2 | May 14 | Oct 3 | Sep 20 | 153 days |
| Estherville Muni AP | 1,317 ft | May 2 | May 14 | Sep 30 | Sep 17 | 150 days |
| Fairfield | 740 ft | Apr 27 | May 14 | Oct 12 | Sep 27 | 168 days |
| Fayette | 1,145 ft | May 4 | May 17 | Oct 4 | Sep 20 | 151 days |
| Forest City 2 Nne | 1,280 ft | Apr 30 | May 10 | Oct 7 | Sep 22 | 159 days |
| Ft Dodge 5NNW | 1,115 ft | Apr 28 | May 9 | Oct 8 | Sep 24 | 162 days |
| Ft Madison | 530 ft | Apr 12 | Apr 26 | Oct 25 | Oct 11 | 194 days |
| Glenwood 3SW | 980 ft | Apr 23 | May 6 | Oct 11 | Sep 27 | 170 days |
| Greenfield | 1,316 ft | Apr 25 | May 7 | Oct 12 | Sep 26 | 170 days |
| Grinnell 3 Sw | 905 ft | May 3 | May 17 | Oct 6 | Sep 22 | 155 days |
| Grundy Ctr | 985 ft | Apr 29 | May 12 | Oct 9 | Sep 25 | 160 days |
| Guthrie Ctr | 1,065 ft | May 2 | May 17 | Oct 3 | Sep 20 | 153 days |
| Guttenberg L&D 10 | 618 ft | Apr 21 | May 6 | Oct 18 | Oct 4 | 178 days |
| Hampton | 1,105 ft | Apr 29 | May 10 | Oct 9 | Sep 26 | 162 days |
| Harlan | 1,270 ft | Apr 27 | May 9 | Oct 9 | Sep 24 | 165 days |
| Hawarden | 1,190 ft | May 1 | May 14 | Oct 4 | Sep 21 | 155 days |
| Holstein | 1,370 ft | Apr 30 | May 11 | Oct 9 | Sep 27 | 162 days |
| Humboldt Wtp | 1,100 ft | Apr 27 | May 7 | Oct 9 | Sep 24 | 166 days |
| Ida Grove 5NW | 1,320 ft | Apr 27 | May 11 | Oct 12 | Sep 27 | 167 days |
| Independence #1 | 1,010 ft | Apr 30 | May 12 | Oct 7 | Sep 23 | 159 days |
| Indianola 2W | 924 ft | Apr 24 | May 8 | Oct 12 | Sep 27 | 168 days |
| Iowa City | 640 ft | Apr 29 | May 14 | Oct 9 | Sep 25 | 162 days |
| Iowa City Muni AP | 650 ft | Apr 21 | May 6 | Oct 18 | Oct 4 | 180 days |
| Iowa Falls | 1,055 ft | Apr 28 | May 11 | Oct 10 | Sep 26 | 164 days |
| Jefferson | 1,055 ft | Apr 26 | May 8 | Oct 9 | Sep 23 | 164 days |
| Keokuk Lock Dam 19 | 527 ft | Apr 10 | Apr 26 | Oct 27 | Oct 10 | 198 days |
| Keosauqua | 629 ft | Apr 26 | May 11 | Oct 13 | Sep 28 | 169 days |
| Knoxville | 895 ft | Apr 20 | May 4 | Oct 19 | Oct 1 | 180 days |
| Lake Park | 1,465 ft | Apr 30 | May 11 | Oct 10 | Sep 26 | 164 days |
| Lamoni | 1,128 ft | Apr 17 | May 1 | Oct 21 | Oct 6 | 184 days |
| Lamoni | 1,168 ft | Apr 16 | May 2 | Oct 20 | Oct 6 | 187 days |
| Lamoni Muni AP | 1,131 ft | Apr 16 | May 2 | Oct 21 | Oct 6 | 186 days |
| Le Claire L&D 14 | 577 ft | Apr 16 | Apr 30 | Oct 25 | Oct 11 | 190 days |
| Le Mars | 1,195 ft | Apr 30 | May 12 | Oct 4 | Sep 21 | 157 days |
| Leon 6 Ese | 1,000 ft | Apr 30 | May 15 | Oct 8 | Sep 26 | 161 days |
| Little Sioux 2 Nw | 1,025 ft | May 1 | May 12 | Oct 3 | Sep 20 | 155 days |
| Logan | 990 ft | Apr 29 | May 13 | Oct 8 | Sep 23 | 162 days |
| Lowden | 738 ft | Apr 27 | May 13 | Oct 10 | Sep 25 | 165 days |
| Manchester #2 | 990 ft | May 3 | May 16 | Oct 4 | Sep 22 | 154 days |
| Mapleton No.2 | 1,200 ft | May 3 | May 16 | Oct 1 | Sep 19 | 151 days |
| Maquoketa | 668 ft | Apr 25 | May 9 | Oct 14 | Sep 30 | 171 days |
| Marshalltown | 870 ft | Apr 28 | May 11 | Oct 7 | Sep 22 | 162 days |
| Marshalltown Muni AP | 974 ft | Apr 30 | May 12 | Oct 6 | Sep 22 | 159 days |
| Mason City | 1,105 ft | Apr 29 | May 9 | Oct 7 | Sep 25 | 161 days |
| Mason City Muni AP | 1,225 ft | May 3 | May 15 | Oct 1 | Sep 18 | 150 days |
| Milford 4 Nw | 1,402 ft | May 1 | May 14 | Oct 6 | Sep 24 | 158 days |
| Mt Ayr | 1,140 ft | Apr 25 | May 9 | Oct 12 | Sep 27 | 169 days |
| Mt Pleasant 1 Ssw | 730 ft | Apr 30 | May 14 | Oct 10 | Sep 24 | 163 days |
| Muscatine | 549 ft | Apr 24 | May 9 | Oct 14 | Oct 1 | 172 days |
| Muscatine 2N | 680 ft | Apr 18 | May 2 | Oct 22 | Oct 8 | 184 days |
| New Hampton | 1,148 ft | May 2 | May 14 | Oct 5 | Sep 23 | 155 days |
| Newton | 960 ft | Apr 22 | May 4 | Oct 17 | Oct 1 | 174 days |
| Northwood | 1,190 ft | May 4 | May 16 | Oct 4 | Sep 20 | 152 days |
| Oakland | 1,260 ft | Apr 23 | May 5 | Oct 14 | Sep 30 | 174 days |
| Oelwein 1E | 1,165 ft | Apr 27 | May 10 | Oct 13 | Sep 30 | 169 days |
| Oelwein 2 S | 1,010 ft | Apr 30 | May 13 | Oct 9 | Sep 26 | 163 days |
| Onawa 3NW | 1,060 ft | May 1 | May 13 | Oct 3 | Sep 21 | 154 days |
| Osage | 1,170 ft | Apr 30 | May 12 | Oct 9 | Sep 25 | 163 days |
| Osceola | 1,028 ft | Apr 29 | May 11 | Oct 9 | Sep 24 | 162 days |
| Oskaloosa | 830 ft | Apr 21 | May 4 | Oct 16 | Sep 29 | 176 days |
| Ottumwa Industrial AP | 842 ft | Apr 23 | May 7 | Oct 14 | Sep 29 | 172 days |
| Perry | 950 ft | Apr 25 | May 8 | Oct 10 | Sep 25 | 166 days |
| Pocahontas | 1,212 ft | Apr 26 | May 8 | Oct 7 | Sep 25 | 164 days |
| Postville | 1,165 ft | May 1 | May 14 | Oct 3 | Sep 20 | 153 days |
| Primghar | 1,520 ft | Apr 29 | May 11 | Oct 10 | Sep 26 | 163 days |
| Rathbun Dam | 965 ft | Apr 18 | May 2 | Oct 23 | Oct 10 | 187 days |
| Red Oak | 1,040 ft | Apr 24 | May 8 | Oct 13 | Sep 26 | 169 days |
| Rock Rapids | 1,350 ft | May 1 | May 13 | Oct 4 | Sep 21 | 156 days |
| Rockwell City | 1,214 ft | Apr 26 | May 6 | Oct 10 | Sep 27 | 167 days |
| Sac City | 1,210 ft | Apr 30 | May 11 | Oct 6 | Sep 23 | 158 days |
| Sanborn | 1,551 ft | May 1 | May 13 | Oct 7 | Sep 23 | 160 days |
| Sheldon | 1,420 ft | May 5 | May 18 | Sep 28 | Sep 14 | 145 days |
| Shenandoah | 999 ft | Apr 20 | May 3 | Oct 17 | Oct 1 | 179 days |
| Sibley | 1,529 ft | May 5 | May 17 | Oct 3 | Sep 21 | 152 days |
| Sidney 1SSE | 1,140 ft | Apr 19 | May 2 | Oct 19 | Oct 1 | 182 days |
| Sigourney | 732 ft | Apr 24 | May 9 | Oct 15 | Sep 30 | 172 days |
| Sioux City Ang | 1,100 ft | Apr 29 | May 11 | Oct 7 | Sep 24 | 161 days |
| Sioux City Gateway AP | 1,095 ft | Apr 29 | May 14 | Oct 5 | Sep 22 | 159 days |
| Sioux Ctr 2 Se | 1,360 ft | Apr 30 | May 12 | Oct 3 | Sep 19 | 154 days |
| Sioux Rapids 4 E | 1,420 ft | Apr 30 | May 11 | Oct 5 | Sep 22 | 159 days |
| Spencer 1 N | 1,326 ft | May 1 | May 14 | Oct 3 | Sep 20 | 154 days |
| Spencer Muni AP | 1,338 ft | May 2 | May 15 | Oct 2 | Sep 18 | 154 days |
| Spirit Lake | 1,420 ft | Apr 28 | May 9 | Oct 11 | Sep 27 | 164 days |
| Stanley | 1,114 ft | May 4 | May 15 | Oct 1 | Sep 16 | 150 days |
| Storm Lake | 1,442 ft | Apr 25 | May 7 | Oct 13 | Oct 1 | 170 days |
| Swea City 5N | 1,180 ft | May 4 | May 14 | Oct 1 | Sep 18 | 150 days |
| Tipton | 820 ft | Apr 21 | May 4 | Oct 15 | Oct 1 | 175 days |
| Toledo 3N | 935 ft | Apr 30 | May 11 | Oct 9 | Sep 26 | 162 days |
| Tripoli | 1,055 ft | Apr 29 | May 9 | Oct 9 | Sep 25 | 162 days |
| Vinton | 850 ft | May 3 | May 17 | Oct 3 | Sep 20 | 151 days |
| Washington | 687 ft | Apr 28 | May 11 | Oct 11 | Sep 25 | 165 days |
| Waterloo Muni AP | 868 ft | Apr 27 | May 10 | Oct 10 | Sep 26 | 165 days |
| Waukon | 1,275 ft | May 2 | May 16 | Oct 11 | Sep 28 | 161 days |
| Webster City | 1,072 ft | May 3 | May 16 | Oct 2 | Sep 18 | 150 days |
| Williamsburg 1E | 780 ft | Apr 28 | May 12 | Oct 9 | Sep 24 | 164 days |
| Winterset 1S | 1,100 ft | Apr 30 | May 11 | Oct 3 | Sep 20 | 157 days |
Advertisement