14 – 20 Oct 2026 · Malaysia

Selangor weekly air quality

US AQI · PM2.5 · 24-hour source averages

165.8Weekly mean AQI · Unhealthy

Official DOE API mean: 157.2. Calculated separately from reported official observations.

Each DOE observation identified as PM2.5 is converted using the published API formula and US AQI breakpoints. This is not an official all-pollutant AQI or NowCast. Calculation details

1008 eligible observations · 0 excluded.

+24.7 AQI compared with the previous week’s eligible mean of 141.1.

Peak AQI: 216 at Klang · 15 Oct 2026, 17:00 (UTC+8).

Daily US AQI (PM2.5)

Low 88High 216AQI
0112.5225
14 Oct20 Oct
20 OctDaily mean · Peak 181162.4Avg AQI

Based on 144 hourly readings.

Daily and hourly means use eligible observations across the selected locations. Each observation uses a 24-hour PM2.5 average.

Export AQI CSV

Means and peaks use only converted observations. Missing days remain gaps.

DayMean AQIPeak AQIEligible / excluded
2026-10-14163.6Unhealthy204144 / 0
2026-10-15187.6Unhealthy216144 / 0
2026-10-16175.1Unhealthy200144 / 0
2026-10-17164.6Unhealthy185144 / 0
2026-10-18152.8Unhealthy179144 / 0
2026-10-19154.3Unhealthy182144 / 0
2026-10-20162.4Unhealthy181144 / 0

Hourly means (UTC+8)

Day01234567891011121314151617181920212223
2026-10-14148.8149.8151.3152.3154.2155.5156.3157.7158.5160161.7162.3163163.3164.2165.8167169.5170.7173175.8179.8182.3184.5
2026-10-15186.8188.7189188.8188.5188.5188.7188.3187.8187.2187.2187187.7189.2189.2188.7189189.7189.8189.2187.3184.5181.7179.5
2026-10-16177.8177177.5177.5177.7178178.2178.8178.7179.8180180.5180.5179.7178.5177.2175.7173170167.5165.8165.2164162.8
2026-10-17161.3160.7160.2159.8160.5161.3162162.5163.3163.8164.7164.3164165.5166.3167.3168.3169169.3169.2167.8167166.3165.7
2026-10-18165.5164.8163.7162160.5159157.5155.8154.7153152150.3149.8148.8147.5146.2145.7145145.7146.2147147.7148.7149.3
2026-10-19150.2151.3152.3154154.5155.5155.7154.7154.5154.7155154.8155154.7155.2154.7154.3155154.5154.5154.2154.5154.2154.5
2026-10-20155155.8155.8156.7157.5159160.7162.7163.8165.8166.8166.5166166.2166165.7165.5164.5164.2163.5163.2162.8162.3161.2

Observation categories

Good: 0

Moderate: 13

Unhealthy for Sensitive Groups: 120

Unhealthy: 828

Very Unhealthy: 47

Hazardous: 0

US AQI scale
AQICategory
0–50Good
51–100Moderate
101–150Unhealthy for Sensitive Groups
151–200Unhealthy
201–300Very Unhealthy
301+Hazardous

Stations by US AQI

Sorted by eligible mean AQI. Counts show the available coverage.

LocationMean AQIPeak AQIOfficial DOE API meanEligible / excluded
JOHAN SETIA183.6Unhealthy210174.7168 / 0
Klang177.8Unhealthy216170.4168 / 0
Shah Alam170.8Unhealthy194165.6168 / 0
Petaling Jaya168Unhealthy182162.8168 / 0
Banting163.6Unhealthy182160.2168 / 0
Kuala Selangor130.8Unhealthy for Sensitive Groups165109.3168 / 0
View the official DOE API report

Selangor air quality.
Weekly state review.

7 days · 6 monitoring stations

Laporan mingguan Indeks Pencemaran Udara (IPU) bagi negeri Selangor

Across Selangor, air quality for the week of 14 – 20 Oct 2026 averaged an Air Pollutant Index (API) of 157.2 (Unhealthy).

State weekly average

157.2API

Unhealthy · Tidak Sihat

Daily averages146.5 – 177.2 APIWed → Tue
Explore the week
State's peak reading
195KlangPeak reading across state
Cleanest area in state
109.3Kuala SelangorLowest weekly average
Good to Moderate air
11%of all readings1,008 readings
National standing
#11of 16 states/territoriesNational avg: 108.7 API

Monitoring stations in Selangor

Kedudukan stesen pemantauan di seluruh negeri mengikut purata mingguan

Scale 0 – 200
  1. Selangor
    73Unhealthy161
  2. Selangor
    99Unhealthy174
  3. Shah Alam165.6avg
    Selangor
    152Unhealthy183
  4. Klang170.4avg
    Selangor
    152Unhealthy195
  5. Banting160.2avg
    Selangor
    138Unhealthy174
  6. JOHAN SETIA174.7avg
    Selangor
    159Unhealthy192

