top of page

North Carolina Frost Dates by County: All 107 Weather Stations

Sep 5
10 min read

Waxhaw has 21 fewer frost-free days than Charlotte.

They are twenty-five miles apart. They are the same USDA hardiness zone. If you garden in Union County using Charlotte's dates, you plant about two weeks too early — every single year.

Below are the average last spring freeze and first fall freeze for 107 long-term weather stations across North Carolina, plus the frost-free season length and the fall planting deadline for woody stock. Twelve counties have no long-term station and are noted at the end.

Read this before you use a single date

Three things about this data that most planting calendars never tell you. They change how you should use every number below.

1. These are averages, not safe dates. Every date here is a 50 percent probability. Your county's average last spring freeze means that in roughly half of all years, the last freeze happens later than that. It is a midpoint, not a green light. If you are planting something you cannot replace, add two weeks.

2. Hardiness zone is the wrong tool for timing. Waxhaw and Charlotte are both Zone 8a. Waxhaw's growing season is 197 days; Charlotte's is 218. Hardiness zone tells you whether a perennial survives your winter. It tells you nothing about when to put a tomato in the ground. Every Zone 8a planting calendar on the market is answering a question you did not ask.

3. Your yard is not your county. A weather station sits in one spot. Your low corner where cold air pools can run a week behind it. A south-facing brick wall can run a week ahead. Slope, tree cover, pavement and elevation all move these dates. Use the county figure as your anchor, then adjust for what you actually observe.

Freeze dates by county

Freeze-free season for ten Piedmont stations. Gastonia and Monroe are the same hardiness zone and about thirty miles apart, and they differ by twenty-two days.
Freeze-free season for ten Piedmont stations. Gastonia and Monroe are the same hardiness zone and about thirty miles apart, and they differ by twenty-two days.

Sorted alphabetically. Counties with more than one long-term station show each one — pick the closest to you, and note how much they differ. Format is: last spring freeze / first fall freeze / frost-free days / fall planting deadline.

