WHO vs US EPA vs India NAQI — same air, three verdicts
Across 213 Indian cities in the CPCB station network and 266,150 city-days (2016–2024), India's NAQI and the US EPA AQI agree on only 23.9% of days. On 75.7% of days the same air gets a worse verdict from US EPA than from NAQI, and just 0.0% of cities meet the WHO annual PM2.5 guideline of 5 µg/m³. Mean EPA-vs-NAQI gap: +18.3 AQI points.
How to read this page
Three rule books judge the same lungful of air, and they often disagree. Here's what each one means before we show the numbers.
India NAQI
The official Indian scale (CPCB), 0–500. PM2.5 of 30 µg/m³ is still "Good" here — the cut-offs were drawn for India's baseline air, not for clean global standards.
US EPA AQI
The US scale, also 0–500, but stricter on PM2.5. The EPA flags anything above 9 µg/m³ daily as "Moderate" — a level India still considers Good.
WHO guidelines
Health-based limits, the strictest of the three. The WHO says no more than 5 µg/m³ PM2.5 on average per year, and 15 µg/m³ on any single day.
Worked example.A day with PM2.5 of 60 µg/m³ lands around NAQI 100 (Moderate, "sensitive groups limit exertion"), US EPA 152 (Unhealthy, "everyone reduce outdoor activity"), and roughly 4× over the WHO 24-hour limit. Same air — three very different verdicts.
Pick a city to see its benchmark breakdown
Search any of the 213 Indian cities in our record to see its NAQI, EPA and WHO breakdown side by side.
India at a glance — four numbers
Cities meeting WHO's annual safe limit
0.0%
Out of 213 monitored cities, only this share stayed under 5 µg/m³ PM2.5 for the year.
Days India calls 'good' but the US would flag
56.2%
Share of NAQI Good/Satisfactory days that turn into Moderate or worse under US EPA rules.
How much stricter the US verdict runs, on average
+18.3
AQI points across all city-days. Higher = the US EPA scale flags the same air sooner than India's NAQI.
Days above WHO's daily PM2.5 limit (15 µg/m³)
98.3%
Share of all monitored city-days that breach the WHO 24-hour guideline.
The divergence map
56.2% of NAQI Good-or-Satisfactory days nationwide get re-flagged as Moderate-or-worse by US EPA — that is the structural mismatch between the two scales. Hosur carries the largest gap (46 AQI points on average), which means a Hosur resident reading the morning NAQI is told the air is safer than the same record would imply on a US dashboard.
Each cell = % of all CPCB city-days. Diagonal cells = the two scales agree. Above diagonal = US EPA stricter; below = NAQI stricter.
Cities where NAQI and EPA disagree the most
Hosur
Tamil Nadu
+46
avg EPA−NAQI gap
59.4% NAQI Good→EPA Worse
Salem
Tamil Nadu
+45
avg EPA−NAQI gap
53.6% NAQI Good→EPA Worse
Kollam
Kerala
+44
avg EPA−NAQI gap
59.6% NAQI Good→EPA Worse
Perundurai
Tamil Nadu
+44
avg EPA−NAQI gap
43.9% NAQI Good→EPA Worse
Bilaspur
Chhattisgarh
+43
avg EPA−NAQI gap
45.2% NAQI Good→EPA Worse
Cleanest 5 — lowest annual PM2.5
- 1. Tirunelveli18.2 µg/m³
- 2. Madikeri24.7 µg/m³
- 3. Thanjavur24.9 µg/m³
- 4. Aizawl25.5 µg/m³
- 5. Shillong26.1 µg/m³
WHO annual guideline: 5 µg/m³.
Worst 5 — highest annual PM2.5
- 1. Delhi169.6 µg/m³
- 2. Ghaziabad136.2 µg/m³
- 3. Noida123.8 µg/m³
- 4. Patna119.0 µg/m³
- 5. Faridabad117.7 µg/m³
34× over WHO annual guideline.
India is far from WHO compliance at almost every monitored city. Only 0.0% of monitored cities keep at least half their days within the WHO 24-hour 15 µg/m³ guideline; just 0.0% meet the annual mean of 5 µg/m³. Cleanest in the record: Tirunelveli (18.2 µg/m³ annual). Dirtiest: Delhi (169.6 µg/m³).
India NAQI
- Good ≤ 50
- Satisfactory 51–100
- Moderate 101–200
- Poor 201–300
- Very Poor 301–400
- Severe 401+
US EPA AQI
- Good ≤ 50
- Moderate 51–100
- USG 101–150
- Unhealthy 151–200
- Very Unhealthy 201–300
- Hazardous 301+
WHO 2021 PM2.5
- Annual mean: 5 µg/m³ (AQG)
- 24-hour mean: 15 µg/m³ (AQG)
- Interim Target 4: 10 µg/m³ annual
- Interim Target 3: 15 µg/m³ annual
- Interim Target 2: 25 µg/m³ annual
- Interim Target 1: 35 µg/m³ annual
Methodology and provenance
All numbers derive from CPCB station-level daily readings (2016–2024) for 213 cities. PM2.5 is estimated by inverse-mapping the daily NAQI value through the CPCB PM2.5 sub-index breakpoint table — reliable when PM2.5 is the dominant pollutant, which holds on the vast majority of polluted Indian station-days. EPA AQI is then forward-mapped from estimated PM2.5 using the 2024 US EPA breakpoint table. WHO compliance compares estimated PM2.5 directly against the 2021 guideline values (annual 5 µg/m³, 24-hour 15 µg/m³). Numbers refresh on each scheduled CPCB pipeline run.
The takeaway
Two numbers carry the story. Nationwide, 98.3% of monitored city-days exceed the WHO 24-hour PM2.5 guideline. And 56.2% of NAQI's "clean" days look unhealthy under EPA. Pick a city to see how the divergence plays out on its own record.
Related analytics tools
All 213 monitored Indian cities
- AgartalaTripura
- AgraUttar Pradesh
- AhmedabadGujarat
- AhmednagarMaharashtra
- AizawlMizoram
- AjmerRajasthan
- AkolaMaharashtra
- AlwarRajasthan
- AmarāvatiAndhra Pradesh
- AmbalaHaryana
- AmravatiMaharashtra
- AmritsarPunjab
- AnantapurAndhra Pradesh
- AngulOdisha
- ArariaBihar
- AriyalurTamil Nadu
- ArrahBihar
- AsansolWest Bengal
- AurangabadMaharashtra
- BāgalkotKarnataka
- BāghpatUttar Pradesh
- BalasoreOdisha
- BangaloreKarnataka
- BareillyUttar Pradesh
- BaripādaOdisha
- BathindaPunjab
- BegusaraiBihar
- BelgaumKarnataka
- BettiahBihar
- BhagalpurBihar
- BharatpurRajasthan
- BhilaiChhattisgarh
- BhilwaraRajasthan
- BhiwandiMaharashtra
- BhiwāniHaryana
- BhopalMadhya Pradesh
- BhubaneswarOdisha
- BidarKarnataka
- Bihar SharifBihar
- BikanerRajasthan
- BilaspurChhattisgarh
- BulandshahrUttar Pradesh
- BūndiRajasthan
- BuxarBihar
- ChandigarhChandigarh UT
- ChandrapurMaharashtra
- ChapraBihar
- Charkhi DādriHaryana
- ChennaiTamil Nadu
- ChittoorAndhra Pradesh
- CoimbatoreTamil Nadu
- CuddaloreTamil Nadu
- CuttackOdisha
- DamohMadhya Pradesh
- DarbhangaBihar
- DavanagereKarnataka
- DehradunUttarakhand
- DelhiDelhi
- DewāsMadhya Pradesh
- DhanbadJharkhand
- DhuleMaharashtra
- DindigulTamil Nadu
- DūngarpurRajasthan
- DurgapurWest Bengal
- FaridabadHaryana
- FatehābādHaryana
- FirozabadUttar Pradesh
- GadagKarnataka
- GangtokSikkim
- GayaBihar
- GhaziabadUttar Pradesh
- GorakhpurUttar Pradesh
- GummidipoondiTamil Nadu
- GuwahatiAssam
- GwaliorMadhya Pradesh
- HajipurBihar
- HaldiaWest Bengal
- HanumāngarhRajasthan
- HapurUttar Pradesh
- HassanKarnataka
- HāveriKarnataka
- HisarHaryana
- HosurTamil Nadu
- HowrahWest Bengal
- Hubli-DharwadKarnataka
- HyderabadTelangana
- ImphalManipur
- IndoreMadhya Pradesh
- JabalpurMadhya Pradesh
- JaipurRajasthan
- JaisalmerRajasthan
- JalandharPunjab
- JalgaonMaharashtra
- JālnaMaharashtra
- JhansiUttar Pradesh
- JīndHaryana
- JodhpurRajasthan
- KadapaAndhra Pradesh
- KaithalHaryana
- KalaburagiKarnataka
- KalyānMaharashtra
- KanchipuramTamil Nadu
- KannurKerala
- KanpurUttar Pradesh
- KarnalHaryana
- KarurTamil Nadu
- KārwārKarnataka
- KāshīpurUttarakhand
- KatiharBihar
- KatniMadhya Pradesh
- KhannaPunjab
- KishanganjBihar
- KochiKerala
- KolārKarnataka
- KolhapurMaharashtra
- KolkataWest Bengal
- KollamKerala
- KoppalKarnataka
- KorbaChhattisgarh
- KotaRajasthan
- KozhikodeKerala
- LaturMaharashtra
- LucknowUttar Pradesh
- LudhianaPunjab
- MadikeriKarnataka
- MaduraiTamil Nadu
- MahādMaharashtra
- MaiharMadhya Pradesh
- MalegaonMaharashtra
- MangaloreKarnataka
- MeerutUttar Pradesh
- Mira-BhayandarMaharashtra
- MoradabadUttar Pradesh
- MotihariBihar
- MumbaiMaharashtra
- MungerBihar
- MuzaffarnagarUttar Pradesh
- MuzaffarpurBihar
- MysuruKarnataka
- NagapattinamTamil Nadu
- NagpurMaharashtra
- NalbāriAssam
- NandedMaharashtra
- NārnaulHaryana
- NashikMaharashtra
- Navi MumbaiMaharashtra
- NayāgarhOdisha
- NoidaUttar Pradesh
- OotyTamil Nadu
- PāliRajasthan
- PalwalHaryana
- PanchkulaHaryana
- PanipatHaryana
- ParbhaniMaharashtra
- PatialaPunjab
- PatnaBihar
- PerunduraiTamil Nadu
- Pimpri-ChinchwadMaharashtra
- PithampurMadhya Pradesh
- PratapgarhUttar Pradesh
- PrayagrajUttar Pradesh
- PuducherryPuducherry
- PuneMaharashtra
- PurniaBihar
- RāichūrKarnataka
- RaipurChhattisgarh
- RajgirBihar
- RājsamandRajasthan
- RamanathapuramTamil Nadu
- RanipetTamil Nadu
- RatlamMadhya Pradesh
- RishīkeshUttarakhand
- RohtakHaryana
- RourkelaOdisha
- SagarMadhya Pradesh
- SaharsaBihar
- SalemTamil Nadu
- SamastipurBihar
- SangliMaharashtra
- SasaramBihar
- SatnaMadhya Pradesh
- Sawāi MādhopurRajasthan
- ShillongMeghalaya
- ShivamoggaKarnataka
- SikarRajasthan
- SilcharAssam
- SiliguriWest Bengal
- SirohiRajasthan
- SirsaHaryana
- SiwanBihar
- SolapurMaharashtra
- SonipatHaryana
- SuratGujarat
- TālcherOdisha
- ThaneMaharashtra
- ThanjavurTamil Nadu
- ThiruvananthapuramKerala
- ThrissurKerala
- TiruchirappalliTamil Nadu
- TirumalaAndhra Pradesh
- TirunelveliTamil Nadu
- TirupatiAndhra Pradesh
- TonkRajasthan
- TumkurKarnataka
- UdaipurRajasthan
- UjjainMadhya Pradesh
- UlhasnagarMaharashtra
- VaranasiUttar Pradesh
- VelloreTamil Nadu
- VijayawadaAndhra Pradesh
- VirudhunagarTamil Nadu
- VisakhapatnamAndhra Pradesh
- VrindāvanUttar Pradesh