NOAA 1991–2020 freeze normals
Frost Dates in Michigan
Last and first frost at the 168 NOAA stations behind this site's Michigan pages.
At the middle station of the 168 in Michigan where a freeze comes every year, the last spring frost (50%) is May 5 and the first fall frost October 12, a freeze-free season of 158 days. The last frost is earliest at South Haven (S Haven, MI, April 17) and latest at Wolverine (Vanderbilt 11ENE, MI, June 7), 51 days apart. The season runs from 94 days at Crystal Falls to 201 at South Haven.
97 of these stations were also in NOAA's previous normals, for 1981–2010. Between the two, the median station's freeze-free season grew 6 days longer, with the last spring frost 1 day earlier and the first fall frost 5 days later; the season lengthened at 81 stations and shortened at 11. The two periods share twenty years, so the change reflects mostly 2011–2020 against 1981–1990.
Michigan places by frost date
| Place | ZIP | Last frost | First frost | Season | Winters with 32°F |
|---|---|---|---|---|---|
| Ypsilanti | 48197 | May 5 | October 10 | 157 d | 100% |
| Taylor | 48180 | April 20 | October 27 | 188 d | 100% |
| Macomb | 48044 | April 30 | October 24 | 174 d | 100% |
| Ann Arbor | 48103 | May 8 | October 4 | 147 d | 100% |
| Detroit | 48228 | April 27 | October 25 | 181 d | 100% |
| Canton | 48187 | April 24 | October 24 | 179 d | 100% |
| Grand Blanc | 48439 | May 6 | October 10 | 155 d | 100% |
| East Lansing | 48823 | April 28 | October 17 | 173 d | 100% |
| Jackson | 49201 | May 1 | October 14 | 164 d | 100% |
| Holland | 49424 | April 27 | October 25 | 178 d | 100% |
| Westland | 48185 | May 1 | October 15 | 166 d | 100% |
| Kalamazoo | 49009 | April 28 | October 18 | 172 d | 100% |
| Roseville | 48066 | April 29 | October 22 | 176 d | 100% |
| Howell | 48843 | May 4 | October 7 | 156 d | 100% |
| Holland | 49423 | April 28 | October 21 | 175 d | 100% |
| Detroit | 48219 | May 1 | October 17 | 165 d | 100% |
| Muskegon | 49442 | April 30 | October 19 | 170 d | 100% |
| Rochester Hills | 48307 | April 26 | October 22 | 177 d | 100% |
| Mt Pleasant | 48858 | April 30 | October 20 | 171 d | 100% |
| Hamtramck | 48212 | April 21 | October 31 | 190 d | 100% |
| Grand Rapids | 49508 | May 6 | October 10 | 157 d | 100% |
| Adrian | 49221 | May 1 | October 15 | 164 d | 100% |
| Port Huron | 48060 | April 19 | November 3 | 196 d | 100% |
| Bay City | 48706 | April 27 | October 20 | 173 d | 100% |
| Fenton | 48430 | May 3 | October 12 | 161 d | 100% |
| South Lyon | 48178 | May 5 | October 13 | 160 d | 100% |
| Ann Arbor | 48105 | May 3 | October 13 | 160 d | 100% |
| Niles | 49120 | April 27 | October 25 | 180 d | 100% |
| Midland | 48642 | April 29 | October 16 | 167 d | 100% |
| Davison | 48423 | May 8 | October 5 | 148 d | 100% |
| Grand Rapids | 49546 | April 29 | October 20 | 174 d | 100% |
| Grand Haven | 49417 | April 30 | October 24 | 175 d | 100% |
| Marquette | 49855 | May 8 | October 21 | 164 d | 100% |
| Saginaw | 48601 | April 29 | October 21 | 175 d | 100% |
| Lansing | 48917 | May 1 | October 13 | 162 d | 100% |
| Lapeer | 48446 | May 4 | October 14 | 160 d | 100% |
| Benton Harbor | 49022 | May 5 | October 15 | 161 d | 100% |
| Battle Creek | 49015 | April 30 | October 19 | 170 d | 100% |
| Monroe | 48162 | April 23 | October 23 | 182 d | 100% |
| Owosso | 48867 | May 1 | October 15 | 164 d | 100% |
| Caledonia | 49316 | April 30 | October 14 | 167 d | 100% |
| Flushing | 48433 | May 3 | October 13 | 162 d | 100% |
| Waterford | 48328 | April 29 | October 20 | 172 d | 100% |
| Traverse City | 49686 | May 12 | October 16 | 155 d | 100% |
| Clarkston | 48348 | May 10 | October 6 | 148 d | 100% |
| Coldwater | 49036 | May 2 | October 13 | 163 d | 100% |
| Flat Rock | 48134 | April 27 | October 20 | 176 d | 100% |
| Saline | 48176 | May 2 | October 11 | 160 d | 100% |
| Holly | 48442 | May 1 | October 14 | 164 d | 100% |
| Cadillac | 49601 | May 15 | October 1 | 139 d | 100% |
| Alpena | 49707 | May 5 | October 17 | 163 d | 100% |
| Ionia | 48846 | May 3 | October 12 | 161 d | 100% |
| Brighton | 48114 | May 6 | October 12 | 157 d | 100% |
| Traverse City | 49684 | May 9 | October 15 | 156 d | 100% |
| Pinckney | 48169 | April 30 | October 14 | 166 d | 100% |
| Battle Creek | 49017 | May 6 | October 12 | 158 d | 100% |
| Gaylord | 49735 | May 22 | September 30 | 130 d | 100% |
| Charlotte | 48813 | May 1 | October 15 | 164 d | 100% |
| Hastings | 49058 | May 3 | October 12 | 158 d | 100% |
| Sturgis | 49091 | April 26 | October 21 | 176 d | 100% |
| Sault Sainte Marie | 49783 | May 9 | October 11 | 151 d | 100% |
| Cedar Springs | 49319 | May 14 | September 29 | 135 d | 100% |
| Saint Johns | 48879 | April 28 | October 24 | 179 d | 100% |
| Three Rivers | 49093 | April 30 | October 17 | 170 d | 100% |
| Allegan | 49010 | May 4 | October 15 | 160 d | 100% |
| Big Rapids | 49307 | May 13 | October 2 | 142 d | 100% |
| Greenville | 48838 | May 18 | September 28 | 133 d | 100% |
| Petoskey | 49770 | May 16 | October 9 | 147 d | 100% |
| Ludington | 49431 | May 17 | October 7 | 144 d | 100% |
| Escanaba | 49829 | May 13 | October 7 | 147 d | 100% |
| Dexter | 48130 | April 30 | October 12 | 163 d | 100% |
| Gladwin | 48624 | May 9 | October 4 | 148 d | 100% |
| Eaton Rapids | 48827 | April 30 | October 14 | 165 d | 100% |
| Freeland | 48623 | April 26 | October 17 | 172 d | 100% |
| Hillsdale | 49242 | May 3 | October 12 | 161 d | 100% |
| Dowagiac | 49047 | May 4 | October 11 | 158 d | 100% |
| Manistee | 49660 | May 14 | October 12 | 151 d | 100% |
| Tecumseh | 49286 | May 3 | October 13 | 160 d | 100% |
| Milan | 48160 | April 26 | October 19 | 175 d | 100% |
| Cheboygan | 49721 | May 11 | October 11 | 152 d | 100% |
| Newport | 48166 | April 27 | October 22 | 177 d | 100% |
| South Haven | 49090 | April 17 | November 5 | 201 d | 100% |
| Alma | 48801 | May 1 | October 13 | 164 d | 100% |
| Paw Paw | 49079 | May 7 | October 11 | 156 d | 100% |
| Newaygo | 49337 | May 8 | October 11 | 155 d | 100% |
| Harrison | 48625 | May 30 | September 15 | 106 d | 100% |
| Ishpeming | 49849 | May 26 | September 25 | 119 d | 100% |
| Caro | 48723 | May 7 | October 9 | 154 d | 100% |
| Iron Mountain | 49801 | May 25 | September 24 | 121 d | 100% |
| Algonac | 48001 | May 3 | October 18 | 167 d | 100% |
| Romeo | 48065 | May 1 | October 20 | 170 d | 100% |
| Berrien Springs | 49103 | April 22 | October 30 | 189 d | 100% |
| West Branch | 48661 | May 15 | October 4 | 143 d | 100% |
| Lambertville | 48144 | April 29 | October 13 | 168 d | 100% |
| Brooklyn | 49230 | May 5 | October 10 | 157 d | 100% |
| Houghton | 49931 | May 17 | October 1 | 138 d | 100% |
| Gladstone | 49837 | May 18 | October 4 | 137 d | 100% |
| Roscommon | 48653 | May 19 | September 23 | 125 d | 100% |
| Whitehall | 49461 | May 19 | October 4 | 136 d | 100% |
| Grayling | 49738 | May 23 | September 27 | 124 d | 100% |
| Oscoda | 48750 | May 8 | October 5 | 148 d | 100% |
| Vassar | 48768 | May 9 | October 7 | 150 d | 100% |
| Charlevoix | 49720 | May 1 | October 28 | 178 d | 100% |
| Birch Run | 48415 | May 3 | October 12 | 161 d | 100% |
| Kalkaska | 49646 | May 24 | October 1 | 128 d | 100% |
| Dundee | 48131 | April 27 | October 21 | 176 d | 100% |
| Negaunee | 49866 | May 22 | September 29 | 129 d | 100% |
| Boyne City | 49712 | May 23 | October 3 | 133 d | 100% |
| Richland | 49083 | April 29 | October 20 | 173 d | 100% |
| Durand | 48429 | May 3 | October 11 | 159 d | 100% |
| Houghton Lake | 48629 | May 20 | October 1 | 136 d | 100% |
| Manchester | 48158 | April 30 | October 14 | 165 d | 100% |
| Lake City | 49651 | May 22 | September 26 | 125 d | 100% |
| Ironwood | 49938 | May 19 | September 28 | 130 d | 100% |
| Bad Axe | 48413 | May 5 | October 19 | 163 d | 100% |
| Gwinn | 49841 | May 13 | October 2 | 141 d | 100% |
| Kingsley | 49649 | May 24 | October 1 | 130 d | 100% |
| Harbor Springs | 49740 | May 6 | October 20 | 166 d | 100% |
| Pinconning | 48650 | May 5 | October 10 | 156 d | 100% |
| East Jordan | 49727 | May 23 | October 2 | 131 d | 100% |
| Columbiaville | 48421 | May 4 | October 13 | 161 d | 100% |
| Croswell | 48422 | May 4 | October 24 | 171 d | 100% |
| Manistique | 49854 | May 9 | October 10 | 154 d | 100% |
| Hart | 49420 | May 12 | October 10 | 151 d | 100% |
| Kingsford | 49802 | May 17 | October 1 | 135 d | 100% |
| Auburn | 48611 | May 3 | October 14 | 161 d | 100% |
| Iron River | 49935 | June 4 | September 10 | 95 d | 100% |
| Cass City | 48726 | May 7 | October 10 | 152 d | 100% |
| Hesperia | 49421 | May 17 | October 1 | 137 d | 100% |
| Sandusky | 48471 | May 2 | October 16 | 165 d | 100% |
| Corunna | 48817 | May 5 | October 14 | 160 d | 100% |
| Brockway | 48097 | May 12 | October 5 | 147 d | 100% |
| Hudson | 49247 | May 4 | October 7 | 156 d | 100% |
| Newberry | 49868 | May 21 | October 5 | 135 d | 100% |
| Coleman | 48618 | May 15 | September 29 | 134 d | 100% |
| Indian River | 49749 | May 31 | September 18 | 108 d | 100% |
| Baldwin | 49304 | May 28 | September 25 | 119 d | 100% |
| Rogers City | 49779 | May 10 | October 14 | 154 d | 100% |
| Munising | 49862 | May 16 | October 14 | 148 d | 100% |
| Suttons Bay | 49682 | May 13 | October 19 | 158 d | 100% |
| Onaway | 49765 | May 22 | October 2 | 135 d | 100% |
| Willis | 48191 | May 3 | October 10 | 158 d | 100% |
| Crystal Falls | 49920 | June 6 | September 9 | 94 d | 100% |
| Mio | 48647 | May 20 | October 1 | 133 d | 100% |
| Kincheloe | 49788 | June 1 | September 21 | 110 d | 100% |
| Lewiston | 49756 | May 11 | October 6 | 146 d | 100% |
| Saint Ignace | 49781 | May 16 | October 13 | 149 d | 100% |
| Prescott | 48756 | May 23 | September 26 | 127 d | 100% |
| Harbor Beach | 48441 | May 2 | October 24 | 173 d | 100% |
| Lanse | 49946 | May 31 | September 22 | 115 d | 100% |
| Cedar | 49621 | May 22 | October 9 | 140 d | 100% |
| Atlanta | 49709 | May 22 | September 27 | 127 d | 100% |
| Frankfort | 49635 | May 2 | October 26 | 175 d | 100% |
| Brimley | 49715 | May 24 | October 1 | 127 d | 100% |
| Baraga | 49908 | May 25 | September 23 | 119 d | 100% |
| Chassell | 49916 | June 1 | September 23 | 115 d | 100% |
| Bark River | 49807 | May 19 | October 1 | 133 d | 100% |
| Bear Lake | 49614 | May 7 | October 20 | 163 d | 100% |
| Pigeon | 48755 | May 8 | October 17 | 162 d | 100% |
| Rose City | 48654 | May 21 | September 29 | 129 d | 100% |
| Harrisville | 48740 | May 8 | October 16 | 160 d | 100% |
| Port Austin | 48467 | May 4 | October 26 | 172 d | 100% |
| Ontonagon | 49953 | May 27 | October 1 | 127 d | 100% |
| Wolverine | 49799 | June 7 | September 14 | 95 d | 100% |
| Hubbard Lake | 49747 | May 17 | October 1 | 136 d | 100% |
| South Boardman | 49680 | May 24 | October 4 | 133 d | 100% |
| Elmira | 49730 | May 25 | September 26 | 125 d | 100% |
| Clayton | 49235 | April 27 | October 20 | 173 d | 100% |
50% dates from NOAA NCEI U.S. Climate Normals 1991–2020, one row per station; a state page is published when at least 5 stations stand behind its pages. Where a freeze comes in fewer than nine winters in ten, the dates describe the winters that have one.