Virginia Air Quality
Harrisonburg is the worst air in Virginia right now at an index of 42, which is Good, from fine particles (PM2.5). AirNow carries 11 reporting areas in the state. No air quality alert is in force.
- Reporting areas
- 11
- Worst index now
- 42
- Alerts in force
- 0
- Towns under smoke
- Unavailable
Fine particles on the map
Forecast fine particulate matter from NOAA’s National Air Quality Forecast Capability over Virginia. Open it for the live map, where it pans and zooms.























Open the live map with the particulate forecast
Map layer from NOAA National Air Quality Forecast Capability. Boundaries from the Iowa Environmental Mesonet.
Alerts in force
An Air Quality Alert is issued by the National Weather Service on behalf of a state or local agency when pollution is expected to reach a level that harms health. An Air Stagnation Advisory means the air will not move enough to clear what is already in it.
None are in force in Virginia right now. All Virginia warnings.
By city, now and the days ahead11
Every AirNow reporting area in Virginia: what its monitors measured this hour, and what the state or local agency that forecasts for it expects today and tomorrow. Each area links to the nearest town’s page.
| Reporting area | Now | Category now | Today | Tomorrow | Pollutant |
|---|---|---|---|---|---|
| Harrisonburg | 42 | Good | Not forecast | Not forecast | PM2.5 |
| Roanoke | 42 | Good | Moderate | Good | PM2.5 |
| Winchester | 35 | Good | Good | Good | PM2.5 |
| Hampton Roads | 34 | Good | Moderate | Good | PM2.5 |
| Northern Virginia | 32 | Good | Good | Good | Ozone |
| Richmond | 32 | Good | Good | Good | PM2.5 |
| Charlottesville | 31 | Good | Not forecast | Not forecast | PM2.5 |
| Giles Co. | 31 | Good | Not forecast | Not forecast | Ozone |
| Natural Bridge | 28 | Good | Not forecast | Not forecast | Ozone |
| Wythe Co. | 26 | Good | Not forecast | Not forecast | Ozone |
| Prince Edward Co. | 22 | Good | Not forecast | Not forecast | Ozone |
Smoke
NOAA’s Hazard Mapping System smoke analysis could not be read just now.
What this means
The index runs from 0 to 500. Good is 0 to 50, Moderate to 100, Unhealthy for Sensitive Groups to 150, Unhealthy to 200, Very Unhealthy to 300, and Hazardous above that. The figure reported for a place is the highest index among the pollutants measured there, and the pollutant that produced it is named beside it.
What these numbers are. An index beside a monitor’s name is a measurement, published hourly by AirNow and preliminary until the operating agency certifies it. A category for today or tomorrow is a state or local agency forecaster’s own forecast for a reporting area. An hourly index is NOAA’s air quality model on a five-kilometer grid, not a reading from any instrument. Where a town has no monitor within reach, only the model figures appear, and the page says so.
Towns
Air quality for any town in Virginia: what is measured nearby, the category forecast for today and tomorrow, and NOAA’s model hour by hour. Largest first.
- Virginia Beach454,808 people
- Norfolk238,005 people
- Chesapeake235,429 people
- Richmond226,610 people
- Arlington207,627 people
- Newport News186,247 people
- Alexandria159,467 people
- East Hampton147,993 people
- Hampton137,148 people
- Roanoke100,011 people
- Portsmouth Heights99,049 people
- Portsmouth96,201 people
- Suffolk88,161 people
- South Suffolk80,690 people
- Lynchburg79,812 people
- Centreville71,135 people
- Dale City65,969 people
- West Lynchburg65,517 people
- Reston58,404 people
- Harrisonburg52,538 people
- Leesburg51,209 people
- McLean48,115 people
- Charlottesville46,597 people
- Tuckahoe44,990 people
- Blacksburg44,215 people
- Ashburn43,511 people
- Danville42,082 people
- Manassas41,764 people
- Lake Ridge41,058 people
- Burke41,055 people
- Annandale41,008 people
- Mechanicsville36,348 people
- Linton Hall35,725 people
- Oakton34,166 people
- Oak Hill33,811 people
- Petersburg32,477 people
- Springfield30,484 people
- West Falls Church29,207 people
- Fredericksburg28,118 people
- Sterling27,822 people
- Winchester27,284 people
- Salem25,432 people
- Cave Spring24,922 people
- Short Pump24,729 people
- Herndon24,568 people
- Staunton24,416 people
- South Riding24,256 people
- Fairfax24,013 people
- Baileys Crossroads23,643 people
- Chantilly23,039 people
- Lincolnia22,855 people
- West Springfield22,460 people
- Hopewell22,378 people
- Christiansburg21,943 people
- Waynesboro21,491 people
- Chester20,987 people
- Woodlawn20,804 people
- Rose Hill20,226 people
- Tysons19,627 people
- Montclair19,570 people
- Lorton18,610 people
- Midlothian18,320 people
- Meadowbrook18,312 people
- Franconia18,245 people
- Colonial Heights17,820 people
- Culpeper17,557 people
- Radford17,403 people
- Idylwood17,288 people
- Bristol17,141 people
- Laurel16,713 people
- Vienna16,522 people
- Bon Air16,366 people
- Buckhall16,293 people
- Sudley16,203 people
- Wolf Trap16,131 people
- Fort Hunt16,045 people
- Cherry Hill16,000 people
- Hybla Valley15,801 people
- Manassas Park15,726 people
- Highland Springs15,711 people
- Great Falls15,427 people
- Merrifield15,212 people
- Front Royal15,070 people
- Williamsburg15,052 people
- Bull Run14,983 people
- East Highland Park14,796 people
- Glen Allen14,774 people
- Hollins14,673 people
- Groveton14,598 people
- Falls Church13,892 people
- Martinsville13,645 people
- Kings Park West13,390 people
- Brandermill13,173 people
- Newington12,943 people
- Mount Vernon12,416 people
- Broadlands12,313 people
- Timberlake12,183 people
- Poquoson12,059 people
- Fairfax Station12,030 people
- Dranesville11,921 people
- Lakeside11,849 people
- Sugarland Run11,799 people
- Gainesville11,481 people
- Madison Heights11,285 people
- Huntington11,267 people
- Lowes Island10,756 people
- Countryside10,072 people
- Lake Monticello9,920 people
- Warrenton9,897 people
- Fort Lee9,874 people
- Brambleton9,845 people
- Wyndham9,785 people
- Rosslyn9,599 people
- Lake Barcroft9,558 people
- Gloucester Point9,402 people
- Seven Corners9,255 people
- Stuarts Draft9,235 people
- Purcellville9,232 people
- Forest9,106 people
- Bristow8,910 people
- Pulaski8,890 people
- Dunn Loring8,803 people
- Franklin8,490 people
- Woodburn8,480 people
- Floris8,375 people
- Smithfield8,364 people
- Vinton8,231 people
- Triangle8,188 people
- Farmville8,169 people
- Greenbriar8,166 people
- Abingdon8,119 people
- New Baltimore8,119 people
- Wytheville8,115 people
- West Gate8,046 people
- Montrose7,993 people
- South Boston7,976 people
- Dumbarton7,879 people
- Hollymead7,690 people
- Sandston7,571 people
- Yorkshire7,541 people
- Fort Lee7,520 people
- Ashland7,503 people
- Fishersville7,462 people
- Independent Hill7,419 people
- Collinsville7,335 people
- Woodlake7,319 people
- North Springfield7,274 people
- Lexington7,262 people
- Lake of the Woods7,177 people
- Mantua7,135 people
- Fort Belvoir7,100 people
- Galax6,914 people
- Laurel Hill6,855 people
- Aquia Harbour6,727 people
- Ettrick6,682 people
- Buena Vista6,618 people
- Strasburg6,586 people
- Bedford6,561 people
- Belle Haven6,518 people
- Bellwood6,352 people
- Pimmit Hills6,094 people
- Belmont5,966 people
- Marion5,957 people
- Bridgewater5,889 people
- Bensley5,819 people
- Covington5,658 people
- Big Stone Gap5,614 people
- Potomac Mills5,614 people
- Crozet5,565 people
- Richlands5,504 people
- Emporia5,496 people
- Chamberlayne5,456 people
- Bluefield5,279 people
- Woodstock5,248 people
- Dumfries5,217 people
- Orange4,947 people
- Massanetta Springs4,833 people
- Luray4,828 people
- Rocky Mount4,799 people
- Dulles Town Center4,601 people
- Carrollton4,574 people
- South Hill4,527 people
- King George4,457 people
- Bealeton4,435 people
- Tazewell4,421 people
- Kings Park4,333 people
- Stafford4,320 people
- Berryville4,300 people
- Falmouth4,274 people
- Spotsylvania Courthouse4,239 people
- Verona4,239 people
- Woodbridge4,055 people
- Mount Hermon3,966 people
- Norton3,939 people
- Hayfield3,909 people
- Chesterfield Court House3,808 people
- Broadway3,807 people
- Clifton Forge3,739 people
- Loch Lomond3,701 people
- Loudoun Valley Estates3,656 people
143 smaller towns
- University Center3,586 people
- Colonial Beach3,580 people
- Blackstone3,491 people
- Altavista3,474 people
- Enon3,466 people
- Lebanon3,342 people
- West Point3,333 people
- Cloverdale3,119 people
- Wise3,119 people
- North Shore3,094 people
- Blue Ridge3,084 people
- Shenandoah Farms3,033 people
- Pannill Fork3,027 people
- Pantops3,027 people
- Gloucester Courthouse2,951 people
- Chincoteague2,914 people
- Elkton2,809 people
- Southern Gateway2,805 people
- Grottoes2,758 people
- Dublin2,686 people
- Pearisburg2,678 people
- Hillsville2,677 people
- Windsor2,671 people
- Dahlgren2,653 people
- Timberville2,603 people
- Daleville2,557 people
- Weyers Cave2,473 people
- Ravensworth2,466 people
- Matoaca2,403 people
- Tappahannock2,387 people
- Fairlawn2,367 people
- Woodlawn2,343 people
- Shenandoah2,340 people
- Chase City2,296 people
- Massanutten2,291 people
- Raven2,270 people
- Crewe2,241 people
- Horse Pasture2,227 people
- Amherst2,210 people
- Crimora2,209 people
- New Market2,208 people
- Narrows2,171 people
- Fairlawn2,147 people
- Merrimac2,133 people
- Waverly2,073 people
- Prince George2,066 people
- Castlewood2,045 people
- Ferrum2,043 people
- Mount Jackson2,042 people
- Saltville2,031 people
- Coeburn1,999 people
- Haymarket1,980 people
- Laymantown1,979 people
- Gate City1,955 people
- Narrows1,953 people
- Stephens City1,940 people
- Lovettsville1,934 people
- Shawnee Land1,873 people
- Patrick Springs1,845 people
- Pennington Gap1,805 people
- Merrimac1,785 people
- Oak Grove1,777 people
- Claypool Hill1,776 people
- Appomattox1,759 people
- Chilhowie1,741 people
- Chatmoss1,698 people
- Victoria1,677 people
- Appalachia1,671 people
- Stanley1,654 people
- Twin Lakes1,647 people
- Louisa1,621 people
- Dayton1,588 people
- Gordonsville1,577 people
- Bracey1,554 people
- Adwolf1,530 people
- Plum Creek1,524 people
- Warsaw1,495 people
- Lyndhurst1,490 people
- Rural Retreat1,485 people
- Chatham1,481 people
- Marshall1,480 people
- East Lexington1,463 people
- Concord1,458 people
- Glade Spring1,453 people
- Hampden Sydney1,450 people
- Exmore1,447 people
- Stuart1,442 people
- Kilmarnock1,437 people
- Rustburg1,431 people
- Stanleytown1,422 people
- Apple Mountain Lake1,396 people
- Honaker1,392 people
- Boswell's Corner1,375 people
- Springville1,371 people
- Nokesville1,354 people
- Dooms1,327 people
- Clintwood1,325 people
- Central Garage1,318 people
- Middletown1,315 people
- Shawsville1,310 people
- Passapatanzy1,283 people
- Weber City1,276 people
- Hurt1,274 people
- Belmont Estates1,263 people
- Weber City1,262 people
- Onancock1,261 people
- Cana1,254 people
- Basye1,253 people
- Bull Run Mountain Estates1,251 people
- Emory1,251 people
- Halifax1,249 people
- Gretna1,248 people
- Courtland1,246 people
- Henry Fork1,234 people
- Kenbridge1,227 people
- Dryden1,208 people
- Clarksville1,204 people
- Buchanan1,178 people
- Bowling Green1,160 people
- Atkins1,143 people
- Ruckersville1,141 people
- Union Hall1,138 people
- Jolivue1,129 people
- Wattsville1,128 people
- Brookneal1,119 people
- Deltaville1,119 people
- Glasgow1,115 people
- Bassett1,100 people
- Mountain Road1,100 people
- Amelia Court House1,099 people
- Pembroke1,081 people
- Lawrenceville1,078 people
- Cedar Bluff1,076 people
- Nellysford1,076 people
- Edinburg1,069 people
- Prices Fork1,066 people
- Cedar Bluff1,057 people
- Captains Cove1,042 people
- Occoquan1,025 people
- Rushmere1,018 people
- Cape Charles1,017 people
- Motley1,015 people
- Brightwood1,001 people
Smaller places have pages too; search for one on the air quality landing page.
Sources
Observations and daily forecasts from AirNow, the US Environmental Protection Agency’s program with NOAA, the National Park Service, NASA, tribal, state and local agencies. Hourly forecasts from NOAA’s National Air Quality Forecast Capability. Smoke analysis from NOAA’s Hazard Mapping System. Alerts from the National Weather Service. Index categories and breakpoints are EPA’s, as revised in 2024.