BreatheCheck Get alerts

Pittsburgh, PA Air Quality Index (AQI) Today

LIVE

Right now: Pittsburgh is at 69, moderate.

Is the air safe to breathe in Pittsburgh today?

69 69Moderate “Unhealthy for everyone” starts at 151 — not 201.

Go

Normal outdoor plans. No change needed.

Short & unloaded

A 20-minute dog walk, not a 2.5-hour run. Keep it brief and easy.

Don’t go

Move it indoors. Above 200 that becomes everyone, not just sensitive groups.

Verdict by duration and intensity at AQI 69
Under 20 min20–60 minOver an hour
Easy Go Go Go
Moderate Go Go Go
Hard Go Go Go
  • 60 Asthmatic runnerone runner’s own 156-run log
  • 75–100 Daycare / schoolWA 75/80, MN 100 — confirmed; most states not studied
  • 100 Parentcommunity-reported, escalating at 150 and 200
  • 110 Runnercommunity-reported

EPA classifies 101–150 as Unhealthy for Sensitive Groups. That is an attributed classification, not a verdict on your lungs specifically.

If you’re staying in, filter the room you’re actually in

A portable HEPA unit or a Corsi-Rosenthal box — one builder put theirs at about $130 for a 12×14 bedroom. We don’t default to a MERV-13 swap in whole-house HVAC: it can restrict airflow, and the safe version needs a static-pressure check first.

See options

PM2.5

pipeline

pipeline

That color and number are today’s call on Pittsburgh air quality. What they’re actually deciding is smaller than the headline: the river-trail run, the kid’s soccer practice, whether the windows stay open tonight. This page tracks the air quality Pittsburgh has actually breathed over the past month, not just the one figure refreshing above. Skip refreshing it yourself — a text when the river valleys cross your number is enough.

Pittsburgh’s last 30 days, not just today

One reading says nothing about the shape behind it. This page rebuilds the air quality Pittsburgh saw over the trailing 30 days, from the same hourly AQI feed as the number above. It also carries a running count of days above AQI 100 in the last 12 months. That shape matters more here than the average search result suggests. Pittsburgh’s own 12-month search-demand average runs 12,100. The typical month is only 1,000. One event drags the average up, not a steady baseline — the same distortion Cleveland shows at 25.2x and Milwaukee at 15.1x. Salt Lake City, genuinely bimodal, does not show it. IQAir, AccuWeather, aqicn and Pennsylvania’s own monitor grid hand you today’s number and stop there. None tells you whether today is the typical month or the event.

Why is it hazy in Pittsburgh today?

Pittsburgh sits where the Allegheny and Monongahela rivers meet to form the Ohio, in a valley the surrounding hills wall in on most sides. That geography lets a river-valley city hold onto what a flatter one would blow through in an hour. Three things can also make the sky look worse than the number: 24-hour averaging, wildfire smoke sitting aloft, or a distant station.

Wildfire smoke is increasingly Pittsburgh’s single biggest driver, and it can sit aloft above the monitor doing the measuring while the ground-level reading stays moderate. The AQI’s 24-hour average dilutes one rough afternoon across the twenty calmer hours around it. Or the nearest working station is miles off, standing in for a metro spread across three rivers and dozens of separate valleys and hilltops. None of that makes the haze fake. One number averages one location, not your block. River-valley air and what an average does to it goes through the causes.

Bar chart of US monthly search volume for “air quality pittsburgh” across Aug 2025 – Jul 2026, month by month: 4,400, 1,900, 880, 1,000, 720, 1,000, 2,400, 1,000, 1,000, 880, 720, 135,000. The high is 135,000 (Jul 2026), 135.0 times the median month of 1,000; the low is 720 (Dec 2025, Jun 2026). Bars are neutral blue-grey with the peak month in accent blue — search demand, not AQI, so they carry no EPA band colour. “air quality pittsburgh”, DataForSEO, Aug 2025 – Jul 2026. Peak 135,000 (Jul 2026) against a median month of 1,000. Winter ratio 7% (Nov-Feb mean over Mar-Oct mean). Bars are neutral blue-grey with the peak month in accent blue — never EPA band colours.

What is causing the bad air in Pittsburgh?

Two separate mechanisms drive bad air in Pittsburgh, on different clocks. The slower one is physical. On a still winter day, Pittsburgh’s river valleys trap cold, dense air under a warmer layer above it — a temperature inversion. Wood smoke and gas heating, vehicle traffic and the region’s remaining heavy industry along the river corridor all sit under that cap. Once it forms, the mix reads mostly as fine PM2.5.

