North Carolina Frost Dates: Last and First Frost by Town
Across North Carolina's 187 NOAA stations with regular frost, the median last spring frost is April 1 and the median first fall frost is November 4. Last frost dates range from March 1 at Frisco 2NNE to May 16 at Mount Mitchell, so enter your ZIP code below for the station nearest you.
How frost dates vary across North Carolina
- Elevation matters: across North Carolina's stations, each 1,000 ft of elevation delays the median last frost by about 10 days.
- North vs south: stations in the northern third of the state (north of 35.8°N) reach their median last frost about 9 days later than the southern third (south of 35.3°N).
- Safety margin: the median 10%-risk date (April 17) is about 16 days after the median last frost. Waiting until then cuts the chance of a killing frost on tender transplants from 1 in 2 to 1 in 10.
Frost dates at North Carolina's major weather stations
These National Weather Service stations, mostly at airports, have the longest and most complete records in the state.
| Asheville | 2,238 | Apr 6 | Apr 24 | Oct 31 | 205 |
| Asheville 13 S | 2,103 | Apr 17 | May 4 | Oct 23 | 187 |
| Asheville 8 SSW | 2,151 | Apr 24 | May 11 | Oct 18 | 175 |
| Asheville Regional Airport | 2,117 | Apr 9 | Apr 27 | Oct 28 | 201 |
| Beaufort Michael J Smith Field | 11 | Mar 10 | Mar 26 | Dec 1 | 265 |
| Burlington Alamance Airport | 617 | Apr 1 | Apr 17 | Nov 2 | 215 |
| Cape Hatteras Airport | 11 | Mar 4 | Mar 25 | Dec 22 | 290 |
| Chapel Hill Williams Airport | 512 | Mar 29 | Apr 12 | Nov 5 | 222 |
| Charlotte Douglas Airport | 728 | Mar 30 | Apr 14 | Nov 3 | 221 |
| Cherry Point McAs | 29 | Mar 19 | Apr 4 | Nov 22 | 249 |
| Durham 11 W | 562 | Mar 31 | Apr 19 | Nov 4 | 217 |
| Elizabeth City Cgas | 13 | Mar 28 | Apr 11 | Nov 12 | 230 |
| Fayetteville Regional Airport | 186 | Mar 22 | Apr 8 | Nov 13 | 236 |
| Gastonia Municipal Airport | 797 | Mar 24 | Apr 10 | Nov 9 | 230 |
| Goldsboro 4 SE | 109 | Mar 15 | Apr 1 | Nov 18 | 250 |
| Hickory Faa Airport | 1,143 | Mar 31 | Apr 16 | Nov 4 | 219 |
| Laurinburg Maxton Airport | 220 | Mar 25 | Apr 11 | Nov 8 | 228 |
| Lumberton Municipal Airport | 121 | Mar 24 | Apr 9 | Nov 10 | 233 |
| Manteo Airport | 13 | Mar 15 | Mar 30 | Dec 6 | 266 |
| Monroe Airport | 679 | Mar 31 | Apr 16 | Nov 5 | 220 |
| New Bern Craven County Airport | 19 | Mar 23 | Apr 7 | Nov 15 | 237 |
| New River McAf | 26 | Mar 23 | Apr 7 | Nov 16 | 240 |
| Piedmont Triad Intl Airport | 890 | Mar 30 | Apr 14 | Nov 5 | 220 |
| Raleigh Durham Intl Airport | 416 | Mar 31 | Apr 16 | Nov 4 | 219 |
| Roanoke Rapids Airport | 256 | Mar 27 | Apr 8 | Nov 12 | 230 |
| Rocky Mount Wilson Airport | 160 | Apr 1 | Apr 16 | Nov 5 | 219 |
| Wilmington Intl Airport | 33 | Mar 19 | Apr 4 | Nov 20 | 247 |
| Winston Salem Rynlds Airport | 970 | Mar 26 | Apr 11 | Nov 9 | 228 |
All 187 stations in North Carolina
Last frost and first frost are medians: a 50% chance of a 32°F night after (spring) or before (fall) that date. 10% risk is the spring date with only a 1-in-10 chance of a later frost. Click a column to sort.
| Albemarle | 610 | Mar 29 | Apr 14 | Nov 4 | 220 |
| Andrews | 1,749 | Apr 17 | May 3 | Oct 23 | 189 |
| Apex | 450 | Mar 27 | Apr 10 | Nov 8 | 227 |
| Arcola | 330 | Apr 3 | Apr 19 | Nov 5 | 217 |
| Asheboro 2 W | 870 | Apr 5 | Apr 21 | Oct 31 | 207 |
| Asheville | 2,238 | Apr 6 | Apr 24 | Oct 31 | 205 |
| Asheville 13 S | 2,103 | Apr 17 | May 4 | Oct 23 | 187 |
| Asheville 8 SSW | 2,151 | Apr 24 | May 11 | Oct 18 | 175 |
| Asheville Regional Airport | 2,117 | Apr 9 | Apr 27 | Oct 28 | 201 |
| Atlantic Beach Wtp | 4 | Mar 3 | Mar 21 | Dec 13 | 286 |
| Aurora 6 N | 20 | Mar 8 | Mar 28 | Dec 5 | 272 |
| Banner Elk | 3,770 | Apr 30 | May 17 | Oct 14 | 167 |
| Bayboro 3 SW | 5 | Mar 30 | Apr 15 | Nov 8 | 224 |
| Beaufort Michael J Smith Field | 11 | Mar 10 | Mar 26 | Dec 1 | 265 |
| Beech Mountain | 5,053 | May 6 | May 23 | Oct 14 | 159 |
| Belhaven 3 NE | 0 | Mar 25 | Apr 8 | Nov 11 | 233 |
| Bent Creek | 2,110 | Apr 26 | May 12 | Oct 18 | 175 |
| Black Mountain 2 W | 2,290 | Apr 19 | May 7 | Oct 23 | 184 |
| Blowing Rock 1NW | 3,850 | Apr 25 | May 12 | Oct 21 | 178 |
| Boone 1 SE | 3,100 | May 2 | May 19 | Oct 13 | 163 |
| Brevard | 2,175 | Apr 21 | May 7 | Oct 23 | 185 |
| Bryson City 4 | 1,985 | Apr 16 | May 2 | Oct 24 | 189 |
| Burlington Alamance Airport | 617 | Apr 1 | Apr 17 | Nov 2 | 215 |
| Burlington Fire Station #5 | 660 | Mar 29 | Apr 15 | Nov 9 | 226 |
| Burnsville Agricultural | 2,825 | Apr 24 | May 13 | Oct 19 | 180 |
| Candler 1 W | 2,240 | Apr 19 | May 7 | Oct 22 | 185 |
| Cane Creek Rsvr | 525 | Apr 6 | Apr 22 | Nov 1 | 210 |
| Cape Hatteras Airport | 11 | Mar 4 | Mar 25 | Dec 22 | 290 |
| Carthage Wtp | 440 | Apr 1 | Apr 19 | Nov 5 | 219 |
| Cary | 390 | Mar 31 | Apr 12 | Nov 10 | 226 |
| Cataloochee | 2,650 | Apr 30 | May 15 | Oct 12 | 164 |
| Catawba 5 SW | 1,015 | Mar 24 | Apr 9 | Nov 8 | 230 |
| Cedar Island | 8 | Mar 11 | Mar 30 | Nov 30 | 261 |
| Celo 2 S | 2,700 | Apr 26 | May 13 | Oct 15 | 171 |
| Chapel Hill 2 W | 500 | Mar 31 | Apr 14 | Nov 3 | 218 |
| Chapel Hill Williams Airport | 512 | Mar 29 | Apr 12 | Nov 5 | 222 |
| Charlotte Douglas Airport | 728 | Mar 30 | Apr 14 | Nov 3 | 221 |
| Chatham Wtp | 308 | Apr 1 | Apr 23 | Nov 7 | 221 |
| Cherokee | 1,965 | Apr 17 | May 6 | Oct 21 | 186 |
| Cherry Point McAs | 29 | Mar 19 | Apr 4 | Nov 22 | 249 |
| Clayton 3E | 332 | Mar 28 | Apr 11 | Nov 8 | 225 |
| Clayton Wtp | 300 | Apr 7 | Apr 20 | Nov 3 | 211 |
| Clinton 2 NE | 158 | Mar 26 | Apr 8 | Nov 7 | 226 |
| Columbia Agricultural Gum Neck | 10 | Mar 29 | Apr 10 | Nov 13 | 231 |
| Concord | 700 | Apr 1 | Apr 16 | Nov 2 | 215 |
| Coweeta Experiment Station | 2,247 | Apr 23 | May 11 | Oct 17 | 175 |
| Cullowhee | 2,192 | Apr 19 | May 7 | Oct 22 | 184 |
| Danbury | 1,019 | Apr 11 | Apr 29 | Oct 30 | 202 |
| Dunn 4 NW | 200 | Mar 28 | Apr 11 | Nov 7 | 226 |
| Durham | 400 | Apr 2 | Apr 18 | Nov 4 | 217 |
| Durham 11 W | 562 | Mar 31 | Apr 19 | Nov 4 | 217 |
| Eden | 678 | Apr 11 | Apr 27 | Oct 29 | 201 |
| Edenton | 10 | Mar 24 | Apr 8 | Nov 14 | 238 |
| Elizabeth City | 8 | Mar 27 | Apr 18 | Nov 17 | 238 |
| Elizabeth City Cgas | 13 | Mar 28 | Apr 11 | Nov 12 | 230 |
| Elizabethtown | 120 | Mar 29 | Apr 13 | Nov 8 | 226 |
| Elkin | 910 | Apr 15 | May 3 | Oct 26 | 194 |
| Enka | 2,050 | Apr 12 | Apr 27 | Oct 23 | 195 |
| Fairfield | 5 | Apr 7 | Apr 21 | Nov 4 | 211 |
| Falls Lake | 280 | Apr 4 | Apr 19 | Nov 4 | 213 |
| Fayetteville (pwc) | 96 | Mar 30 | Apr 16 | Nov 10 | 227 |
| Fayetteville Regional Airport | 186 | Mar 22 | Apr 8 | Nov 13 | 236 |
| Flat Springs 1E | 3,330 | Apr 18 | May 7 | Oct 24 | 188 |
| Fletcher 3 W | 2,070 | Apr 18 | May 4 | Oct 21 | 186 |
| Forest City 8 W | 849 | Apr 11 | Apr 28 | Oct 27 | 198 |
| Franklin | 2,125 | Apr 17 | May 4 | Oct 23 | 187 |
| Frisco 2NNE | 0 | Mar 1 | Mar 21 | Dec 20 | 292 |
| Garner | 330 | Apr 1 | Apr 15 | Nov 1 | 213 |
| Gastonia | 700 | Mar 27 | Apr 9 | Nov 9 | 228 |
| Gastonia Municipal Airport | 797 | Mar 24 | Apr 10 | Nov 9 | 230 |
| Goldsboro 4 SE | 109 | Mar 15 | Apr 1 | Nov 18 | 250 |
| Goldsboro Agricultural 1 N | 109 | Mar 28 | Apr 11 | Nov 12 | 231 |
| Grandfather Mountain | 5,280 | May 5 | May 20 | Oct 13 | 160 |
| Greensboro Wtp | 765 | Apr 1 | Apr 14 | Nov 4 | 217 |
| Greenville | 32 | Mar 27 | Apr 10 | Nov 8 | 227 |
| Hamlet | 350 | Mar 30 | Apr 15 | Nov 4 | 220 |
| Haw River 1E | 636 | Apr 4 | Apr 19 | Nov 3 | 215 |
| Hayesville 1 NE | 1,792 | Apr 21 | May 5 | Oct 21 | 182 |
| Henderson 2 NNW | 480 | Apr 16 | Apr 30 | Oct 26 | 193 |
| Henderson 4 NNE | 500 | Mar 28 | Apr 11 | Nov 9 | 227 |
| Hendersonville 1 NE | 2,160 | Apr 14 | May 1 | Oct 25 | 192 |
| Hickory Faa Airport | 1,143 | Mar 31 | Apr 16 | Nov 4 | 219 |
| High Point | 900 | Mar 30 | Apr 15 | Nov 5 | 220 |
| Highlands | 3,850 | Apr 30 | May 17 | Oct 15 | 167 |
| Hofmann Forest | 47 | Apr 6 | Apr 23 | Nov 1 | 204 |
| Hot Springs | 1,345 | Apr 11 | Apr 27 | Oct 29 | 201 |
| Jackson | 123 | Apr 5 | Apr 18 | Nov 1 | 211 |
| Jackson Springs 5 WNW | 730 | Mar 25 | Apr 10 | Nov 14 | 235 |
| Jacksonville Eoc | 17 | Mar 31 | Apr 15 | Nov 8 | 224 |
| Jefferson 2 E | 2,759 | May 7 | May 24 | Oct 8 | 154 |
| Kinston 7 SE | 24 | Apr 1 | Apr 15 | Nov 4 | 217 |
| Kinston Agricultural Rsch | 60 | Mar 25 | Apr 7 | Nov 11 | 232 |
| Lake Lure 2 | 1,040 | Apr 5 | Apr 20 | Oct 30 | 207 |
| Lake Toxaway 2 SW | 3,200 | Apr 15 | May 1 | Oct 26 | 193 |
| Laurinburg | 210 | Mar 21 | Apr 10 | Nov 14 | 239 |
| Laurinburg Maxton Airport | 220 | Mar 25 | Apr 11 | Nov 8 | 228 |
| Lenoir | 1,155 | Apr 7 | Apr 28 | Oct 31 | 207 |
| Lewiston | 50 | Mar 29 | Apr 12 | Nov 7 | 223 |
| Lexington | 760 | Apr 11 | Apr 26 | Oct 28 | 199 |
| Lillington | 150 | Mar 30 | Apr 15 | Nov 6 | 223 |
| Lincolnton 4 W | 887 | Apr 9 | Apr 27 | Oct 28 | 201 |
| Longwood | 40 | Mar 26 | Apr 11 | Nov 11 | 231 |
| Louisburg | 260 | Apr 11 | Apr 28 | Oct 29 | 201 |
| Lumber River State Park | 96 | Apr 1 | Apr 16 | Nov 5 | 219 |
| Lumberton | 112 | Mar 24 | Apr 8 | Nov 11 | 234 |
| Lumberton Municipal Airport | 121 | Mar 24 | Apr 9 | Nov 10 | 233 |
| Manteo Airport | 13 | Mar 15 | Mar 30 | Dec 6 | 266 |
| Marion | 1,410 | Apr 5 | Apr 21 | Nov 1 | 209 |
| Marshall | 1,920 | Apr 28 | May 13 | Oct 18 | 173 |
| Mocksville 5SE | 680 | Apr 15 | May 2 | Oct 25 | 192 |
| Monroe 2 SE | 550 | Apr 3 | Apr 18 | Nov 1 | 213 |
| Monroe Airport | 679 | Mar 31 | Apr 16 | Nov 5 | 220 |
| Moores Creek Nb | 22 | Mar 27 | Apr 12 | Nov 8 | 227 |
| Morehead City 2 WNW | 10 | Mar 18 | Apr 5 | Nov 21 | 249 |
| Morganton | 1,180 | Apr 7 | Apr 26 | Oct 28 | 202 |
| Mount Airy 2 W | 1,080 | Apr 19 | May 8 | Oct 23 | 186 |
| Mount Mitchell | 6,240 | May 16 | May 31 | Oct 4 | 140 |
| Mount Olive 6SE | 162 | Mar 28 | Apr 10 | Nov 7 | 226 |
| Murfreesboro | 100 | Apr 6 | Apr 23 | Nov 1 | 208 |
| Murphy 4ESE | 1,600 | Apr 22 | May 7 | Oct 20 | 180 |
| N Fk 2 | 2,480 | Apr 5 | Apr 22 | Oct 31 | 206 |
| N Wilkesboro | 1,120 | Apr 10 | Apr 26 | Oct 29 | 201 |
| New Bern Craven County Airport | 19 | Mar 23 | Apr 7 | Nov 15 | 237 |
| New Hill | 320 | Apr 6 | Apr 21 | Nov 3 | 209 |
| New River McAf | 26 | Mar 23 | Apr 7 | Nov 16 | 240 |
| Newport/morehead City WFO | 30 | Mar 26 | Apr 9 | Nov 16 | 236 |
| Ocracoke | 4 | Mar 1 | Mar 21 | Dec 20 | 293 |
| Old Fort Agricultural 3 W | 1,425 | Apr 21 | May 9 | Oct 23 | 183 |
| Oxford Agricultural | 500 | Mar 30 | Apr 14 | Nov 6 | 222 |
| Perrytown | 28 | Mar 20 | Apr 5 | Nov 20 | 246 |
| Pfafftown | 950 | Apr 9 | Apr 23 | Oct 31 | 204 |
| Piedmont Triad Intl Airport | 890 | Mar 30 | Apr 14 | Nov 5 | 220 |
| Pisgah Forest 3 NE | 2,190 | Apr 19 | May 8 | Oct 23 | 186 |
| Plymouth 5 E | 20 | Mar 31 | Apr 15 | Nov 7 | 221 |
| Raeford | 250 | Apr 3 | Apr 19 | Nov 3 | 214 |
| Raleigh 4 SW | 420 | Mar 28 | Apr 12 | Nov 9 | 227 |
| Raleigh Durham Intl Airport | 416 | Mar 31 | Apr 16 | Nov 4 | 219 |
| Raleigh State University | 400 | Mar 28 | Apr 12 | Nov 8 | 229 |
| Randleman | 810 | Mar 29 | Apr 13 | Nov 6 | 224 |
| Reelsboro | 45 | Mar 21 | Apr 5 | Nov 17 | 242 |
| Reidsville 2 NW | 890 | Apr 5 | Apr 21 | Nov 2 | 213 |
| Richlands | 20 | Apr 5 | Apr 20 | Nov 4 | 214 |
| Roanoke Rapids | 210 | Mar 31 | Apr 16 | Nov 9 | 222 |
| Roanoke Rapids Airport | 256 | Mar 27 | Apr 8 | Nov 12 | 230 |
| Robbinsville Agricultural 5 NE | 2,330 | Apr 13 | May 2 | Oct 26 | 194 |
| Rocky Mount 8 ESE | 110 | Mar 31 | Apr 13 | Nov 7 | 223 |
| Rocky Mount Wilson Airport | 160 | Apr 1 | Apr 16 | Nov 5 | 219 |
| Roxboro 7 ESE | 710 | Apr 15 | Apr 30 | Oct 26 | 194 |
| Rural Hall | 960 | Apr 6 | Apr 21 | Oct 31 | 209 |
| Salisbury | 700 | Apr 6 | Apr 27 | Oct 30 | 208 |
| Salisbury 9 WNW | 725 | Apr 9 | Apr 24 | Oct 28 | 203 |
| Sanford 8 NE | 262 | Apr 10 | Apr 25 | Oct 30 | 203 |
| Shallotte Agricultural | 20 | Mar 20 | Apr 4 | Nov 17 | 243 |
| Shelby 2 NW | 820 | Apr 12 | Apr 28 | Oct 25 | 195 |
| Siler City 2 N | 610 | Mar 31 | Apr 13 | Nov 4 | 220 |
| Smithfield | 150 | Mar 29 | Apr 14 | Nov 5 | 220 |
| Snow Hill Waste Water Treament | 41 | Mar 26 | Apr 8 | Nov 12 | 232 |
| Southport 5 N | 20 | Mar 24 | Apr 10 | Nov 17 | 239 |
| Sparta 3.5 SSW | 3,011 | Apr 22 | May 11 | Oct 22 | 180 |
| Spruce Pine 2 NE | 2,850 | Apr 26 | May 13 | Oct 20 | 177 |
| Statesville 2 NNE | 803 | Apr 16 | May 1 | Oct 25 | 191 |
| Surf City | 24 | Mar 26 | Apr 9 | Nov 13 | 233 |
| Swannanoa 2 SSE | 4,320 | Apr 22 | May 11 | Oct 24 | 184 |
| Swanquarter Ferry | 3 | Mar 18 | Mar 31 | Nov 25 | 253 |
| Tapoco | 1,110 | Apr 17 | May 4 | Oct 27 | 193 |
| Tarboro 1 S | 35 | Mar 30 | Apr 10 | Nov 9 | 226 |
| Taylorsville | 1,320 | Apr 2 | Apr 19 | Nov 4 | 217 |
| Transou | 2,834 | May 4 | May 22 | Oct 10 | 158 |
| Tryon | 1,320 | Mar 27 | Apr 14 | Nov 12 | 231 |
| Vale Agricultural 2 SW | 985 | Apr 12 | Apr 26 | Oct 28 | 198 |
| W Kerr Scott Resv | 1,070 | Apr 7 | Apr 22 | Nov 1 | 208 |
| Wadesboro | 480 | Mar 24 | Apr 9 | Nov 9 | 231 |
| Wallace 1SE | 35 | Apr 1 | Apr 16 | Nov 7 | 220 |
| Warsaw 5 E | 110 | Apr 7 | Apr 22 | Oct 30 | 204 |
| Washington Wwtp 4W | 10 | Mar 22 | Apr 7 | Nov 15 | 237 |
| Waterville 2 | 1,430 | Apr 6 | Apr 23 | Nov 1 | 210 |
| Waynesville 1 E | 2,658 | Apr 30 | May 15 | Oct 14 | 167 |
| Whiteville 7 NW | 90 | Mar 29 | Apr 12 | Nov 6 | 224 |
| Willard 4 SW | 55 | Apr 2 | Apr 16 | Nov 5 | 217 |
| Williamston 1 E | 20 | Mar 20 | Apr 5 | Nov 12 | 239 |
| Wilmington 7 N | 40 | Mar 29 | Apr 11 | Nov 8 | 226 |
| Wilmington 7 SE | 30 | Mar 20 | Apr 8 | Nov 15 | 241 |
| Wilmington Intl Airport | 33 | Mar 19 | Apr 4 | Nov 20 | 247 |
| Wilson 3 SW | 110 | Mar 22 | Apr 8 | Nov 12 | 236 |
| Winston Salem Rynlds Airport | 970 | Mar 26 | Apr 11 | Nov 9 | 228 |
| Yadkinville 6 E | 875 | Apr 16 | May 3 | Oct 25 | 191 |
| Yanceyville 4 SE | 635 | Mar 31 | Apr 14 | Nov 4 | 218 |
Frequently asked questions
When is the last frost in North Carolina?
The median last spring frost (32°F) across North Carolina's NOAA weather stations is April 1, based on 1991–2020 climate normals. It ranges from March 1 at Frisco 2NNE to May 16 at Mount Mitchell. For a safer planting date, use the 10%-risk date; the state median for that is April 17.
When is the first frost in North Carolina?
The median first fall frost across North Carolina's stations is November 4. The earliest median first frost is October 4 at Mount Mitchell, and the latest is December 22 at Cape Hatteras Airport.
How long is the growing season in North Carolina?
The median frost-free season is 217 days across North Carolina's stations, from 140 days at Mount Mitchell to 293 days at Ocracoke.
When should I plant tomatoes in North Carolina?
Plant tomatoes outdoors after your local last frost, ideally after the 10%-risk date when nights stay above 50°F. At a typical North Carolina station that means starting seeds indoors 6–8 weeks before April 1 and transplanting from about April 17. Check your ZIP code, because dates vary by weeks across the state.
How to use these dates
Frost dates are 30-year averages from NOAA, not forecasts. Use them to plan seed starting and planting, then watch the 10-day forecast as the date approaches. Cold air settles in valleys and low spots, so a garden at the bottom of a slope can frost a week or more later in spring than the nearest station shows.
Ready to plan? The planting calendar by ZIP code turns these dates into start-indoors, transplant and sowing dates for 30 crops.
Sources and method
Dates are the 32°F freeze probabilities published in the NOAA NCEI 1991–2020 U.S. Climate Normals for each station. Station names are NOAA's, lightly expanded for readability. See the methodology or download the full table.
Frost dates in other states
- Alabama
- Alaska
- Arizona
- Arkansas
- California
- Colorado
- Connecticut
- Delaware
- Florida
- Georgia
- Hawaii
- Idaho
- Illinois
- Indiana
- Iowa
- Kansas
- Kentucky
- Louisiana
- Maine
- Maryland
- Massachusetts
- Michigan
- Minnesota
- Mississippi
- Missouri
- Montana
- Nebraska
- Nevada
- New Hampshire
- New Jersey
- New Mexico
- New York
- North Dakota
- Ohio
- Oklahoma
- Oregon
- Pennsylvania
- Rhode Island
- South Carolina
- South Dakota
- Tennessee
- Texas
- Utah
- Vermont
- Virginia
- Washington
- West Virginia
- Wisconsin
- Wyoming