US AQI (PM2.5) by station

Calculated from DOE’s rounded PM2.5 API using a 24-hour average and US AQI breakpoints. Not an official all-pollutant US AQI or real-time NowCast. Calculation details

Good
1
Moderate
21
Unhealthy for Sensitive Groups
15
Unhealthy
31
Very Unhealthy
0
Hazardous
0

68 of 68 stations have convertible observations. Check each observation’s date.

  • JOHAN SETIASelangor · 30 Sept, 04:00 MYT · Saved reading186Official API 177Unhealthy
  • CherasWP Kuala Lumpur · 30 Sept, 04:00 MYT · Saved reading181Official API 173Unhealthy
  • NilaiNegeri Sembilan · 30 Sept, 04:00 MYT · Saved reading181Official API 173Unhealthy
  • Pasir GudangJohor · 30 Sept, 04:00 MYT · Saved reading177Official API 170Unhealthy
  • Shah AlamSelangor · 30 Sept, 04:00 MYT · Saved reading174Official API 168Unhealthy
  • LarkinJohor · 30 Sept, 04:00 MYT · Saved reading173Official API 167Unhealthy
  • Batu MudaWP Kuala Lumpur · 30 Sept, 04:00 MYT · Saved reading170Official API 165Unhealthy
  • PutrajayaWP Putrajaya · 30 Sept, 04:00 MYT · Saved reading170Official API 165Unhealthy
  • KlangSelangor · 30 Sept, 04:00 MYT · Saved reading170Official API 165Unhealthy
  • SerembanNegeri Sembilan · 30 Sept, 04:00 MYT · Saved reading169Official API 164Unhealthy
  • Bandaraya MelakaMelaka · 30 Sept, 04:00 MYT · Saved reading167Official API 163Unhealthy
  • Balok Baru KuantanPahang · 30 Sept, 04:00 MYT · Saved reading167Official API 163Unhealthy
  • Indera Mahkota KuantanPahang · 30 Sept, 04:00 MYT · Saved reading166Official API 162Unhealthy
  • BantingSelangor · 30 Sept, 04:00 MYT · Saved reading165Official API 161Unhealthy
  • Kota TinggiJohor · 30 Sept, 04:00 MYT · Saved reading165Official API 161Unhealthy
  • Petaling JayaSelangor · 30 Sept, 04:00 MYT · Saved reading163Official API 160Unhealthy
  • Port DicksonNegeri Sembilan · 30 Sept, 04:00 MYT · Saved reading163Official API 160Unhealthy
  • Bukit RambaiMelaka · 30 Sept, 04:00 MYT · Saved reading162Official API 159Unhealthy
  • Seri ManjungPerak · 30 Sept, 04:00 MYT · Saved reading160Official API 158Unhealthy
  • Kuala SelangorSelangor · 30 Sept, 04:00 MYT · Saved reading159Official API 157Unhealthy
  • PengerangJohor · 30 Sept, 04:00 MYT · Saved reading159Official API 157Unhealthy
  • Kuala TerengganuTerengganu · 30 Sept, 04:00 MYT · Saved reading159Official API 157Unhealthy
  • IPD SerianSarawak · 30 Sept, 04:00 MYT · Saved reading158Official API 156Unhealthy
  • Batu PahatJohor · 30 Sept, 04:00 MYT · Saved reading156Official API 155Unhealthy
  • KemamanTerengganu · 30 Sept, 04:00 MYT · Saved reading156Official API 155Unhealthy
  • TangkakJohor · 30 Sept, 04:00 MYT · Saved reading156Official API 155Unhealthy
  • RompinPahang · 30 Sept, 04:00 MYT · Saved reading154Official API 153Unhealthy
  • Alor GajahMelaka · 30 Sept, 04:00 MYT · Saved reading152Official API 152Unhealthy
  • MindenPulau Pinang · 30 Sept, 04:00 MYT · Saved reading151Official API 151Unhealthy
  • SegamatJohor · 30 Sept, 04:00 MYT · Saved reading151Official API 151Unhealthy
  • JerantutPahang · 30 Sept, 04:00 MYT · Saved reading151Official API 151Unhealthy
  • PakaTerengganu · 30 Sept, 04:00 MYT · Saved reading150Official API 148Unhealthy for Sensitive Groups
  • Tanjung MalimPerak · 30 Sept, 04:00 MYT · Saved reading148Official API 141Unhealthy for Sensitive Groups
  • KluangJohor · 30 Sept, 04:00 MYT · Saved reading147Official API 136Unhealthy for Sensitive Groups
  • Balik PulauPulau Pinang · 30 Sept, 04:00 MYT · Saved reading143Official API 123Unhealthy for Sensitive Groups
  • Sungai PetaniKedah · 30 Sept, 04:00 MYT · Saved reading128Official API 95Unhealthy for Sensitive Groups
  • Seberang PeraiPulau Pinang · 30 Sept, 04:00 MYT · Saved reading128Official API 95Unhealthy for Sensitive Groups
  • Seberang JayaPulau Pinang · 30 Sept, 04:00 MYT · Saved reading126Official API 94Unhealthy for Sensitive Groups
  • BesutTerengganu · 30 Sept, 04:00 MYT · Saved reading122Official API 92Unhealthy for Sensitive Groups
  • Kota BharuKelantan · 30 Sept, 04:00 MYT · Saved reading117Official API 89Unhealthy for Sensitive Groups
  • LangkawiKedah · 30 Sept, 04:00 MYT · Saved reading115Official API 88Unhealthy for Sensitive Groups
  • SamarahanSarawak · 30 Sept, 04:00 MYT · Saved reading115Official API 88Unhealthy for Sensitive Groups
  • TemerlohPahang · 30 Sept, 04:00 MYT · Saved reading113Official API 87Unhealthy for Sensitive Groups
  • KuchingSarawak · 30 Sept, 04:00 MYT · Saved reading113Official API 87Unhealthy for Sensitive Groups
  • Kulim Hi-TechKedah · 30 Sept, 04:00 MYT · Saved reading103Official API 82Unhealthy for Sensitive Groups
  • TaipingPerak · 30 Sept, 04:00 MYT · Saved reading101Official API 81Unhealthy for Sensitive Groups
  • Sri AmanSarawak · 30 Sept, 04:00 MYT · Saved reading99Official API 80Moderate
  • Alor SetarKedah · 30 Sept, 04:00 MYT · Saved reading93Official API 76Moderate
  • Pegoh IpohPerak · 30 Sept, 04:00 MYT · Saved reading91Official API 75Moderate
  • TawauSabah · 30 Sept, 04:00 MYT · Saved reading91Official API 75Moderate
  • KangarPerlis · 30 Sept, 04:00 MYT · Saved reading86Official API 71Moderate
  • Tanah MerahKelantan · 30 Sept, 04:00 MYT · Saved reading86Official API 71Moderate
  • Tasek IpohPerak · 30 Sept, 04:00 MYT · Saved reading84Official API 70Moderate
  • BintuluSarawak · 30 Sept, 04:00 MYT · Saved reading80Official API 67Moderate
  • SamalajuSarawak · 30 Sept, 04:00 MYT · Saved reading75Official API 64Moderate
  • SarikeiSarawak · 30 Sept, 04:00 MYT · Saved reading74Official API 63Moderate
  • Politeknik Kota KinabaluSabah · 30 Sept, 04:00 MYT · Saved reading74Official API 63Moderate
  • LabuanWP Labuan · 30 Sept, 04:00 MYT · Saved reading71Official API 61Moderate
  • SibuSarawak · 30 Sept, 04:00 MYT · Saved reading70Official API 60Moderate
  • SandakanSabah · 30 Sept, 04:00 MYT · Saved reading67Official API 58Moderate
  • KeningauSabah · 30 Sept, 04:00 MYT · Saved reading65Official API 57Moderate
  • MukahSarawak · 30 Sept, 04:00 MYT · Saved reading65Official API 57Moderate
  • KimanisSabah · 30 Sept, 04:00 MYT · Saved reading61Official API 54Moderate
  • KapitSarawak · 30 Sept, 04:00 MYT · Saved reading61Official API 54Moderate
  • Kota KinabaluSabah · 30 Sept, 04:00 MYT · Saved reading59Official API 53Moderate
  • MiriSarawak · 30 Sept, 04:00 MYT · Saved reading58Official API 52Moderate
  • LimbangSarawak · 30 Sept, 04:00 MYT · Saved reading52Official API 40Moderate
  • ILP MiriSarawak · 30 Sept, 04:00 MYT · Saved reading40Official API 30Good

