Frost dates in Virginia
Across Virginia's 125 NOAA stations with a frost every year, the typical last spring frost ranges from March 16 at Norfolk NAS (20 feet above sea level) to May 12 at Mill Gap (2,420 feet above sea level). The middle station's date is April 14.
Look up your ZIP code
Last frost across Virginia
The frost-free season runs from 143 days at Mill Gap to 255 days at Norfolk NAS.
The station with the latest frost sits about 2,400 feet higher than the one with the earliest.
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 Virginia's larger places
| Place | Last spring frost | First fall frost | Season | Zone |
|---|---|---|---|---|
| Chesapeake | March 23 | November 18 | 240 days | 8a |
| Hampton | March 24 | November 15 | 238 days | 8b |
| Newport News | April 1 | November 9 | 221 days | 8a |
| Norfolk | March 16 | November 26 | 255 days | 8b |
| Richmond | April 3 | November 4 | 215 days | 7b |
| Virginia Beach | March 29 | November 12 | 230 days | 8b |
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 Virginia
Virginia's 1,196 ZIP codes in the USDA list fall in zones 6a to 8b: 6a (under 1 percent), 6b (3 percent), 7a (32 percent), 7b (43 percent), 8a (16 percent) and 8b (5 percent). Compared with the 2012 map, 65 percent of them moved to a warmer half zone (17 by a full zone or more), 35 percent stayed the same and 3 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 Virginia
All 125 stations in Virginia 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) |
|---|---|---|---|---|
| Abingdon 3 S | 1,930 | April 21 | October 20 | 182 |
| Amelia Courthouse | 340 | April 7 | November 2 | 209 |
| Appomattox | 850 | April 7 | November 1 | 206 |
| Ashland | 220 | April 10 | October 29 | 201 |
| Ashland Hanover Co Municipal Airport | 210 | April 10 | October 31 | 202 |
| Bedford | 900 | April 7 | October 31 | 204 |
| Big Meadows | 3,540 | May 1 | October 19 | 169 |
| Big Stone Gap | 1,470 | April 20 | October 23 | 186 |
| Blacksburg Nwso | 2,100 | April 24 | October 19 | 175 |
| Bland | 2,000 | May 6 | October 10 | 157 |
| Boston 4 SE | 590 | April 21 | October 22 | 184 |
| Breaks Interstate Park | 1,890 | April 22 | October 23 | 182 |
| Bremo Bluff | 230 | April 28 | October 17 | 172 |
| Brookneal | 410 | April 17 | October 24 | 188 |
| Buchanan | 880 | April 8 | October 31 | 205 |
| Burkes Garden | 3,070 | May 9 | October 6 | 150 |
| Cape Charles 5 ENE | 30 | March 28 | November 17 | 234 |
| Charlotte Court House | 570 | April 10 | October 30 | 201 |
| Charlottesville 2 SSE | 1,180 | April 2 | November 8 | 221 |
| Charlottesville 2 W | 870 | April 2 | November 10 | 222 |
| Charlottesville Airport | 640 | April 3 | November 1 | 211 |
| Chase City | 510 | April 6 | November 1 | 209 |
| Chatham | 650 | April 22 | October 23 | 183 |
| Christiansburg | 2,100 | April 19 | October 23 | 186 |
| Clarksville | 330 | March 31 | November 5 | 220 |
| Clintwood 1 W | 1,560 | April 29 | October 16 | 169 |
| Copper Hill | 2,850 | April 21 | October 25 | 186 |
| Corbin | 220 | April 14 | October 27 | 195 |
| Covington Filter Plant | 1,240 | April 27 | October 18 | 172 |
| Crozier | 350 | April 17 | October 27 | 191 |
| Dale Enterprise | 1,360 | April 21 | October 23 | 182 |
| Danville 2 SE | 390 | April 8 | November 1 | 205 |
| Danville Regional Airport | 570 | April 10 | October 28 | 200 |
| Disputanta | 130 | April 10 | November 1 | 206 |
| Eastville | 10 | March 26 | November 20 | 240 |
| Edinburg | 930 | April 25 | October 19 | 174 |
| Elk Creek 4 SSW | 3,440 | April 16 | October 27 | 193 |
| Emporia 1 WNW | 100 | March 31 | November 6 | 221 |
| Farmville 2 N | 450 | April 12 | October 29 | 199 |
| Fentress Naas | 20 | March 23 | November 18 | 240 |
| Floyd 2 NE | 2,620 | April 30 | October 10 | 159 |
| Fort Pickett | 330 | April 11 | October 30 | 200 |
| Fredericksburg Sewage | 60 | April 6 | November 1 | 207 |
| Free Union | 590 | April 19 | October 24 | 186 |
| Front Royal | 930 | April 13 | October 28 | 196 |
| Galax Radio WBRF | 2,390 | April 26 | October 14 | 171 |
| Galax WTP | 2,340 | April 22 | October 21 | 180 |
| Gathright Dam | 1,770 | April 22 | October 21 | 181 |
| Greenbay 3 NE | 500 | April 7 | November 1 | 209 |
| Grundy | 1,160 | April 21 | October 26 | 189 |
| Holland 1 E | 80 | April 7 | November 2 | 208 |
| Hopewell | 40 | March 31 | November 6 | 222 |
| Hot Springs | 2,240 | April 26 | October 19 | 173 |
| John H Kerr Dam | 250 | April 5 | November 1 | 210 |
| Keysville 2 S | 630 | April 8 | November 1 | 206 |
| Langley AFB | 10 | March 24 | November 15 | 238 |
| Lawrenceville 3 E | 320 | April 7 | October 31 | 205 |
| Lebanon | 1,910 | April 25 | October 16 | 173 |
| Lexington | 1,100 | April 23 | October 23 | 181 |
| Louisa | 420 | April 26 | October 20 | 175 |
| Luray 5 E | 1,400 | April 23 | October 22 | 179 |
| Lynchburg #2 | 730 | April 17 | October 25 | 190 |
| Lynchburg Regional Airport | 940 | April 15 | October 24 | 191 |
| Manassas | 250 | April 12 | October 27 | 197 |
| Martinsville Filter Plant | 780 | April 24 | October 21 | 179 |
| Meadows of Dan 5 SW | 2,220 | April 21 | October 25 | 185 |
| Mill Gap | 2,420 | May 12 | October 3 | 143 |
| Montebello Fish Cultural Station | 2,670 | May 2 | October 13 | 162 |
| Monticello | 760 | April 5 | November 4 | 213 |
| Mount WX | 1,660 | April 17 | November 1 | 198 |
| Mount WX 3 | 1,550 | April 17 | October 29 | 194 |
| Mustoe 1 SW | 2,370 | May 8 | October 5 | 148 |
| N | 0 | April 1 | November 10 | 223 |
| Newport News International Airport | 40 | April 1 | November 9 | 221 |
| Nora 4 SSE | 2,660 | April 14 | November 1 | 200 |
| Norfolk International Airport | 30 | March 17 | November 23 | 252 |
| Norfolk NAS | 20 | March 16 | November 26 | 255 |
| Norfolk Rich | 110 | April 6 | November 1 | 210 |
| Norfolk S | 10 | March 23 | November 16 | 239 |
| Oceana NAS | 20 | March 29 | November 12 | 230 |
| Painter 2 W | 30 | April 4 | November 7 | 216 |
| Palmyra 3 S | 410 | April 23 | October 21 | 180 |
| Pearisburg 4 SSE | 1,680 | April 27 | October 17 | 171 |
| Pennington Gap | 1,360 | April 22 | October 20 | 179 |
| Petersburg | 20 | April 3 | November 3 | 216 |
| Philpott Dam 2 | 1,120 | April 14 | October 31 | 199 |
| Piedmont Research Station | 520 | April 7 | October 30 | 204 |
| Pulaski 2 E | 2,080 | April 25 | October 17 | 175 |
| Purcellville | 510 | April 16 | October 25 | 189 |
| Quantico MCAS | 10 | March 28 | November 8 | 226 |
| Radford 3 N | 1,800 | April 26 | October 18 | 174 |
| Richlands | 1,910 | April 27 | October 18 | 173 |
| Richmond International Airport | 160 | April 3 | November 4 | 215 |
| Roanoke 8 N | 1,160 | April 11 | October 28 | 198 |
| Roanoke Regional Airport | 1,170 | April 3 | November 1 | 210 |
| Rocky Mount | 1,320 | April 20 | October 25 | 188 |
| S Boston | 330 | April 10 | October 30 | 202 |
| Saltville 1 N | 1,730 | April 23 | October 20 | 178 |
| Sandston | 160 | April 7 | November 1 | 206 |
| Somerset | 510 | April 17 | October 22 | 188 |
| Sperryville | 750 | April 16 | October 27 | 192 |
| Star Tannery | 950 | April 26 | October 17 | 172 |
| Staunton WTP | 170 | April 15 | October 27 | 191 |
| Stony Creek 2 N | 100 | April 9 | October 29 | 203 |
| Stuart | 1,370 | April 19 | October 27 | 190 |
| Suffolk Lake Kilby | 20 | March 27 | November 15 | 233 |
| Tye River 1 SE | 720 | April 15 | October 25 | 193 |
| Vienna | 420 | April 14 | October 29 | 198 |
| W Point 2 NW | 20 | April 6 | November 1 | 208 |
| Wakefield 1 NW | 110 | April 12 | October 30 | 200 |
| Walkerton 2 NW | 50 | April 7 | November 1 | 209 |
| Wallaceton-Lake Drummond | 20 | April 20 | October 27 | 190 |
| Wallops Island Flight Fac | 40 | March 31 | November 11 | 225 |
| Warrenton 3 SE | 500 | April 9 | November 1 | 205 |
| Warsaw 2 NW | 140 | April 8 | October 30 | 204 |
| Washington DC Dulles Airport | 290 | April 15 | October 24 | 194 |
| Washington Reagan Airport | 10 | March 24 | November 18 | 241 |
| Waynesboro WTP | 1,270 | April 21 | October 23 | 184 |
| WFO Sterling | 290 | April 13 | October 26 | 195 |
| Williamsburg 2 N | 70 | March 31 | November 10 | 225 |
| Winchester | 720 | April 11 | October 29 | 200 |
| Winchester 7 SE | 680 | April 25 | October 18 | 174 |
| Wise 1 SE | 2,570 | April 25 | October 18 | 175 |
| Woodstock 2 NE | 680 | April 24 | October 20 | 177 |
| Wytheville | 2,460 | April 25 | October 18 | 174 |
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.