The fall deadline is six weeks before the average first fall freeze, which is the minimum root-establishment window published by NC Cooperative Extension.

  • Alamance - Burlington Alamance Airport. Apr 4 / Oct 29 / 208 / Sep 17

  • Alexander - Taylorsville Tower. Apr 6 / Oct 29 / 206 / Sep 17

  • Anson - Anson County Airport. Apr 16 / Oct 21 / 188 / Sep 9

  • Ashe - Jefferson 2 E. May 8 / Oct 7 / 152 / Aug 26

  • Ashe - Transou. May 14 / Oct 1 / 140 / Aug 20

  • Avery - Spruce Pine 2 NE. Apr 27 / Oct 21 / 177 / Sep 9

  • Avery - Banner Elk. May 12 / Oct 3 / 144 / Aug 22

  • Avery - Grandfather Mtn. May 7 / Oct 7 / 153 / Aug 26

  • Beaufort - Washington WWTP 4W. Mar 28 / Nov 12 / 229 / Oct 1

  • Bertie - Peanut Belt Research Station. Mar 28 / Nov 8 / 225 / Sep 27

  • Bladen - Brown Field. Mar 21 / Nov 18 / 242 / Oct 7

  • Brunswick - Brunswick County Airport. Mar 21 / Nov 8 / 232 / Sep 27

  • Buncombe - Asheville. Apr 11 / Oct 25 / 197 / Sep 13

  • Buncombe - Asheville AP. Apr 20 / Oct 17 / 180 / Sep 5

  • Buncombe - Candler 1W. Apr 21 / Oct 20 / 182 / Sep 8

  • Burke - Morganton. Apr 15 / Oct 21 / 189 / Sep 9

  • Cabarrus - Concord. Apr 3 / Nov 1 / 212 / Sep 20

  • Caldwell - Lenoir. Apr 15 / Oct 22 / 190 / Sep 10

  • Carteret - Cedar Island. Mar 20 / Nov 24 / 249 / Oct 13

  • Carteret - Morehead City 2 WNW. Mar 20 / Nov 21 / 246 / Oct 10

  • Catawba - Hickory FAA AP. Apr 6 / Oct 31 / 208 / Sep 19

  • Chatham - Siler City 2 N. Apr 14 / Oct 23 / 192 / Sep 11

  • Cherokee - Murphy. Apr 26 / Oct 17 / 174 / Sep 5

  • Chowan - Edenton. Mar 28 / Nov 12 / 229 / Oct 1

  • Cleveland - Shelby 2 NNE. Apr 11 / Oct 27 / 199 / Sep 15

  • Columbus - Columbus County Airport. Mar 26 / Nov 5 / 224 / Sep 24

  • Craven - New Bern ASOS. Mar 23 / Nov 14 / 236 / Oct 3

  • Cumberland - Fayetteville PWC. Mar 31 / Nov 4 / 218 / Sep 23

  • Currituck - Currituck County Airport. Mar 29 / Nov 16 / 232 / Oct 5

  • Dare - Hatteras Weather Service Office. Mar 5 / Dec 16 / 286 / Nov 4

  • Dare - Dare County Airport. Mar 11 / Dec 4 / 268 / Oct 23

  • Davidson - Lexington. Apr 7 / Oct 28 / 204 / Sep 16

  • Davie - Mocksville 5SE. Apr 13 / Oct 26 / 196 / Sep 14

  • Duplin - Wallace. Apr 5 / Nov 3 / 212 / Sep 22

  • Duplin - Duplin County Airport. Apr 3 / Nov 2 / 213 / Sep 21

  • Durham - North Durham Water Reclamation Facility. Apr 5 / Nov 4 / 213 / Sep 23

  • Edgecombe - Tarboro 1 S. Apr 3 / Nov 1 / 212 / Sep 20

  • Forsyth - Smith Reynolds Airport. Apr 1 / Nov 3 / 216 / Sep 22

  • Franklin - Louisburg. Apr 16 / Oct 24 / 191 / Sep 12

  • Gaston - Gastonia. Apr 1 / Nov 6 / 219 / Sep 25

  • Gates - Buckland Elementary. Apr 5 / Nov 1 / 210 / Sep 20

  • Graham - Robbinsville Ag 5 NE. Apr 17 / Oct 21 / 187 / Sep 9

  • Granville - Henderson-Oxford Airport. Mar 31 / Nov 3 / 217 / Sep 22

  • Guilford - High Point. Apr 5 / Nov 1 / 210 / Sep 20

  • Guilford - Greensboro Airport. Apr 3 / Oct 31 / 211 / Sep 19

  • Halifax - Roanoke Rapids. Apr 3 / Nov 3 / 214 / Sep 22

  • Harnett - Dunn 4 NW. Mar 31 / Nov 1 / 215 / Sep 20

  • Haywood - Waterville. Apr 10 / Oct 27 / 200 / Sep 15

  • Haywood - Waynesville 1 E. May 3 / Oct 9 / 159 / Aug 28

  • Haywood - Mountain Research Station. Apr 29 / Oct 13 / 167 / Sep 1

  • Henderson - Hendersonville 1 NE. Apr 20 / Oct 18 / 181 / Sep 6

  • Hertford - Murfreesboro. Apr 7 / Oct 28 / 204 / Sep 16

  • Iredell - Statesville 2 NNE. Apr 16 / Oct 25 / 192 / Sep 13

  • Jackson - Cullowhee. Apr 28 / Oct 14 / 169 / Sep 2

  • Johnston - Clayton WTP. Apr 3 / Nov 4 / 215 / Sep 23

  • Lee - Lee County Airport. Apr 6 / Oct 27 / 204 / Sep 15

  • Lenoir - Kinston Ag Rsch. Mar 28 / Nov 6 / 223 / Sep 25

  • Lincoln - Lincolnton 4 W. Apr 11 / Oct 27 / 199 / Sep 15

  • McDowell - Marion 2 NW. Apr 13 / Oct 25 / 195 / Sep 13

  • Macon - Franklin. Apr 29 / Oct 14 / 168 / Sep 2

  • Macon - Highlands. Apr 28 / Oct 16 / 171 / Sep 4

  • Macon - Wayah Bald Mountain. May 4 / Oct 15 / 164 / Sep 3

  • Madison - Hot Springs. Apr 14 / Oct 26 / 195 / Sep 14

  • Madison - Marshall. Apr 27 / Oct 16 / 172 / Sep 4

  • Martin - Williamston 1 E. Mar 26 / Nov 6 / 225 / Sep 25

  • Mecklenburg - Charlotte Douglas AP. Apr 1 / Nov 5 / 218 / Sep 24

  • Montgomery - Jackson Springs 5 WNW. Mar 31 / Nov 7 / 221 / Sep 26

  • Moore - Moore County Airport. Apr 5 / Nov 2 / 211 / Sep 21

  • Nash - Rocky Mount-Wilson Airport. Mar 31 / Nov 2 / 216 / Sep 21

  • New Hanover - Wilmington Intl AP. Mar 17 / Nov 18 / 246 / Oct 7

  • New Hanover - Wilmington 7 SE. Mar 15 / Nov 23 / 253 / Oct 12

  • Northampton - Jackson. Apr 9 / Oct 31 / 205 / Sep 19

  • Onslow - New River MCAS. Mar 22 / Nov 16 / 239 / Oct 5

  • Orange - Chapel Hill 2 W. Apr 6 / Oct 30 / 207 / Sep 18

  • Pamlico - Bayboro 3 SW. Mar 26 / Nov 11 / 230 / Sep 30

  • Pasquotank - Elizabeth City CG Air Stn. Mar 30 / Nov 11 / 226 / Sep 30

  • Person - Roxboro 7 ESE. Apr 11 / Oct 28 / 200 / Sep 16

  • Pitt - Greenville. Mar 30 / Nov 4 / 219 / Sep 23

  • Polk - Tryon. Apr 5 / Nov 3 / 212 / Sep 22

  • Randolph - Asheboro 2 W. Apr 4 / Nov 2 / 212 / Sep 21

  • Richmond - Hamlet Tower. Apr 3 / Nov 1 / 212 / Sep 20

  • Richmond - Mackall U.S. Army Airfield. Apr 3 / Nov 2 / 213 / Sep 21

  • Robeson - Lumberton Regional AP. Mar 30 / Nov 7 / 222 / Sep 26

  • Rockingham - Reidsville 2 NW. Apr 6 / Oct 30 / 207 / Sep 18

  • Rowan - Piedmont Research Station. Apr 8 / Oct 30 / 205 / Sep 18

  • Rutherford - Forest City 8 W. Apr 12 / Oct 24 / 195 / Sep 12

  • Sampson - Clinton 2 NE. Mar 30 / Nov 3 / 218 / Sep 22

  • Scotland - Laurinburg. Mar 29 / Nov 5 / 221 / Sep 24

  • Stanly - Albemarle. Apr 12 / Oct 26 / 197 / Sep 14

  • Stokes - Danbury. Apr 20 / Oct 19 / 182 / Sep 7

  • Surry - Mt Airy 2 W. Apr 24 / Oct 17 / 176 / Sep 5

  • Swain - Oconaluftee. Apr 30 / Oct 9 / 162 / Aug 28

  • Transylvania - Lake Toxaway 2 SW. Apr 21 / Oct 21 / 183 / Sep 9

  • Transylvania - Brevard. Apr 28 / Oct 13 / 168 / Sep 1

  • Tyrrell - Columbia Ag Gum Neck. Mar 26 / Nov 12 / 231 / Oct 1

  • Union - Monroe 2 SE. Apr 12 / Oct 26 / 197 / Sep 14

  • Vance - Henderson 2 NNW. Apr 15 / Oct 27 / 195 / Sep 15

  • Wake - Falls Lake. Apr 5 / Nov 4 / 213 / Sep 23

  • Wake - Raleigh AP. Apr 8 / Oct 30 / 205 / Sep 18

  • Washington - Tidewater Research Station. Mar 30 / Nov 6 / 221 / Sep 25

  • Watauga - Boone 1 SE. May 1 / Oct 14 / 166 / Sep 2

  • Wayne - Cherry Research Station. Apr 3 / Nov 6 / 217 / Sep 25

  • Wilkes - North Wilkesboro. Apr 21 / Oct 19 / 181 / Sep 7

  • Wilson - Wilson 3 SW. Mar 30 / Nov 6 / 221 / Sep 25

  • Yadkin - Yadkinville 6 E. Apr 18 / Oct 22 / 187 / Sep 10

  • Yancey - Burnsville Ag. Apr 22 / Oct 19 / 180 / Sep 7

  • Yancey - Mt Mitchell. May 17 / Oct 4 / 140 / Aug 23