Official DOE API overview

Kualiti udara Malaysia hari ini · Indeks Pencemaran Udara (IPU)

68 of 68 DOE stations are reporting as of 04:00 MYT, 30 Sept 2026. The highest Air Pollutant Index in Malaysia is 177 (Unhealthy) at JOHAN SETIA, Selangor. 2 stations read good, 31 moderate and 35 unhealthy or worse.

68 daripada 68 stesen JAS melaporkan bacaan setakat 04:00 MYT, 30 Sept 2026. Bacaan IPU tertinggi di Malaysia ialah 177 (Tidak Sihat) di JOHAN SETIA, Selangor. 2 stesen baik, 31 sederhana dan 35 tidak sihat atau lebih teruk.

Stations reporting
68of 68
GoodBaik
2
ModerateSederhana
31
UnhealthyTidak Sihat
35
Very UnhealthySangat Tidak Sihat
0
HazardousBerbahaya
0

Latest observation 04:00 MYT, 30 Sept 2026. Source: Department of Environment Malaysia.

Highest official API readings

Bacaan IPU tertinggi sekarang

  1. Johan Setia air qualitySelangor177Unhealthy
  2. Cheras air qualityWP Kuala Lumpur173Unhealthy
  3. Nilai air qualityNegeri Sembilan173Unhealthy
  4. Pasir Gudang air qualityJohor170Unhealthy
  5. Shah Alam air qualitySelangor168Unhealthy

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.