A February 2026 r/AirQuality thread described the same pattern, after reading five states’ own AirNow forecast pages side by side, Pennsylvania’s included. “From reading through some of these it looks like there’s an inversion trapping and keeping pollution close to the ground,” the commenter wrote. That’s straight off what Pennsylvania’s and Michigan’s own agency pages already said. A dry, windy stretch off the rivers can lift coarser PM10 dust instead — different particulate matter, same number on the page. The result reads as a PM2.5 winter signature, not the ozone spikes flatter, sunnier metros get in July.

The faster, bigger mechanism is wildfire smoke, riding in from hundreds of miles north in Canada. The same plume broke Chicago’s own AQI record on July 16, 2026. AirNow readings there climbed from 597 to 701 to 742 in a single afternoon and evening. That’s high enough that a chart capped at 500 stopped being able to show it. Chicago, on the identical downwind path, catches it the same way Pittsburgh does. No Pittsburgh-specific AQI reading from that week survives in this project’s sources, so none is reported here. But the search-volume record does: “air quality pittsburgh” spiked to 135,000 searches that same month, a single event outweighing the rest of the year combined.

Is the air safe to breathe in Pittsburgh today?

Pittsburgh sits where the Allegheny and Monongahela rivers meet to form the Ohio, with the surrounding hills boxing the valley in on most sides. Wildfire smoke, not local industry, is increasingly the single biggest driver of a bad reading here. Go on an ordinary day. Short and unloaded: the short warmup jog instead of the tempo run along the rivers. Don’t go past that point.

On EPA’s scale, everyone is warned starting at 151, Unhealthy. 201 to 300, Very Unhealthy, restates that same warning at a harder level, not a new group. Once a reading clears roughly 200, the valley holds it — staying in stops being a choice.

What AQI should you stay inside?

Pennsylvania hasn’t published a school or daycare AQI cutoff this project can confirm. Washington and Minnesota are the two exceptions with a documented figure. Where a daycare threshold is written down covers both.

Wildfire smoke, now Pittsburgh’s biggest single driver, pulls every personal threshold down about one EPA band. That’s more than the valley’s older industrial haze ever did on its own. EPA classes 101–150 as Unhealthy for Sensitive Groups, which is their category and not a verdict on your lungs.

Individual numbers still run well under that EPA line regardless of source. A runner on r/Marathon_Training named a figure: “I’ll run in up to 110 because…error bars.” An asthmatic runner logged 156 runs against AQI instead and set a much lower ceiling, 60. Past it, “my lungs struggle regardless of how well I’ve trained,” though EPA calls nothing under 100 unhealthy. Their log: 87% of runs under 50 went fine, 42% between 50 and 70, just 12% past 70. Parents online land closer to 100.

Indoors, a portable HEPA purifier or a Corsi-Rosenthal box is the default; one community builder priced a 12x14 bedroom box at $130. A whole-house MERV-13 swap needs a static-pressure check from a licensed tech first — river-valley homes with older ductwork choke on it more than most. Which MERV rating your system can actually take has the guardrail.

The EPA AQI scale for Pittsburgh in six colour bands, each segment as wide as its range: Good 0-50 green, Moderate 51-100 yellow, Unhealthy for Sensitive Groups 101-150 orange, Unhealthy 151-200 red, Very Unhealthy 201-300 purple, Hazardous 301-500 maroon. Beneath, the 0-150 stretch is enlarged to mark three cutoffs quoted on this page: 60 for one asthmatic runner after a 156-run log, about 100 where a parent calls off the outing, and 110 for one r/Marathon_Training runner. EPA AirNow’s own colours and breakpoints, segment width proportional to the AQI range. The three marks are individual reported cutoffs quoted on this page, not EPA guidance.

Why our number may not match what you are seeing and smelling

This cuts two directions. Direction one: the sky looks clear, the number is bad. Ground-level ozone is invisible and odorless. A bright, still day can carry an elevated reading with nothing visible to explain it. There’s no smelling your way to a safe read on it — check the number.

Direction two is the more common one here once a plume is active: the sky looks smoky, and the posted number stays surprisingly calm. That’s usually smoke sitting aloft above the monitor doing the measuring. Or it’s the 24-hour average diluting a genuinely rough afternoon into a moderate-looking daily figure. Neither direction means the number is wrong. It means the number and your senses are measuring different things.

