Last frost dates in Michigan
211 NOAA weather stations in Michigan have thirty years of frost records. The median station sees its last 32 °F night around May 8; across the state that ranges from Apr 17 to Jun 7, so pick the station nearest you rather than a state-wide figure.
| S HAVEN | Apr 17 | May 4 | Apr 3 | Nov 5 | 201 |
| PORT HURON | Apr 19 | May 4 | Apr 7 | Nov 3 | 196 |
| DETROIT METRO AP | Apr 20 | May 8 | Apr 6 | Oct 27 | 188 |
| DETROIT CITY AP | Apr 21 | May 6 | Apr 7 | Oct 31 | 190 |
| EAU CLAIRE 4 NE | Apr 22 | May 7 | Apr 6 | Oct 30 | 189 |
| MONROE | Apr 23 | May 7 | Apr 8 | Oct 23 | 182 |
| DETROIT WILLOW RUN AP | Apr 24 | May 11 | Apr 10 | Oct 24 | 179 |
| MILAN WWTP | Apr 26 | May 9 | Apr 13 | Oct 19 | 175 |
| PONTIAC WWTP | Apr 26 | May 12 | Apr 15 | Oct 22 | 177 |
| SAGINAW MBS INTL AP | Apr 26 | May 13 | Apr 13 | Oct 17 | 172 |
| ADRIAN LENAWEE CO AP | Apr 27 | May 14 | Apr 13 | Oct 20 | 173 |
| CARLETON 2W | Apr 27 | May 13 | Apr 12 | Oct 20 | 176 |
| DEARBORN #2 | Apr 27 | May 11 | Apr 12 | Oct 25 | 181 |
| DUNDEE | Apr 27 | May 13 | Apr 14 | Oct 21 | 176 |
| ESSEXVILLE | Apr 27 | May 11 | Apr 15 | Oct 20 | 173 |
| HOLLAND WTP | Apr 27 | May 12 | Apr 13 | Oct 25 | 178 |
| NEWPORT 4SSE | Apr 27 | May 12 | Apr 12 | Oct 22 | 177 |
| NILES | Apr 27 | May 14 | Apr 10 | Oct 25 | 180 |
| EAST LANSING 4 S | Apr 28 | May 16 | Apr 13 | Oct 17 | 173 |
| HOLLAND TULIP CITY AP | Apr 28 | May 16 | Apr 13 | Oct 21 | 175 |
| KALAMAZOO BATTLE CK INTL AP | Apr 28 | May 13 | Apr 13 | Oct 18 | 172 |
| PORT HOPE | Apr 28 | May 14 | Apr 13 | Nov 3 | 187 |
| SAINT JOHNS | Apr 28 | May 12 | Apr 12 | Oct 24 | 179 |
| BLISSFIELD 1NNE | Apr 29 | May 15 | Apr 15 | Oct 13 | 168 |
| GRAND RAPIDS | Apr 29 | May 15 | Apr 14 | Oct 20 | 174 |
| GROSSE POINTE FARMS | Apr 29 | May 13 | Apr 15 | Oct 22 | 176 |
| GULL LAKE BIOLOGICAL STN | Apr 29 | May 18 | Apr 12 | Oct 20 | 173 |
| MIDLAND | Apr 29 | May 16 | Apr 16 | Oct 16 | 167 |
| PONTIAC OAKLAND CO INTL AP | Apr 29 | May 14 | Apr 16 | Oct 20 | 172 |
| SAGINAW #3 | Apr 29 | May 13 | Apr 14 | Oct 21 | 175 |
| BATTLE CREEK KELLOGG AP | Apr 30 | May 17 | Apr 16 | Oct 19 | 170 |
| CENTRAL MICHIGAN UNIV | Apr 30 | May 16 | Apr 17 | Oct 20 | 171 |
| CHELSEA | Apr 30 | May 17 | Apr 18 | Oct 12 | 163 |
| EATON RAPIDS | Apr 30 | May 16 | Apr 16 | Oct 14 | 165 |
| GRAND HAVEN WWTP | Apr 30 | May 16 | Apr 17 | Oct 24 | 175 |
| HELL | Apr 30 | May 17 | Apr 16 | Oct 14 | 166 |
| MANCHESTER | Apr 30 | May 16 | Apr 16 | Oct 14 | 165 |
| MT CLEMENS ANG BASE | Apr 30 | May 15 | Apr 16 | Oct 24 | 174 |
| MUSKEGON CO AP | Apr 30 | May 18 | Apr 17 | Oct 19 | 170 |
| NW MICHIGAN RSCH FARM | Apr 30 | May 15 | Apr 16 | Nov 1 | 182 |
| NWSFO GRAND RAPIDS | Apr 30 | May 17 | Apr 16 | Oct 14 | 167 |
| THREE RIVERS | Apr 30 | May 15 | Apr 16 | Oct 17 | 170 |
| ADRIAN 2 NNE | May 1 | May 17 | Apr 18 | Oct 15 | 164 |
| ALMA | May 1 | May 19 | Apr 17 | Oct 13 | 164 |
| CHARLEVOIX | May 1 | May 16 | Apr 18 | Oct 28 | 178 |
| CHARLOTTE | May 1 | May 18 | Apr 19 | Oct 15 | 164 |
| DEARBORN | May 1 | May 18 | Apr 17 | Oct 15 | 166 |
| FARMINGTON | May 1 | May 16 | Apr 19 | Oct 17 | 165 |
| GOODRICH | May 1 | May 18 | Apr 20 | Oct 14 | 164 |
| JACKSON REYNOLDS FLD | May 1 | May 18 | Apr 16 | Oct 14 | 164 |
| LANSING CAPITAL CITY AP | May 1 | May 18 | Apr 18 | Oct 13 | 162 |
| OWOSSO WWTP | May 1 | May 17 | Apr 17 | Oct 15 | 164 |
| RICHMOND 4 NNW | May 1 | May 17 | Apr 18 | Oct 20 | 170 |
| COLDWATER ST SCHOOL | May 2 | May 18 | Apr 18 | Oct 13 | 163 |
| FRANKFORT 2NE | May 2 | May 20 | Apr 19 | Oct 26 | 175 |
| HARBOR BEACH 1 SSE | May 2 | May 17 | Apr 19 | Oct 24 | 173 |
| SALINE 4SW | May 2 | May 18 | Apr 19 | Oct 11 | 160 |
| SALINE WWTP | May 2 | May 18 | Apr 17 | Oct 11 | 160 |
| SANDUSKY | May 2 | May 17 | Apr 19 | Oct 16 | 165 |
| ALGONAC WWTP | May 3 | May 23 | Apr 20 | Oct 18 | 167 |
| ANN ARBOR U OF MICH | May 3 | May 20 | Apr 20 | Oct 13 | 160 |
| AUBURN 2NE | May 3 | May 23 | Apr 20 | Oct 14 | 161 |
| DURAND WWTP | May 3 | May 19 | Apr 21 | Oct 11 | 159 |
| FLINT 7W | May 3 | May 20 | Apr 20 | Oct 13 | 162 |
| FRANKENMUTH 1SE | May 3 | May 20 | Apr 19 | Oct 12 | 161 |
| HASTINGS | May 3 | May 22 | Apr 20 | Oct 12 | 158 |
| HILLSDALE | May 3 | May 19 | Apr 20 | Oct 12 | 161 |
| IONIA 2SSW | May 3 | May 21 | Apr 17 | Oct 12 | 161 |
| LINDEN WWTP | May 3 | May 20 | Apr 21 | Oct 12 | 161 |
| MILAN 4 ESE | May 3 | May 25 | Apr 17 | Oct 10 | 158 |
| TECUMSEH | May 3 | May 18 | Apr 20 | Oct 13 | 160 |
| ALLEGAN 5NE | May 4 | May 22 | Apr 22 | Oct 15 | 160 |
| BENTON HARBOR AP | May 4 | May 22 | Apr 19 | Oct 17 | 164 |
| DOWAGIAC 1 W | May 4 | May 22 | Apr 21 | Oct 11 | 158 |
| HOWELL WWTP | May 4 | May 21 | Apr 20 | Oct 7 | 156 |
| LAPEER 2W | May 4 | May 21 | Apr 21 | Oct 13 | 161 |
| LAPEER WWTP | May 4 | May 22 | Apr 22 | Oct 14 | 160 |
| LEXINGTON WTP | May 4 | May 20 | Apr 20 | Oct 24 | 171 |
| MORENCI | May 4 | May 19 | Apr 22 | Oct 7 | 156 |
| PORT AUSTIN WWTP | May 4 | May 19 | Apr 20 | Oct 26 | 172 |
| ALPENA WWTP | May 5 | May 21 | Apr 21 | Oct 17 | 163 |
| ANN ARBOR SE | May 5 | May 20 | Apr 21 | Oct 10 | 157 |
| BAD AXE | May 5 | May 20 | Apr 22 | Oct 19 | 163 |
| BENTON HARBOR AP | May 5 | May 26 | Apr 20 | Oct 15 | 161 |
| CORUNNA 2 NE | May 5 | May 20 | Apr 20 | Oct 14 | 160 |
| DETOUR VILLAGE | May 5 | May 20 | Apr 24 | Oct 20 | 167 |
| PORT HOPE | May 5 | May 21 | Apr 21 | Oct 24 | 169 |
| STANDISH 4NE | May 5 | May 23 | Apr 21 | Oct 10 | 156 |
| TIPTON 2WNW | May 5 | May 23 | Apr 22 | Oct 10 | 157 |
| WHITMORE LAKE 1NW | May 5 | May 21 | Apr 22 | Oct 13 | 160 |
| BATTLE CREEK 5NW | May 6 | May 23 | Apr 21 | Oct 12 | 158 |
| E GRAND RAPIDS | May 6 | May 23 | Apr 24 | Oct 10 | 157 |
| FLINT BISHOP INTL AP | May 6 | May 23 | Apr 21 | Oct 10 | 155 |
| MILFORD GM PROVING GROUND | May 6 | May 22 | Apr 21 | Oct 12 | 157 |
| PETOSKEY | May 6 | May 21 | Apr 23 | Oct 20 | 166 |
| BEULAH 7SSW | May 7 | May 25 | Apr 23 | Oct 20 | 163 |
| BLOOMINGDALE | May 7 | May 22 | Apr 23 | Oct 11 | 156 |
| CARO WWTP | May 7 | May 24 | Apr 24 | Oct 9 | 154 |
| CASS CITY 1 SSW | May 7 | May 22 | Apr 25 | Oct 10 | 152 |
| ST IGNACE MACKINAC BR | May 7 | May 22 | Apr 25 | Oct 23 | 167 |
| ANN ARBOR MUNI AP | May 8 | May 26 | Apr 23 | Oct 4 | 147 |
| BURTON 4N | May 8 | May 22 | Apr 28 | Oct 5 | 148 |
| E TAWAS | May 8 | May 26 | Apr 26 | Oct 5 | 148 |
| FILION 5NNW | May 8 | May 22 | Apr 24 | Oct 17 | 162 |
| FREMONT 4 WSW | May 8 | May 25 | Apr 24 | Oct 11 | 155 |
| HARRISVILLE 2NNE | May 8 | May 24 | Apr 26 | Oct 16 | 160 |
| MARQUETTE | May 8 | May 23 | Apr 26 | Oct 21 | 164 |
| GLADWIN | May 9 | May 23 | Apr 26 | Oct 4 | 148 |
| MANISTIQUE WWTP | May 9 | May 23 | Apr 27 | Oct 10 | 154 |
| NORTHPORT 2W | May 9 | May 24 | Apr 24 | Oct 26 | 169 |
| SAULT STE MARIE SANDERSON FLD | May 9 | May 27 | Apr 27 | Oct 11 | 151 |
| TRAVERSE CITY MUNSON | May 9 | May 23 | Apr 26 | Oct 15 | 156 |
| VASSAR | May 9 | May 24 | Apr 26 | Oct 7 | 150 |
| COPPER HARBOR | May 10 | Jun 2 | Apr 26 | Oct 21 | 161 |
| ROGERS CITY | May 10 | May 24 | Apr 28 | Oct 14 | 154 |
| WHITE LAKE 4E | May 10 | May 26 | Apr 25 | Oct 6 | 148 |
| ATLANTA 5 WNW | May 11 | May 31 | Apr 27 | Oct 6 | 146 |
| CHEBOYGAN | May 11 | May 25 | Apr 29 | Oct 11 | 152 |
| ST JAMES 4SSW BEAVER | May 11 | May 26 | Apr 27 | Oct 19 | 159 |
| GAYLORD 9SSW | May 12 | May 29 | Apr 27 | Oct 7 | 147 |
| HART 3 WSW | May 12 | May 28 | Apr 25 | Oct 10 | 151 |
| TRAVERSE CITY CHERRY CPTL AP | May 12 | May 27 | Apr 26 | Oct 16 | 155 |
| YALE 1 NNW | May 12 | May 26 | Apr 29 | Oct 5 | 147 |
| ALPENA 10NW | May 13 | May 30 | Apr 30 | Oct 3 | 141 |
| BIG RAPIDS WTP | May 13 | May 28 | Apr 28 | Oct 2 | 142 |
| ESCANABA | May 13 | May 31 | Apr 30 | Oct 7 | 147 |
| KI SAWYER WWTP | May 13 | May 29 | Apr 28 | Oct 2 | 141 |
| OLD MISSION 3SSW | May 13 | May 29 | Apr 28 | Oct 19 | 158 |
| KENT CITY 2 SW | May 14 | May 31 | Apr 29 | Sep 29 | 135 |
| MANISTEE 3SE | May 14 | May 31 | Apr 27 | Oct 12 | 151 |
| CADILLAC 9&10 NEWS | May 15 | May 30 | Apr 30 | Oct 1 | 139 |
| CROSS VILLAGE 1E | May 15 | May 30 | Apr 30 | Oct 16 | 152 |
| GAYLORD 9 SSW | May 15 | May 30 | Apr 28 | Oct 7 | 145 |
| OIL CITY 2S | May 15 | Jun 2 | Apr 30 | Sep 29 | 134 |
| W BRANCH 3SE | May 15 | May 29 | Apr 29 | Oct 4 | 143 |
| E JORDAN 2NW | May 16 | May 30 | Apr 29 | Oct 6 | 144 |
| GARDEN CORNERS | May 16 | Jun 3 | May 1 | Sep 24 | 129 |
| HALE LOUD DAM | May 16 | May 30 | May 1 | Oct 5 | 143 |
| MUNISING | May 16 | Jun 2 | May 1 | Oct 14 | 148 |
| PETOSKEY NCMC | May 16 | May 31 | Apr 30 | Oct 9 | 147 |
| ST IGNACE | May 16 | May 29 | Apr 30 | Oct 13 | 149 |
| ALPENA CO RGNL AP | May 17 | May 31 | May 1 | Oct 1 | 136 |
| COVINGTON 1NNW | May 17 | May 30 | May 2 | Sep 30 | 134 |
| HANCOCK HOUGHTON CO AP | May 17 | Jun 3 | May 1 | Oct 1 | 138 |
| HESPERIA 4 WNW | May 17 | Jun 1 | Apr 30 | Oct 1 | 137 |
| IRON MTN-KINGSFORD WWTP | May 17 | May 31 | May 2 | Oct 1 | 135 |
| LUDINGTON 4 SE | May 17 | Jun 1 | Apr 28 | Oct 7 | 144 |
| GREENVILLE 2 NNE | May 18 | Jun 3 | Apr 29 | Sep 28 | 133 |
| RAPID RVR 4SSE | May 18 | Jun 2 | May 3 | Oct 4 | 137 |
| CADILLAC | May 19 | Jun 3 | May 2 | Oct 1 | 135 |
| CORNELL 5SE | May 19 | Jun 3 | May 2 | Oct 1 | 133 |
| GLENNIE 2SE | May 19 | Jun 2 | May 3 | Sep 29 | 133 |
| HOUGHTON LK ROSCOMMON AP | May 19 | Jun 3 | Apr 30 | Sep 23 | 125 |
| IRONWOOD #2 | May 19 | Jun 3 | May 2 | Sep 28 | 130 |
| MIO HYDRO PLT | May 19 | May 31 | May 1 | Oct 2 | 136 |
| MONTAGUE 4 NW | May 19 | Jun 6 | May 1 | Oct 4 | 136 |
| COPPER HARBOR FT WILKINS | May 20 | Jun 3 | May 3 | Oct 15 | 148 |
| HOUGHTON LAKE 2NW | May 20 | Jun 3 | May 2 | Oct 1 | 136 |
| IRONWOOD | May 20 | Jun 3 | May 2 | Oct 1 | 132 |
| MIO WWTP | May 20 | Jun 2 | May 2 | Oct 1 | 133 |
| LUPTON 1S | May 21 | Jun 5 | May 5 | Sep 29 | 129 |
| NEWBERRY CORRECTIONAL FACILITY | May 21 | Jun 4 | May 4 | Oct 5 | 135 |
| PELLSTON AP #2 | May 21 | Jun 5 | May 4 | Sep 27 | 128 |
| TROUT LAKE 1SW | May 21 | Jun 5 | May 4 | Oct 1 | 131 |
| ATLANTA | May 22 | Jun 5 | May 5 | Sep 27 | 127 |
| BIG BAY 1NW | May 22 | Jun 5 | May 3 | Oct 6 | 137 |
| GAYLORD OTSEGO CO AP | May 22 | Jun 6 | May 2 | Sep 30 | 130 |
| LAKE CITY EXP FARM | May 22 | Jun 6 | May 8 | Sep 26 | 125 |
| MAPLE CITY 1E | May 22 | Jun 6 | May 4 | Oct 9 | 140 |
| MARQUETTE | May 22 | Jun 4 | May 6 | Sep 29 | 129 |
| ONAWAY 4N | May 22 | Jun 2 | May 3 | Oct 2 | 135 |
| SAULT STE MARIE | May 22 | Jun 4 | May 5 | Oct 4 | 136 |
| STEPHENSON 5WSW | May 22 | Jun 4 | May 7 | Sep 27 | 126 |
| ALBERTA FORD FOR CTR | May 23 | Jun 8 | May 4 | Oct 1 | 128 |
| BOYNE FALLS | May 23 | Jun 6 | May 4 | Oct 3 | 133 |
| E JORDAN | May 23 | Jun 6 | May 5 | Oct 2 | 131 |
| GRAYLING | May 23 | Jun 7 | May 6 | Sep 27 | 124 |
| GREENLAND 6N | May 23 | Jun 8 | May 6 | Oct 1 | 128 |
| HALE 5SSW #2 | May 23 | Jun 7 | May 5 | Sep 26 | 127 |
| MORAN | May 23 | Jun 6 | May 6 | Sep 30 | 130 |
| MUNSING LAKESHORE | May 23 | Jun 8 | May 7 | Oct 10 | 138 |
| WHITEFISH PT | May 23 | Jun 8 | May 7 | Oct 15 | 144 |
| FIFE LAKE 2WNW | May 24 | Jun 6 | May 7 | Oct 1 | 130 |
| KALKASKA | May 24 | Jun 7 | May 7 | Oct 1 | 128 |
| RUDYARD 4N | May 24 | Jun 10 | May 8 | Oct 1 | 127 |
| S BOARDMAN 2W | May 24 | Jun 8 | May 3 | Oct 4 | 133 |
| BARAGA 7NW | May 25 | Jun 9 | May 9 | Sep 23 | 119 |
| GAYLORD | May 25 | Jun 8 | May 8 | Sep 26 | 125 |
| IRON MTN FORD AP | May 25 | Jun 6 | May 10 | Sep 24 | 121 |
| WATTON 2WSW | May 25 | Jun 11 | May 7 | Sep 25 | 123 |
| BERGLAND DAM | May 26 | Jun 8 | May 9 | Sep 27 | 123 |
| ENGADINE MDOT | May 26 | Jun 10 | May 12 | Sep 30 | 127 |
| ISHPEMING WWTP | May 26 | Jun 8 | May 10 | Sep 25 | 119 |
| CHATHAM 1 SE | May 27 | Jun 12 | May 11 | Sep 28 | 124 |
| GRAND MARAIS 2 E | May 27 | Jun 13 | May 7 | Oct 10 | 138 |
| KALKASKA 11SE | May 27 | Jun 13 | May 8 | Sep 22 | 117 |
| ONTONAGON 6 SE | May 27 | Jun 13 | May 7 | Oct 1 | 127 |
| WELLSTON 1N | May 28 | Jun 13 | May 13 | Sep 25 | 119 |
| CHATHAM EXP FARM 2 | May 30 | Jun 21 | May 14 | Sep 27 | 119 |
| HOUGHTON LAKE 6 WSW | May 30 | Jun 19 | May 12 | Sep 15 | 106 |
| HERMAN | May 31 | Jun 17 | May 12 | Sep 22 | 115 |
| PARADISE | May 31 | Jun 16 | May 15 | Oct 1 | 122 |
| PAULDING | May 31 | Jun 13 | May 16 | Sep 19 | 111 |
| PELLSTON RGNL AP | May 31 | Jun 21 | May 16 | Sep 18 | 108 |
| PICKFORD 3NE | May 31 | Jun 14 | May 14 | Sep 25 | 116 |
| JACOBSVILLE | Jun 1 | Jun 17 | May 14 | Sep 23 | 115 |
| RUDYARD 5SE | Jun 1 | Jun 20 | May 18 | Sep 21 | 110 |
| STAMBAUGH 2SSE | Jun 4 | Jun 26 | May 22 | Sep 10 | 95 |
| CLARKSBURG | Jun 5 | Jun 24 | May 23 | Sep 10 | 96 |
| AMASA 1W | Jun 6 | Jul 7 | May 23 | Sep 9 | 94 |
| VANDERBILT 11ENE | Jun 7 | Jun 29 | May 23 | Sep 14 | 95 |
How to read the three dates
Average is the date by which, in half of the years between 1991 and 2020, the last 32 °F night had already happened. Safe is later: only one year in ten saw a frost after it, which is the date to set out frost-tender plants such as dahlia tubers and zinnia seedlings. Early is the risky end, with a frost after it in nine years out of ten.
Every figure is for the weather station, not for your garden. A valley bottom, a north slope or a spot near a lake can run a week or two either way. Cities are warmer than the countryside around them.
Where the numbers come from
The dates are NOAA's U.S. Climate Normals for 1991 to 2020, computed by the National Centers for Environmental Information for every station with thirty years of daily minimum temperatures. ZIP codes are matched to the nearest such station within 150 km using U.S. Census Bureau ZIP Code Tabulation Area centroids. Stations that never see a frost, such as much of south Florida, report no date and are left out.