The week, hour by hour

Purata negeri bagi setiap jam sepanjang tujuh hari

Read each row from midnight to 11pm, in Malaysia Time. Hourly state averages show when air quality shifted during each day of the week.

WedWed 00:00 MYT — API 136.7Wed 01:00 MYT — API 138.5Wed 02:00 MYT — API 140.3Wed 03:00 MYT — API 142.8Wed 04:00 MYT — API 145.8Wed 05:00 MYT — API 148.7Wed 06:00 MYT — API 149.3Wed 07:00 MYT — API 150.2Wed 08:00 MYT — API 150.7Wed 09:00 MYT — API 151.7Wed 10:00 MYT — API 152.7Wed 11:00 MYT — API 153.2Wed 12:00 MYT — API 153.5Wed 13:00 MYT — API 153.7Wed 14:00 MYT — API 154.5Wed 15:00 MYT — API 155.5Wed 16:00 MYT — API 156.3Wed 17:00 MYT — API 157.8Wed 18:00 MYT — API 158.8Wed 19:00 MYT — API 160.7Wed 20:00 MYT — API 165.3Wed 21:00 MYT — API 172.2Wed 22:00 MYT — API 173.8Wed 23:00 MYT — API 175.7ThuThu 00:00 MYT — API 177Thu 01:00 MYT — API 178.2Thu 02:00 MYT — API 178.3Thu 03:00 MYT — API 178.2Thu 04:00 MYT — API 178Thu 05:00 MYT — API 177.8Thu 06:00 MYT — API 177.8Thu 07:00 MYT — API 177.7Thu 08:00 MYT — API 177.3Thu 09:00 MYT — API 176.8Thu 10:00 MYT — API 176.8Thu 11:00 MYT — API 176.8Thu 12:00 MYT — API 177.3Thu 13:00 MYT — API 178.2Thu 14:00 MYT — API 178.2Thu 15:00 MYT — API 177.8Thu 16:00 MYT — API 178.2Thu 17:00 MYT — API 178.5Thu 18:00 MYT — API 178.5Thu 19:00 MYT — API 178.2Thu 20:00 MYT — API 177Thu 21:00 MYT — API 175.2Thu 22:00 MYT — API 173.3Thu 23:00 MYT — API 172.2FriFri 00:00 MYT — API 170.8Fri 01:00 MYT — API 170.3Fri 02:00 MYT — API 170.5Fri 03:00 MYT — API 170.5Fri 04:00 MYT — API 170.7Fri 05:00 MYT — API 171Fri 06:00 MYT — API 171.2Fri 07:00 MYT — API 171.5Fri 08:00 MYT — API 171.5Fri 09:00 MYT — API 172.3Fri 10:00 MYT — API 172.5Fri 11:00 MYT — API 173Fri 12:00 MYT — API 172.8Fri 13:00 MYT — API 172.2Fri 14:00 MYT — API 171.3Fri 15:00 MYT — API 170.3Fri 16:00 MYT — API 169.2Fri 17:00 MYT — API 166Fri 18:00 MYT — API 162.5Fri 19:00 MYT — API 157.7Fri 20:00 MYT — API 155.2Fri 21:00 MYT — API 154.8Fri 22:00 MYT — API 154.3Fri 23:00 MYT — API 153.7SatSat 00:00 MYT — API 152.3Sat 01:00 MYT — API 150.5Sat 02:00 MYT — API 150.3Sat 03:00 MYT — API 151Sat 04:00 MYT — API 152.2Sat 05:00 MYT — API 152.7Sat 06:00 MYT — API 153Sat 07:00 MYT — API 153.5Sat 08:00 MYT — API 154Sat 09:00 MYT — API 154.2Sat 10:00 MYT — API 154.5Sat 11:00 MYT — API 154.3Sat 12:00 MYT — API 154.2Sat 13:00 MYT — API 155Sat 14:00 MYT — API 155.5Sat 15:00 MYT — API 156.2Sat 16:00 MYT — API 158Sat 17:00 MYT — API 158.8Sat 18:00 MYT — API 159Sat 19:00 MYT — API 158.3Sat 20:00 MYT — API 156.7Sat 21:00 MYT — API 156Sat 22:00 MYT — API 155.7Sat 23:00 MYT — API 155.3SunSun 00:00 MYT — API 155.2Sun 01:00 MYT — API 154.5Sun 02:00 MYT — API 153.7Sun 03:00 MYT — API 152.7Sun 04:00 MYT — API 151.5Sun 05:00 MYT — API 150.5Sun 06:00 MYT — API 149.5Sun 07:00 MYT — API 148.5Sun 08:00 MYT — API 147.5Sun 09:00 MYT — API 146.7Sun 10:00 MYT — API 146Sun 11:00 MYT — API 145Sun 12:00 MYT — API 144.5Sun 13:00 MYT — API 144Sun 14:00 MYT — API 143.2Sun 15:00 MYT — API 142.2Sun 16:00 MYT — API 141.8Sun 17:00 MYT — API 141.3Sun 18:00 MYT — API 141.8Sun 19:00 MYT — API 142.2Sun 20:00 MYT — API 142.8Sun 21:00 MYT — API 143.3Sun 22:00 MYT — API 144Sun 23:00 MYT — API 144.5MonMon 00:00 MYT — API 145Mon 01:00 MYT — API 145.8Mon 02:00 MYT — API 146.5Mon 03:00 MYT — API 147.7Mon 04:00 MYT — API 148Mon 05:00 MYT — API 148.7Mon 06:00 MYT — API 148.7Mon 07:00 MYT — API 148Mon 08:00 MYT — API 147.8Mon 09:00 MYT — API 147.8Mon 10:00 MYT — API 148Mon 11:00 MYT — API 147.8Mon 12:00 MYT — API 148Mon 13:00 MYT — API 147.7Mon 14:00 MYT — API 147.8Mon 15:00 MYT — API 147.5Mon 16:00 MYT — API 147.2Mon 17:00 MYT — API 147.5Mon 18:00 MYT — API 147.3Mon 19:00 MYT — API 147.2Mon 20:00 MYT — API 147Mon 21:00 MYT — API 147.2Mon 22:00 MYT — API 147Mon 23:00 MYT — API 147.2TueTue 00:00 MYT — API 147.5Tue 01:00 MYT — API 148Tue 02:00 MYT — API 148Tue 03:00 MYT — API 148.5Tue 04:00 MYT — API 149.2Tue 05:00 MYT — API 150.2Tue 06:00 MYT — API 151.3Tue 07:00 MYT — API 152.7Tue 08:00 MYT — API 153.7Tue 09:00 MYT — API 155Tue 10:00 MYT — API 157.3Tue 11:00 MYT — API 157.7Tue 12:00 MYT — API 155.3Tue 13:00 MYT — API 155.5Tue 14:00 MYT — API 155.3Tue 15:00 MYT — API 155.2Tue 16:00 MYT — API 155.2Tue 17:00 MYT — API 154.7Tue 18:00 MYT — API 154.3Tue 19:00 MYT — API 154Tue 20:00 MYT — API 153.7Tue 21:00 MYT — API 153.3Tue 22:00 MYT — API 153Tue 23:00 MYT — API 152.30003060912151821
050100150200APIBrighter cells ran hazier than the rest of this week (136.7 – 178.5 API)