Twelve counties have no long-term station: Alleghany, Camden, Caswell, Clay, Greene, Hoke, Hyde, Jones, Mitchell, Pender, Perquimans and Warren. Use the nearest station in an adjoining county at similar elevation, and lean conservative.

Seed starting and transplanting, keyed to your frost date

Find your last spring freeze above, then count. A minus sign means before your last freeze; a plus sign means after it. This is the step no free planting chart performs — it is why one calendar can serve a state with a 21-week spread in growing season.

  • Onions, leeks — start indoors 10 to 8 weeks before. Transplant 4 weeks before last freeze.

  • Celery — indoors, 10 to 8 weeks before. Cold-sensitive; wait for settled warmth.

  • Peppers — indoors, 8 to 6 weeks before. Transplant 2 weeks AFTER last freeze.

  • Eggplant — indoors, 8 to 6 weeks before. Transplant 2 weeks AFTER last freeze.

  • Broccoli, cabbage — indoors, 7 to 5 weeks before. Transplant 3 to 4 weeks before last freeze.

  • Tomatoes — indoors, 6 to 5 weeks before. Transplant 1 to 2 weeks AFTER last freeze.

  • Lettuce, spinach — 6 to 4 weeks before, either method. Direct sow as soon as soil is workable.

  • Peas — direct, 6 to 4 weeks before. Sow as soon as soil is workable.

  • Potatoes — direct, 4 to 2 weeks before.

  • Carrots, beets, radish — direct, 4 to 2 weeks before. Succession sow every 2 to 3 weeks.

  • Corn — direct, 1 to 2 weeks after. Soil must reach 60 F.

  • Beans, snap and bush — direct, 1 to 2 weeks after. Soil must reach 60 F.

  • Cucumbers — direct, 1 to 2 weeks after, or transplant started 3 weeks early.

  • Squash, zucchini — direct, 1 to 2 weeks after, or transplant started 3 weeks early.

  • Melons — direct, 2 to 3 weeks after. Needs warm soil; last to go in.

  • Okra, sweet potato — direct, 2 to 3 weeks after. Heat lovers; do not rush.

