Frost dates in North Dakota
Across North Dakota's 125 NOAA stations with a frost every year, the typical last spring frost ranges from May 2 at Hillsboro 3 N (910 feet above sea level) to May 24 at Hettinger Municipal Airport (2,710 feet above sea level). The middle station's date is May 13.
Look up your ZIP code
Last frost across North Dakota
The frost-free season runs from 115 days at Hettinger Municipal Airport to 158 days at Hillsboro 3 N.
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 North Dakota's larger places
| Place | Last spring frost | First fall frost | Season | Zone |
|---|---|---|---|---|
| Bismarck | May 14 | September 27 | 136 days | 4a |
| Fargo | May 10 | September 30 | 143 days | 4a |
| Grand Forks | May 16 | September 27 | 133 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 North Dakota
North Dakota's 406 ZIP codes in the USDA list fall in zones 3b to 4b: 3b (13 percent), 4a (78 percent) and 4b (9 percent). Compared with the 2012 map, 20 percent of them moved to a warmer half zone, 80 percent stayed the same and 1 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 North Dakota
All 125 stations in North Dakota 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) |
|---|---|---|---|---|
| Almont | 1,920 | May 17 | September 21 | 124 |
| Amidon | 2,910 | May 12 | September 29 | 136 |
| Ashley | 2,010 | May 13 | September 28 | 137 |
| Beach | 2,800 | May 16 | September 26 | 130 |
| Belcourt Keya Radio | 1,960 | May 19 | September 24 | 126 |
| Beulah 1 W | 1,780 | May 21 | September 20 | 121 |
| Bismarck | 1,660 | May 14 | September 27 | 136 |
| Bismarck 2.4 NNW | 1,830 | May 10 | September 30 | 142 |
| Bismarck WFO | 1,650 | May 14 | September 30 | 138 |
| Bottineau | 1,620 | May 15 | September 25 | 133 |
| Bowman | 2,980 | May 16 | September 25 | 132 |
| Breien | 1,720 | May 12 | September 24 | 134 |
| Butte 5 SE | 1,720 | May 16 | September 28 | 134 |
| Carrington | 1,580 | May 10 | September 28 | 139 |
| Carrington 4 N | 1,560 | May 12 | September 27 | 137 |
| Carson | 2,340 | May 19 | September 25 | 127 |
| Casselton Agronomy Farm | 940 | May 9 | October 1 | 143 |
| Cavalier 7 NW | 900 | May 12 | September 30 | 139 |
| Center 4 SE | 1,990 | May 11 | September 29 | 140 |
| Colgate | 1,180 | May 10 | September 24 | 136 |
| Cooperstown | 1,380 | May 17 | September 23 | 128 |
| Crosby | 1,960 | May 17 | September 23 | 128 |
| Devils Lake | 1,440 | May 12 | September 30 | 141 |
| Devils Lake KDLR | 1,460 | May 6 | October 5 | 152 |
| Dickinson | 2,460 | May 20 | September 22 | 123 |
| Dickinson Ranch HQ | 2,380 | May 18 | September 24 | 127 |
| Drake 9 NE | 1,550 | May 12 | September 27 | 137 |
| Dunn Center 1 E | 2,190 | May 20 | September 21 | 125 |
| Edgeley 3 WNW | 1,620 | May 7 | October 2 | 148 |
| Edmore 4 NW | 1,540 | May 15 | September 22 | 128 |
| Edmunds Arrowwood Ref | 1,460 | May 11 | September 28 | 139 |
| Ellendale | 1,460 | May 4 | October 2 | 149 |
| Enderlin 2 W | 1,160 | May 3 | October 5 | 155 |
| Esmond 9 NNW | 1,630 | May 11 | September 28 | 138 |
| Fairfield | 2,750 | May 12 | September 28 | 138 |
| Fargo 3 S | 910 | May 4 | October 2 | 151 |
| Fargo Hector International Airport | 900 | May 10 | September 30 | 143 |
| Fessenden | 1,620 | May 13 | September 28 | 139 |
| Flasher | 1,980 | May 13 | September 27 | 135 |
| Forman 5 SSE | 1,250 | May 7 | October 1 | 146 |
| Fortuna 1 W | 2,350 | May 19 | September 17 | 121 |
| Foxholm 7 N | 1,680 | May 11 | September 29 | 138 |
| Fullerton 1 ESE | 1,430 | May 9 | September 28 | 141 |
| Gackle | 1,950 | May 6 | October 4 | 150 |
| Garrison | 1,930 | May 12 | September 30 | 140 |
| Garrison | 1,910 | May 14 | September 26 | 133 |
| Grafton | 830 | May 4 | October 7 | 156 |
| Grand Forks International Airport | 840 | May 16 | September 27 | 133 |
| Grand Forks Univ (NWS) | 830 | May 10 | October 1 | 144 |
| Granville | 1,510 | May 9 | October 1 | 145 |
| Grassy Butte 2 ENE | 2,670 | May 18 | September 23 | 125 |
| Hansboro 4 NNE | 1,540 | May 18 | September 23 | 127 |
| Harvey 4 NE | 1,610 | May 12 | September 26 | 135 |
| Hazelton 4 NW | 1,980 | May 12 | September 27 | 136 |
| Heart Butte Dam | 2,130 | May 14 | September 29 | 136 |
| Hebron | 2,160 | May 19 | September 21 | 123 |
| Hettinger Exp Station | 2,700 | May 21 | September 21 | 120 |
| Hettinger Municipal Airport | 2,710 | May 24 | September 18 | 115 |
| Hillsboro 3 N | 910 | May 2 | October 9 | 158 |
| Jamestown 38 WSW | 1,920 | May 14 | September 27 | 135 |
| Jamestown Municipal Airport | 1,490 | May 11 | September 28 | 138 |
| Jamestown State Hosp | 1,470 | May 8 | September 29 | 143 |
| Keene 3 S | 2,470 | May 20 | September 20 | 121 |
| Kenmare 1 WSW | 1,810 | May 15 | September 23 | 129 |
| Killdeer | 2,310 | May 21 | September 23 | 124 |
| La Moure | 1,340 | May 10 | September 28 | 140 |
| Lake Metigoshe SP | 2,140 | May 17 | September 24 | 130 |
| Langdon Exp Farm | 1,610 | May 17 | September 26 | 132 |
| Larimore 4 SW | 1,150 | May 11 | September 28 | 139 |
| Leeds | 1,530 | May 15 | September 27 | 133 |
| Lidgerwood | 1,130 | May 2 | October 6 | 157 |
| Linton | 1,690 | May 12 | September 29 | 138 |
| Lisbon | 1,150 | May 12 | September 27 | 136 |
| Mandan Exp Station | 1,750 | May 13 | September 27 | 136 |
| Max | 2,110 | May 10 | September 28 | 141 |
| Mayville | 980 | May 13 | September 27 | 136 |
| MC Clusky | 1,930 | May 8 | October 1 | 145 |
| MC Henry 3 W | 1,560 | May 12 | September 28 | 139 |
| MC Leod 3 E | 1,080 | May 6 | September 29 | 145 |
| Medora | 2,270 | May 19 | September 20 | 123 |
| Medora 7 E | 2,770 | May 9 | September 30 | 142 |
| Minnewaukan | 1,470 | May 12 | September 29 | 138 |
| Minot Exp Station | 1,770 | May 13 | September 27 | 136 |
| Minot International Airport | 1,670 | May 10 | October 1 | 144 |
| Moffit 3 SE | 1,800 | May 11 | September 29 | 139 |
| Mohall | 1,640 | May 17 | September 23 | 127 |
| Mott | 2,420 | May 16 | September 25 | 129 |
| Napoleon | 1,980 | May 13 | September 28 | 136 |
| New England | 2,600 | May 16 | September 24 | 128 |
| New Salem 5 NW | 2,150 | May 18 | September 24 | 127 |
| Northgate 5 ESE | 1,840 | May 20 | September 19 | 121 |
| Oakes | 1,330 | May 8 | September 28 | 144 |
| Pembina | 790 | May 16 | September 29 | 137 |
| Petersburg 2 N | 1,530 | May 11 | September 28 | 138 |
| Powers Lake 1 N | 2,200 | May 18 | September 17 | 119 |
| Pretty Rock | 2,480 | May 20 | September 23 | 124 |
| Richardton Abbey | 2,470 | May 9 | October 1 | 145 |
| Riverdale | 1,960 | May 12 | October 3 | 143 |
| Rolette 3 SE | 1,620 | May 22 | September 20 | 120 |
| Rolla 1 NE | 1,830 | May 20 | September 26 | 128 |
| Rugby | 1,550 | May 17 | September 23 | 129 |
| Stanley 3 NNW | 2,280 | May 17 | September 23 | 127 |
| Steele 4 N | 1,850 | May 15 | September 25 | 133 |
| Streeter 5 NW | 1,960 | May 13 | September 30 | 139 |
| Taylor 7 NNW | 2,220 | May 23 | September 20 | 119 |
| Theodore Roosevelt Airport | 2,580 | May 18 | September 25 | 129 |
| Tioga 1 E | 2,240 | May 11 | September 26 | 136 |
| Towner 2 NE | 1,480 | May 17 | September 22 | 126 |
| Trotters 3 SSE | 2,420 | May 15 | September 25 | 132 |
| Turtle Lake | 1,890 | May 14 | September 26 | 136 |
| Tuttle 12 NNE | 2,100 | May 13 | September 29 | 139 |
| Underwood | 2,040 | May 10 | September 29 | 139 |
| Upham 3 N | 1,420 | May 15 | September 25 | 132 |
| Valley City 3 NNW | 1,210 | May 13 | September 26 | 136 |
| Velva | 1,510 | May 22 | September 22 | 123 |
| Washburn | 1,760 | May 12 | September 30 | 140 |
| Watford City | 2,170 | May 9 | September 27 | 139 |
| Watford City 14 S | 2,030 | May 22 | September 17 | 119 |
| Westhope | 1,500 | May 14 | September 25 | 133 |
| Wildrose 3 NW | 2,230 | May 18 | September 20 | 124 |
| Williston Exp Farm | 2,110 | May 13 | September 26 | 135 |
| Williston Sloulin International Airport | 1,900 | May 21 | September 21 | 123 |
| Willow City | 1,470 | May 21 | September 20 | 119 |
| Wilton | 2,190 | May 11 | September 30 | 142 |
| Wishek | 2,040 | May 13 | September 27 | 135 |
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.