Haziest hour of the week: Thu at 17:00 MYT, averaging API 178.5 nationwide.

View the hourly figures as a table
National average API by hour, Malaysia Time
Day000102030405060708091011121314151617181920212223
Wed136.7138.5140.3142.8145.8148.7149.3150.2150.7151.7152.7153.2153.5153.7154.5155.5156.3157.8158.8160.7165.3172.2173.8175.7
Thu177178.2178.3178.2178177.8177.8177.7177.3176.8176.8176.8177.3178.2178.2177.8178.2178.5178.5178.2177175.2173.3172.2
Fri170.8170.3170.5170.5170.7171171.2171.5171.5172.3172.5173172.8172.2171.3170.3169.2166162.5157.7155.2154.8154.3153.7
Sat152.3150.5150.3151152.2152.7153153.5154154.2154.5154.3154.2155155.5156.2158158.8159158.3156.7156155.7155.3
Sun155.2154.5153.7152.7151.5150.5149.5148.5147.5146.7146145144.5144143.2142.2141.8141.3141.8142.2142.8143.3144144.5
Mon145145.8146.5147.7148148.7148.7148147.8147.8148147.8148147.7147.8147.5147.2147.5147.3147.2147147.2147147.2
Tue147.5148148148.5149.2150.2151.3152.7153.7155157.3157.7155.3155.5155.3155.2155.2154.7154.3154153.7153.3153152.3

How readings split

Pecahan bacaan mengikut kategori IPU

Moderate: 11% (114 readings)Unhealthy: 89% (894 readings)89%Unhealthy
  • GoodBaik0%0
  • ModerateSederhana11%114
  • UnhealthyTidak Sihat89%894
  • Very UnhealthySangat Tidak Sihat0%0
  • HazardousBerbahaya0%0

Based on 1,008 hourly station readings.

Health guidelines

Panduan kesihatan mengikut kategori kualiti udara

Limit prolonged outdoor activity. Children, older adults, pregnant women and people with respiratory or heart conditions should stay indoors where possible. A well-fitted N95 mask helps outdoors.

Hadkan aktiviti luar yang berpanjangan. Kanak-kanak, warga emas, ibu mengandung dan pesakit pernafasan atau jantung dinasihatkan berada di dalam bangunan. Pelitup muka N95 membantu di luar.

Malaysia API scale · Skala IPU Malaysia
APICategoryKategori
0–50GoodBaik
51–100ModerateSederhana
101–200UnhealthyTidak Sihat
201–300Very UnhealthySangat Tidak Sihat
301+HazardousBerbahaya