US AQI (PM2.5) by city

Values are calculated from DOE’s rounded API and a 24-hour PM2.5 average. Unknown or other dominant pollutants show as unavailable. How the conversion works

Malaysia weekly report · Laporan mingguan Malaysia

Ringkasan mingguan kualiti udara dan statistik jerebu kebangsaan

Looking for weekly trends? Explore Malaysia's 7-day national average API, peak readings, cleanest and most polluted monitoring stations, and major city comparisons.

View Malaysia weekly air quality report →

Understanding the Malaysia API

Memahami Indeks Pencemaran Udara

The Air Pollutant Index (API), or Indeks Pencemaran Udara (IPU) in Bahasa Malaysia, is published by the Department of Environment. It follows Malaysia's own scale, which differs from the US AQI. Compare station readings and their observation times to understand conditions across the country.

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

Malaysia air quality and haze today: Kuala Lumpur air quality and haze

US Air Quality Index (AQI) · PM2.5

181
Air qualityUnhealthy
GoodHazardous

PM2.5 · 24-hour average · How this is calculated

Cheras station · 5.0 kmLast known reading · Reading time unavailable

Official DOE API: 173

DOE Malaysia ↗
About Kuala Lumpur air quality

The main number is PM2.5 US AQI calculated from Malaysia’s official Air Pollutant Index (API). We derive the 24-hour PM2.5 concentration from the rounded API and apply US thresholds. It is not an official all-pollutant AQI or a real-time NowCast.

The source API comes from the nearest DOE monitor within 75 km of the city centre. It is a station reading, not a city average. The app checks for updates every five minutes and shows the age of the observation.

The Petronas Twin Towers artwork is an illustration. The haze effect follows the API reading; it is not a camera view.