Frost dates in Michigan
Across Michigan's 211 NOAA stations with a frost every year, the typical last spring frost ranges from April 17 at S Haven (590 feet above sea level) to June 7 at Vanderbilt 11 ENE (910 feet above sea level). The middle station's date is May 8.
Look up your ZIP code
Last frost across Michigan
The frost-free season runs from 94 days at Amasa 1 W to 201 days at S Haven.
The station with the latest frost is about 190 miles farther north than the one with the earliest.
At 2 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 Michigan's larger places
| Place | Last spring frost | First fall frost | Season | Zone |
|---|---|---|---|---|
| Ann Arbor | May 8 | October 4 | 147 days | 6a |
| Detroit | April 21 | October 31 | 190 days | 6b |
| Grand Rapids | April 29 | October 20 | 174 days | 6a |
| Lansing | May 1 | October 13 | 162 days | 6a |
| Sterling Heights | April 30 | October 24 | 174 days | 6b |
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 Michigan
Michigan's 1,154 ZIP codes in the USDA list fall in zones 4a to 7a: 4a (1 percent), 4b (3 percent), 5a (11 percent), 5b (9 percent), 6a (55 percent), 6b (19 percent) and 7a (under 1 percent). Compared with the 2012 map, 40 percent of them moved to a warmer half zone (7 by a full zone or more), 59 percent stayed the same and 14 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 Michigan
All 213 stations in Michigan 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) |
|---|---|---|---|---|
| Adrian 2 NNE | 760 | May 1 | October 15 | 164 |
| Adrian Lenawee Co Airport | 800 | April 27 | October 20 | 173 |
| Alberta Ford For Center | 1,310 | May 23 | October 1 | 128 |
| Algonac WWTP | 580 | May 3 | October 18 | 167 |
| Allegan 5 NE | 750 | May 4 | October 15 | 160 |
| Alma | 730 | May 1 | October 13 | 164 |
| Alpena 10 NW | 740 | May 13 | October 3 | 141 |
| Alpena Co Regional Airport | 690 | May 17 | October 1 | 136 |
| Alpena WWTP | 590 | May 5 | October 17 | 163 |
| Amasa 1 W | 1,470 | June 6 | September 9 | 94 |
| Ann Arbor Municipal Airport | 840 | May 8 | October 4 | 147 |
| Ann Arbor Se | 830 | May 5 | October 10 | 157 |
| Ann Arbor U of Mich | 810 | May 3 | October 13 | 160 |
| Atlanta | 880 | May 22 | September 27 | 127 |
| Atlanta 5 WNW | 1,180 | May 11 | October 6 | 146 |
| Auburn 2 NE | 600 | May 3 | October 14 | 161 |
| Bad Axe | 720 | May 5 | October 19 | 163 |
| Baraga 7 NW | 650 | May 25 | September 23 | 119 |
| Battle Creek 5 NW | 920 | May 6 | October 12 | 158 |
| Battle Creek Kellogg Airport | 930 | April 30 | October 19 | 170 |
| Benton Harbor Airport | 630 | May 5 | October 15 | 161 |
| Benton Harbor Airport | 640 | May 4 | October 17 | 164 |
| Bergland Dam | 1,300 | May 26 | September 27 | 123 |
| Beulah 7 SSW | 770 | May 7 | October 20 | 163 |
| Big Bay 1 NW | 760 | May 22 | October 6 | 137 |
| Big Rapids WTP | 900 | May 13 | October 2 | 142 |
| Blissfield 1 NNE | 690 | April 29 | October 13 | 168 |
| Bloomingdale | 730 | May 7 | October 11 | 156 |
| Boyne Falls | 730 | May 23 | October 3 | 133 |
| Burton 4 N | 760 | May 8 | October 5 | 148 |
| Cadillac | 1,300 | May 19 | October 1 | 135 |
| Cadillac 9&10 News | 1,360 | May 15 | October 1 | 139 |
| Carleton 2 W | 630 | April 27 | October 20 | 176 |
| Caro WWTP | 690 | May 7 | October 9 | 154 |
| Cass City 1 SSW | 700 | May 7 | October 10 | 152 |
| Central Michigan Univ | 790 | April 30 | October 20 | 171 |
| Champion Van Riper Park | 1,600 | Frost possible any month | 96 | |
| Charlevoix | 590 | May 1 | October 28 | 178 |
| Charlotte | 900 | May 1 | October 15 | 164 |
| Chatham 1 SE | 880 | May 27 | September 28 | 124 |
| Chatham Exp Farm 2 | 870 | May 30 | September 27 | 119 |
| Cheboygan | 590 | May 11 | October 11 | 152 |
| Chelsea | 900 | April 30 | October 12 | 163 |
| Clarksburg | 1,560 | June 5 | September 10 | 96 |
| Coldwater St School | 980 | May 2 | October 13 | 163 |
| Copper Harbor | 630 | May 10 | October 21 | 161 |
| Copper Harbor Fort Wilkins | 630 | May 20 | October 15 | 148 |
| Cornell 5 SE | 790 | May 19 | October 1 | 133 |
| Corunna 2 NE | 760 | May 5 | October 14 | 160 |
| Covington 1 NNW | 1,610 | May 17 | September 30 | 134 |
| Cross Village 1 E | 720 | May 15 | October 16 | 152 |
| Dearborn | 600 | May 1 | October 15 | 166 |
| Dearborn #2 | 600 | April 27 | October 25 | 181 |
| Detour Village | 590 | May 5 | October 20 | 167 |
| Detroit City Airport | 630 | April 21 | October 31 | 190 |
| Detroit Metro Airport | 630 | April 20 | October 27 | 188 |
| Detroit Willow Run Airport | 780 | April 24 | October 24 | 179 |
| Dowagiac 1 W | 740 | May 4 | October 11 | 158 |
| Dundee | 660 | April 27 | October 21 | 176 |
| Durand WWTP | 770 | May 3 | October 11 | 159 |
| E Grand Rapids | 740 | May 6 | October 10 | 157 |
| E Jordan | 590 | May 23 | October 2 | 131 |
| E Jordan 2 NW | 650 | May 16 | October 6 | 144 |
| E Tawas | 590 | May 8 | October 5 | 148 |
| East Lansing 4 S | 880 | April 28 | October 17 | 173 |
| Eaton Rapids | 870 | April 30 | October 14 | 165 |
| Eau Claire 4 NE | 840 | April 22 | October 30 | 189 |
| Engadine Mdot | 690 | May 26 | September 30 | 127 |
| Escanaba | 590 | May 13 | October 7 | 147 |
| Essexville | 590 | April 27 | October 20 | 173 |
| Farmington | 720 | May 1 | October 17 | 165 |
| Fife Lake 2 WNW | 1,050 | May 24 | October 1 | 130 |
| Filion 5 NNW | 640 | May 8 | October 17 | 162 |
| Flint 7 W | 680 | May 3 | October 13 | 162 |
| Flint Bishop International Airport | 770 | May 6 | October 10 | 155 |
| Frankenmuth 1 SE | 640 | May 3 | October 12 | 161 |
| Frankfort 2 NE | 950 | May 2 | October 26 | 175 |
| Fremont 4 WSW | 800 | May 8 | October 11 | 155 |
| Garden Corners | 590 | May 16 | September 24 | 129 |
| Gaylord | 1,320 | May 25 | September 26 | 125 |
| Gaylord 9 SSW | 1,470 | May 12 | October 7 | 147 |
| Gaylord 9 SSW | 1,460 | May 15 | October 7 | 145 |
| Gaylord Otsego Co Airport | 1,340 | May 22 | September 30 | 130 |
| Gladwin | 770 | May 9 | October 4 | 148 |
| Glennie 2 SE | 900 | May 19 | September 29 | 133 |
| Goodrich | 910 | May 1 | October 14 | 164 |
| Grand Haven WWTP | 600 | April 30 | October 24 | 175 |
| Grand Marais 2 E | 620 | May 27 | October 10 | 138 |
| Grand Rapids | 780 | April 29 | October 20 | 174 |
| Grayling | 1,140 | May 23 | September 27 | 124 |
| Greenland 6 N | 790 | May 23 | October 1 | 128 |
| Greenville 2 NNE | 880 | May 18 | September 28 | 133 |
| Grosse Pointe Farms | 610 | April 29 | October 22 | 176 |
| Gull Lake Biological Station | 930 | April 29 | October 20 | 173 |
| Hale 5 SSW #2 | 820 | May 23 | September 26 | 127 |
| Hale Loud Dam | 730 | May 16 | October 5 | 143 |
| Hancock Houghton Co Airport | 1,060 | May 17 | October 1 | 138 |
| Harbor Beach 1 SSE | 590 | May 2 | October 24 | 173 |
| Harrisville 2 NNE | 580 | May 8 | October 16 | 160 |
| Hart 3 WSW | 770 | May 12 | October 10 | 151 |
| Hastings | 820 | May 3 | October 12 | 158 |
| Hell | 890 | April 30 | October 14 | 166 |
| Herman | 1,720 | May 31 | September 22 | 115 |
| Hesperia 4 WNW | 780 | May 17 | October 1 | 137 |
| Hillsdale | 1,080 | May 3 | October 12 | 161 |
| Holland Tulip City Airport | 690 | April 28 | October 21 | 175 |
| Holland WTP | 620 | April 27 | October 25 | 178 |
| Houghton Lake 2 NW | 1,160 | May 20 | October 1 | 136 |
| Houghton Lake 6 WSW | 1,140 | May 30 | September 15 | 106 |
| Houghton Lake Roscommon Airport | 1,150 | May 19 | September 23 | 125 |
| Howell WWTP | 920 | May 4 | October 7 | 156 |
| Ionia 2 SSW | 800 | May 3 | October 12 | 161 |
| Iron Mountain Ford Airport | 1,150 | May 25 | September 24 | 121 |
| Iron Mountain-Kingsford WWTP | 1,070 | May 17 | October 1 | 135 |
| Ironwood | 1,430 | May 20 | October 1 | 132 |
| Ironwood #2 | 1,520 | May 19 | September 28 | 130 |
| Ishpeming WWTP | 1,410 | May 26 | September 25 | 119 |
| Jackson Reynolds Field | 1,000 | May 1 | October 14 | 164 |
| Jacobsville | 650 | June 1 | September 23 | 115 |
| Kalamazoo Battle Creek International Airport | 870 | April 28 | October 18 | 172 |
| Kalkaska | 1,040 | May 24 | October 1 | 128 |
| Kalkaska 11 SE | 1,080 | May 27 | September 22 | 117 |
| Kent City 2 SW | 840 | May 14 | September 29 | 135 |
| Ki Sawyer WWTP | 1,120 | May 13 | October 2 | 141 |
| Lake City Exp Farm | 1,230 | May 22 | September 26 | 125 |
| Lansing Capital City Airport | 840 | May 1 | October 13 | 162 |
| Lapeer 2 W | 840 | May 4 | October 13 | 161 |
| Lapeer WWTP | 820 | May 4 | October 14 | 160 |
| Lexington WTP | 620 | May 4 | October 24 | 171 |
| Linden WWTP | 860 | May 3 | October 12 | 161 |
| Ludington 4 SE | 690 | May 17 | October 7 | 144 |
| Lupton 1 S | 910 | May 21 | September 29 | 129 |
| Manchester | 960 | April 30 | October 14 | 165 |
| Manistee 3 SE | 670 | May 14 | October 12 | 151 |
| Manistique WWTP | 600 | May 9 | October 10 | 154 |
| Maple City 1 E | 800 | May 22 | October 9 | 140 |
| Marquette | 670 | May 8 | October 21 | 164 |
| Marquette | 1,410 | May 22 | September 29 | 129 |
| Midland | 640 | April 29 | October 16 | 167 |
| Milan 4 ESE | 670 | May 3 | October 10 | 158 |
| Milan WWTP | 680 | April 26 | October 19 | 175 |
| Milford GM Proving Ground | 970 | May 6 | October 12 | 157 |
| Mio Hydro Plant | 960 | May 19 | October 2 | 136 |
| Mio WWTP | 1,040 | May 20 | October 1 | 133 |
| Monroe | 590 | April 23 | October 23 | 182 |
| Montague 4 NW | 650 | May 19 | October 4 | 136 |
| Moran | 700 | May 23 | September 30 | 130 |
| Morenci | 770 | May 4 | October 7 | 156 |
| Mount Clemens Ang Base | 580 | April 30 | October 24 | 174 |
| Munising | 680 | May 16 | October 14 | 148 |
| Munsing Lakeshore | 610 | May 23 | October 10 | 138 |
| Muskegon Co Airport | 630 | April 30 | October 19 | 170 |
| Newberry Correctional Facility | 890 | May 21 | October 5 | 135 |
| Newport 4 SSE | 580 | April 27 | October 22 | 177 |
| Niles | 650 | April 27 | October 25 | 180 |
| Northport 2 W | 740 | May 9 | October 26 | 169 |
| NW Michigan Research Farm | 820 | April 30 | November 1 | 182 |
| Nwsfo Grand Rapids | 770 | April 30 | October 14 | 167 |
| Oil City 2 S | 680 | May 15 | September 29 | 134 |
| Old Mission 3 SSW | 660 | May 13 | October 19 | 158 |
| Onaway 4 N | 740 | May 22 | October 2 | 135 |
| Ontonagon 6 SE | 790 | May 27 | October 1 | 127 |
| Owosso WWTP | 730 | May 1 | October 15 | 164 |
| Paradise | 630 | May 31 | October 1 | 122 |
| Paulding | 1,370 | May 31 | September 19 | 111 |
| Pellston Airport #2 | 710 | May 21 | September 27 | 128 |
| Pellston Regional Airport | 710 | May 31 | September 18 | 108 |
| Petoskey | 600 | May 6 | October 20 | 166 |
| Petoskey NCMC | 750 | May 16 | October 9 | 147 |
| Pickford 3 NE | 630 | May 31 | September 25 | 116 |
| Pontiac Oakland Co International Airport | 980 | April 29 | October 20 | 172 |
| Pontiac WWTP | 890 | April 26 | October 22 | 177 |
| Port Austin WWTP | 600 | May 4 | October 26 | 172 |
| Port Hope | 600 | May 5 | October 24 | 169 |
| Port Hope | 590 | April 28 | November 3 | 187 |
| Port Huron | 590 | April 19 | November 3 | 196 |
| Rapid River 4 SSE | 600 | May 18 | October 4 | 137 |
| Richmond 4 NNW | 760 | May 1 | October 20 | 170 |
| Rogers City | 620 | May 10 | October 14 | 154 |
| Rudyard 4 N | 750 | May 24 | October 1 | 127 |
| Rudyard 5 SE | 670 | June 1 | September 21 | 110 |
| S Boardman 2 W | 1,050 | May 24 | October 4 | 133 |
| S Haven | 590 | April 17 | November 5 | 201 |
| Saginaw #3 | 600 | April 29 | October 21 | 175 |
| Saginaw MBS International Airport | 660 | April 26 | October 17 | 172 |
| Saint Johns | 740 | April 28 | October 24 | 179 |
| Saline 4 SW | 840 | May 2 | October 11 | 160 |
| Saline WWTP | 750 | May 2 | October 11 | 160 |
| Sandusky | 770 | May 2 | October 16 | 165 |
| Sault Ste Marie | 630 | May 22 | October 4 | 136 |
| Sault Ste Marie Sanderson Field | 720 | May 9 | October 11 | 151 |
| St Ignace | 660 | May 16 | October 13 | 149 |
| St Ignace Mackinac BR | 590 | May 7 | October 23 | 167 |
| St James 4 SSW Beaver | 670 | May 11 | October 19 | 159 |
| Stambaugh 2 SSE | 1,450 | June 4 | September 10 | 95 |
| Standish 4 NE | 620 | May 5 | October 10 | 156 |
| Stephenson 5 WSW | 690 | May 22 | September 27 | 126 |
| Tahquamenon Falls SP | 740 | Frost possible any month | 95 | |
| Tecumseh | 780 | May 3 | October 13 | 160 |
| Three Rivers | 810 | April 30 | October 17 | 170 |
| Tipton 2 WNW | 970 | May 5 | October 10 | 157 |
| Traverse City Cherry Capitol Airport | 620 | May 12 | October 16 | 155 |
| Traverse City Munson | 640 | May 9 | October 15 | 156 |
| Trout Lake 1 SW | 820 | May 21 | October 1 | 131 |
| Vanderbilt 11 ENE | 910 | June 7 | September 14 | 95 |
| Vassar | 630 | May 9 | October 7 | 150 |
| W Branch 3 SE | 890 | May 15 | October 4 | 143 |
| Watton 2 WSW | 1,390 | May 25 | September 25 | 123 |
| Wellston 1 N | 770 | May 28 | September 25 | 119 |
| White Lake 4 E | 1,050 | May 10 | October 6 | 148 |
| Whitefish Point | 620 | May 23 | October 15 | 144 |
| Whitmore Lake 1 NW | 910 | May 5 | October 13 | 160 |
| Yale 1 NNW | 820 | May 12 | October 5 | 147 |
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.