Frost dates in Minnesota
Across Minnesota's 179 NOAA stations with a frost every year, the typical last spring frost ranges from April 15 at La Crescent Dam 7 (650 feet above sea level) to June 5 at Hibbing Chisholm Hibbing Airport (1,350 feet above sea level). The middle station's date is May 5.
Look up your ZIP code
Last frost across Minnesota
The frost-free season runs from 93 days at Hibbing Chisholm Hibbing Airport to 194 days at La Crescent Dam 7.
The station with the latest frost is about 240 miles farther north than the one with the earliest.
At 3 stations, all high or far north, frost is possible in every month.
These are typical dates: in half of springs the last frost comes later. Each place's page, and each ZIP code lookup, also gives the late-year date, after which only 1 spring in 10 has a frost. That's the safer date for tender plants.
Frost dates for Minnesota's larger places
| Place | Last spring frost | First fall frost | Season | Zone |
|---|---|---|---|---|
| Minneapolis | April 23 | October 18 | 176 days | 5a |
| Rochester | April 30 | October 6 | 159 days | 4b |
| St. Paul | April 24 | October 16 | 174 days |
Typical (1-in-2) dates. Each place's page has the early and late years, a planting calendar and a printable planner. Zones are for the ZIP code nearest each place's center.
Hardiness zones in Minnesota
Minnesota's 933 ZIP codes in the USDA list fall in zones 3a to 5a: 3a (1 percent), 3b (13 percent), 4a (21 percent), 4b (36 percent) and 5a (29 percent). Compared with the 2012 map, 49 percent of them moved to a warmer half zone, 50 percent stayed the same and 6 moved to a colder one.
A hardiness zone is about the coldest night of winter, which decides which shrubs, trees and perennials survive. Frost dates are about spring and fall, which decide when to plant. You need both. Read more about what the zones mean and what changed in 2023.
Every NOAA station in Minnesota
All 182 stations in Minnesota with frost statistics in NOAA's 1991 to 2020 normals, from A to Z. Station names are usually a town, an airport, or a distance and direction from a town. Find one near you and at a similar elevation.
| Station | Elevation (feet) | Last spring frost | First fall frost | Season (days) |
|---|---|---|---|---|
| Ada | 910 | May 11 | September 27 | 137 |
| Agassiz Refuge | 1,140 | May 6 | October 3 | 148 |
| Aitkin 2 E | 1,210 | May 16 | September 28 | 133 |
| Albert Lea 3 SE | 1,230 | April 27 | October 9 | 164 |
| Alexandria Municipal Airport | 1,420 | May 2 | October 8 | 159 |
| Amboy | 1,030 | April 30 | October 7 | 161 |
| Andover 1 N | 900 | May 5 | October 2 | 148 |
| Argyle | 850 | May 15 | September 26 | 134 |
| Artichoke Lake 1 E | 1,100 | May 1 | October 8 | 159 |
| Austin Waste WTP Facility | 1,200 | April 30 | October 5 | 158 |
| Babbitt | 1,480 | May 28 | September 14 | 108 |
| Baudette | 1,100 | May 14 | September 26 | 135 |
| Baudette International Airport | 1,080 | May 15 | September 26 | 132 |
| Benson | 1,030 | May 4 | October 3 | 151 |
| Big Falls | 1,220 | May 24 | September 20 | 117 |
| Blackduck | 1,340 | May 24 | September 17 | 115 |
| Brainerd | 1,180 | May 8 | September 29 | 141 |
| Brainerd Crow Wing Co Airport | 1,220 | May 13 | September 27 | 138 |
| Breckenridge 3 E | 970 | May 4 | October 3 | 152 |
| Brimson 2 S | 1,490 | Frost possible any month | 84 | |
| Browns Valley | 980 | May 9 | September 28 | 141 |
| Brownton WWTP | 1,040 | April 30 | October 4 | 156 |
| Bruno 7 ENE | 1,250 | May 18 | September 26 | 129 |
| Buffalo 2 NE | 990 | April 30 | October 9 | 163 |
| Byron 4north | 1,040 | May 12 | September 28 | 139 |
| Caledonia | 1,160 | April 29 | October 10 | 165 |
| Cambridge | 960 | May 2 | October 4 | 153 |
| Camp Norris DNR | 1,290 | May 25 | September 22 | 119 |
| Canby | 1,210 | May 2 | October 5 | 156 |
| Cass Lake | 1,300 | May 17 | September 26 | 131 |
| Cedar | 910 | May 1 | October 7 | 158 |
| Celina 2 E | 1,290 | June 1 | September 15 | 104 |
| Chanhassen WSFO | 940 | April 30 | October 9 | 160 |
| Chaska 2 NW | 920 | May 5 | October 5 | 151 |
| Cloquet | 1,270 | May 26 | September 23 | 118 |
| Collegeville St John's | 1,210 | May 3 | October 7 | 155 |
| Cook 8 NE | 1,350 | May 12 | October 1 | 138 |
| Cotton | 1,320 | May 27 | September 20 | 115 |
| Crookston NW Exp Station | 890 | May 11 | September 27 | 138 |
| Dassel 3 SE | 1,070 | April 30 | October 10 | 162 |
| Deep Portage | 1,470 | May 5 | October 5 | 150 |
| Delano | 970 | April 30 | October 8 | 159 |
| Detroit Lakes 1 NNE | 1,350 | May 15 | September 24 | 130 |
| Detroit Lakes 12 E | 1,540 | May 4 | October 3 | 150 |
| Duluth | 1,430 | May 13 | October 1 | 140 |
| Duluth Harbor Station | 610 | May 14 | October 12 | 149 |
| Duluth NWS | 1,430 | May 18 | October 1 | 135 |
| Elk River | 880 | May 4 | October 5 | 154 |
| Ely | 1,380 | May 24 | September 23 | 121 |
| Ely | 1,480 | May 14 | September 29 | 135 |
| Ely 25 E | 1,440 | May 21 | September 25 | 127 |
| Embarrass | 1,420 | Frost possible any month | 83 | |
| Eveleth WWTP | 1,440 | May 12 | October 1 | 141 |
| Fairmont | 1,190 | April 25 | October 14 | 171 |
| Faribault | 970 | May 5 | October 5 | 152 |
| Farmington 3 NW | 980 | April 27 | October 10 | 166 |
| Fergus Falls | 1,250 | May 4 | October 5 | 152 |
| Floodwood 3 NE | 1,260 | May 29 | September 18 | 111 |
| Forest Lake 5 NE | 910 | May 3 | October 5 | 154 |
| Fosston 1 E | 1,300 | May 15 | September 26 | 132 |
| Gaylord | 1,020 | April 24 | October 15 | 170 |
| Georgetown 1 E | 890 | May 9 | October 1 | 143 |
| Glenwood 2 WNW | 1,200 | May 11 | September 27 | 139 |
| Goodridge 12 NNW | 1,150 | May 20 | September 17 | 118 |
| Grand Marais | 610 | May 20 | October 5 | 137 |
| Grand Marais | 610 | May 22 | October 9 | 136 |
| Grand Meadow | 1,350 | May 6 | October 1 | 146 |
| Grand Portage | 730 | May 24 | September 29 | 127 |
| Grand Rapids Forest Lab | 1,310 | May 17 | September 24 | 130 |
| Granite Falls | 930 | May 4 | October 1 | 150 |
| Gull Lake Dam | 1,210 | May 2 | October 6 | 156 |
| Gunflint Lake 10 NW | 1,460 | May 23 | September 26 | 124 |
| Hallock | 810 | May 8 | September 30 | 142 |
| Hastings Dam 2 | 680 | April 23 | October 19 | 177 |
| Hibbing Chisholm Hibbing Airport | 1,350 | June 5 | September 8 | 93 |
| Hinckley | 1,040 | May 16 | September 24 | 130 |
| Hutchinson 1 N | 1,100 | April 28 | October 8 | 163 |
| International Falls International Airport | 1,180 | May 29 | September 13 | 109 |
| Isabella 14 W | 1,740 | May 31 | September 15 | 104 |
| Island Lake 4 E | 1,410 | May 21 | September 27 | 129 |
| Isle 12 N | 1,290 | May 10 | October 3 | 144 |
| Itasca Univ of Minn | 1,490 | May 18 | September 27 | 130 |
| Jordan 1 SSW | 900 | May 2 | October 5 | 153 |
| Kabetogama | 1,200 | May 28 | September 16 | 111 |
| Kimball 3 N | 1,160 | May 2 | October 5 | 156 |
| La Crescent Dam 7 | 650 | April 15 | October 28 | 194 |
| Lake Wilson | 1,650 | May 7 | September 29 | 145 |
| Lakefield 2 NE | 1,530 | May 2 | October 2 | 153 |
| Lamberton SW Research & Outreach C | 1,140 | May 3 | October 2 | 152 |
| Leech Lake | 1,300 | May 8 | October 1 | 144 |
| Litchfield | 1,120 | May 6 | October 2 | 147 |
| Little Falls 2 NNE | 1,120 | May 4 | October 5 | 151 |
| Littlefork 10 SW | 1,200 | May 23 | September 21 | 118 |
| Long Prairie | 1,340 | May 13 | September 27 | 134 |
| Lower St Anthony Falls | 750 | April 23 | October 16 | 175 |
| Lutsen 3 NNE | 1,300 | May 26 | September 27 | 126 |
| Mabel | 1,110 | May 10 | September 28 | 140 |
| Madison WWTP | 1,080 | May 3 | October 2 | 151 |
| Mahnomen | 1,210 | May 7 | September 28 | 143 |
| Mankato | 850 | April 30 | October 9 | 161 |
| Marcell 5 NE | 1,390 | May 14 | October 2 | 140 |
| Marshall | 1,150 | May 5 | October 3 | 150 |
| Melrose | 1,190 | May 4 | October 1 | 148 |
| Milaca | 1,060 | May 8 | October 1 | 143 |
| Milan 1 NW | 1,020 | May 3 | October 2 | 151 |
| Minneapolis/st Paul Airport | 870 | April 23 | October 18 | 176 |
| Minnesota City Dam 5 | 670 | April 23 | October 16 | 175 |
| Montevideo 1 SW | 990 | May 4 | October 1 | 149 |
| Moorhead | 910 | May 5 | October 3 | 150 |
| Moose Lake 1 SSE | 1,110 | May 12 | October 2 | 144 |
| Mora | 1,020 | May 9 | September 30 | 142 |
| Morris W Central Research & Outreach | 1,140 | May 4 | October 1 | 150 |
| MPLS Crystal Airport | 860 | April 30 | October 8 | 159 |
| MPLS Flying Cloud Airport | 910 | April 23 | October 14 | 172 |
| New Hope | 910 | April 29 | October 12 | 163 |
| New London | 1,250 | May 4 | October 4 | 152 |
| New Ulm 2 SE | 890 | April 29 | October 7 | 161 |
| New Ulm 3 SE | 930 | May 2 | October 7 | 157 |
| New York Mills | 1,410 | May 10 | September 29 | 141 |
| Northome 3 S | 1,410 | May 16 | September 26 | 131 |
| Olivia 3 E | 1,100 | May 6 | October 1 | 146 |
| Orr 3 E | 1,320 | June 2 | September 15 | 102 |
| Ottertail | 1,350 | May 5 | October 5 | 153 |
| Owatonna | 1,140 | May 5 | October 6 | 154 |
| Park Rapids Municipal Airport | 1,430 | May 14 | September 25 | 133 |
| Pine River Dam | 1,250 | May 6 | October 7 | 152 |
| Pipestone | 1,710 | May 4 | October 2 | 152 |
| Pokegama Dam | 1,280 | May 16 | October 1 | 138 |
| Preston | 930 | May 14 | September 28 | 136 |
| Red Lake Falls | 1,040 | May 9 | September 30 | 142 |
| Red Lake Indian Agcy | 1,220 | May 12 | October 4 | 142 |
| Red Wing Dam 3 | 680 | April 23 | October 14 | 173 |
| Redwood Falls | 1,020 | April 30 | October 10 | 162 |
| Redwood Falls Municipal Airport | 1,020 | April 30 | October 4 | 157 |
| Rice | 1,060 | May 10 | September 29 | 140 |
| Rochester International Airport | 1,310 | April 30 | October 6 | 159 |
| Rosemount Research & Outreach Center | 940 | May 2 | October 5 | 155 |
| Rothsay | 1,200 | May 5 | October 3 | 149 |
| Rushford | 770 | May 8 | October 3 | 147 |
| Sandstone 6 W | 1,130 | May 13 | September 29 | 137 |
| Sandy Lake Dam Libby | 1,230 | May 7 | October 3 | 148 |
| Santiago 3 E | 1,010 | May 7 | September 28 | 144 |
| Sherburn 3 WSW | 1,320 | April 28 | October 8 | 162 |
| Springfield 1 NW | 1,070 | May 4 | October 1 | 150 |
| St Cloud Regional Airport | 1,020 | May 7 | September 30 | 144 |
| St James WWTP | 1,070 | April 30 | October 7 | 160 |
| St Paul | 900 | April 26 | October 12 | 166 |
| St Paul 3 SW | 930 | April 25 | October 12 | 169 |
| St Paul Downtown Airport | 700 | April 24 | October 16 | 174 |
| St Peter | 790 | May 2 | October 4 | 153 |
| Stillwater 1 SE | 710 | April 22 | October 19 | 178 |
| Stillwater 2 SW | 900 | April 30 | October 11 | 163 |
| Tamarac Wildlife Re | 1,510 | May 5 | October 3 | 150 |
| Theilman 1 SSW | 750 | May 7 | October 2 | 148 |
| Thief River Falls 2 | 1,130 | May 14 | September 28 | 135 |
| Thorhult | 1,240 | May 24 | September 20 | 120 |
| Tower 2 S | 1,430 | Frost possible any month | 89 | |
| Tracy | 1,400 | May 2 | October 5 | 156 |
| Two Harbors | 630 | May 12 | October 6 | 145 |
| Two Harbors 7 NW | 1,350 | May 27 | September 23 | 117 |
| U of MN St Paul | 970 | April 28 | October 8 | 162 |
| Vadnais Lake | 890 | April 23 | October 20 | 177 |
| Wadena 3 S | 1,370 | May 10 | September 30 | 141 |
| Walker | 1,430 | May 4 | October 7 | 155 |
| Warren WSD | 860 | May 5 | October 2 | 147 |
| Warroad | 1,070 | May 16 | September 24 | 129 |
| Waseca S Research & Outreach Center | 1,150 | May 2 | October 4 | 155 |
| Waskish 4 NE | 1,190 | May 22 | September 17 | 117 |
| Wells | 1,140 | April 30 | October 6 | 158 |
| Wheaton | 1,020 | May 1 | October 9 | 160 |
| White Rock Dam | 1,020 | May 3 | October 3 | 154 |
| Wild River SP | 840 | May 19 | September 25 | 128 |
| Willmar 5 N | 1,190 | May 1 | October 6 | 156 |
| Willmar WWTP | 1,100 | April 30 | October 7 | 159 |
| Windom | 1,380 | April 30 | October 10 | 162 |
| Winnebago | 1,110 | April 27 | October 10 | 166 |
| Winona | 650 | April 21 | October 19 | 180 |
| Winona Dam 5 A | 660 | April 23 | October 21 | 180 |
| Wolf Ridge Elc | 1,400 | May 15 | October 1 | 137 |
| Worthington 2 NNE | 1,570 | May 3 | October 4 | 153 |
| Wright 3 E | 1,330 | May 31 | September 18 | 107 |
| Zumbrota | 970 | May 9 | September 30 | 144 |
Typical (1-in-2) dates at 32°F. For the early and late years, and a planting calendar built from your own dates, look up your ZIP code.