Worked example, Union County

Last spring freeze April 12. Tomatoes start indoors 5 to 6 weeks before that — March 1 to March 8. They go in the ground 1 to 2 weeks after — April 19 to April 26.

Run the same math on Charlotte's April 1 and you transplant on April 8. In Waxhaw that is eleven days into freeze territory. This single offset is the difference between a crop and a replacement trip to the garden centre.

The fall planting deadline

Fall vegetable planting dates for the NC Piedmont — read backwards from your own first-frost date.
Fall vegetable planting dates for the NC Piedmont — read backwards from your own first-frost date.

Fall is the better season for planting woody plants in North Carolina. Soil stays warm while air cools, so the plant puts its energy into roots instead of leaves, and it needs far less water than a spring planting.

NC Cooperative Extension puts a floor under it: the chance of plant failure increases the later in the season you wait, so plants should get at least six weeks of mild weather for root growth before freezing temperatures arrive.

Extension publishes the rule. Extension publishes the freeze dates. Nobody puts them together — so the last column of the county table above is that calculation already done for your county.

For most of the Piedmont, that deadline lands in mid-to-late September. Union County's is September 14. Mecklenburg's is September 24.

The printable version

The North Carolina Frost Dates and Planting Calendar is this data as a formatted PDF covering all 100 counties and 107 stations, with the seed-starting offsets, the fall deadline column, and the notes on which counties lack stations — designed to print and keep in the shed rather than scroll on a phone.

Related

Compiled by Alex Purdy, Carolina Terrain, Waxhaw, North Carolina. NC Landscape Contractor License CL.1872, NCSU Stormwater SCM Inspection and Maintenance Certification #5970, NDS Certified Drainage Contractor. Educational reference. I am a licensed contractor, not a professional engineer and not a registered landscape architect.

Sources: Freeze data from NC State Extension and the State Climate Office of North Carolina long-term station normals. Fall root-establishment window from NC Cooperative Extension, Halifax County Center.

Comments


Stormwater management Weddington NC
Carolina Terrain Logo with White Font
Contact Info

Location:

1515 Waxhaw Indian Trail Rd S, Waxhaw, NC 28173, USA

© 2025 Carolina Terrain - All Rights Reserved.   |   Legal Policy

bottom of page