That’s the monitoring station behind today’s reading — its distance from downtown, and the nearby PurpleAir sensor count. A station miles off under-reports whichever river valley or hilltop sits farthest from it. Why a river valley and a hilltop don’t read the same goes through it.

Why Pittsburgh air gets worse in winter

Yes, winter does get worse in Pittsburgh, and the river valleys are the reason. But the figure that made winter Pittsburgh’s whole story was wrong. An earlier keyword pull, computed before this project’s fuller measurement window, put Pittsburgh’s winter ratio at 75%. The fuller twelve-month pull, using the same Nov-Feb mean over Mar-Oct mean formula, puts the real ratio at 7%.

Pittsburgh’s own search-demand seasonality tells two different stories, depending on which pull you read, and they disagree by a factor of ten. That 75% figure was enough to file it next to Salt Lake City’s genuinely bimodal pattern. A Nov-Feb mean of 1,280 against a Mar-Oct mean of 18,223 does that math.

The reason is one month. July 2026 alone posted 135,000 searches for “air quality pittsburgh” — the same Canadian smoke plume that broke Chicago’s own AQI record that week. Every other month on file ran between 720 and 4,400. The median month across the full year is 1,000. The 12-month average, dragged up by that single spike, is 12,100 — a 12.1x overstatement. That’s close to Milwaukee’s 15.1x and nowhere near Salt Lake City’s 1.7x, the one large metro the fuller measurement calls genuinely winter-driven rather than event-driven.

The physical mechanism the 75% figure was trying to describe is still real. It’s just not what most people are searching for. St. Louis sits in the same Ohio and Mississippi valley inversion basin Pittsburgh does. It traps cold air under a warmer cap on still winter days downstream on the same river system. It’s the same broad category as the temperature inversion behind Salt Lake City’s Wasatch Front. Same winter cold air pool, same mandatory no-burn days, same “red air day” alerts. Pittsburgh’s own inversion season runs shorter and warmer, over an industrial river base instead of a closed Great Basin bowl. Nothing in the material reviewed here shows a comparable no-burn ordinance on the books. Some regional agencies label the trigger an Air Quality Action Day instead of a plain alert, whether the cause is wintertime particulate or summer ozone.

That inversion just isn’t the mechanism carrying Pittsburgh’s search traffic. The July plume is. It’s the same one reaching Milwaukee along the lake, Madison a little inland and New York at the eastern end most years it recurs. Minneapolis sits at the front of that path.

FAQ

What’s the air quality forecast for Pittsburgh tomorrow?

Wildfire smoke and a winter inversion can each shift a forecast within hours. Treat it as a direction, not a lock — recheck the morning of.

What’s the UV index in Pittsburgh today?

UV runs on its own scale, separate from AQI. A clear, low-AQI day is often the highest-UV day of the week, so a good air quality reading isn't a reason to skip sunscreen.

Who has the worst air quality in the US right now?

See how Pittsburgh ranks today against every tracked city. Its rank moves hardest during an active Canadian wildfire-smoke event, not in an ordinary week of winter.

What is in the air in Pittsburgh right now?

That's today's specific reading. PM2.5 from an active wildfire plume, or from traffic and heating trapped under a winter inversion, dominates most bad-air days here. Outside of those two situations, readings are typically low.

Why does it smell like smoke outside in Pittsburgh?

Two different situations produce that smell. Wildfire smoke is burning vegetation, usually riding down from a fire hundreds of miles north in Canada. A structure or industrial event burns a different mix entirely. If a specific fire is active, How long the smoke lasts once it settles in is the briefing.

Pittsburgh, about miles from the metro centre, with nearby sensors.

A station miles from where you stand under-reports whichever side of the metro sits farthest from it.

The last 30 days in Pittsburgh

Our own history, written from day one. No competitor publishes an indexable per-city series.

0 of the last 30 days were above AQI 100.

Questions people ask

What AQI should you stay inside?

It depends who is asking. A runner community-reports 110; a parent around 100; one asthmatic runner’s own 156-run log put their cutoff at 60. EPA classifies 101–150 as Unhealthy for Sensitive Groups — an attributed classification, not a verdict on your lungs.

Is it safe to exercise outside today?

Duration and intensity are separate dials. A 20-minute easy walk and a two-hour hard run at the same number are different decisions.

Why does another app show a different number?

Different averaging windows, different stations, and some apps substitute a neighbouring city when the local feed drops. Our method →

Updated