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
0
Moderate
27
Unhealthy for Sensitive Groups
11
Unhealthy
27
Very Unhealthy
3
Hazardous
0

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

  • Pasir GudangJohor · 16 Oct, 05:00 MYT227Official API 202Very Unhealthy
  • LarkinJohor · 16 Oct, 05:00 MYT210Official API 192Very Unhealthy
  • NilaiNegeri Sembilan · 16 Oct, 05:00 MYT204Official API 189Very Unhealthy
  • JOHAN SETIASelangor · 16 Oct, 05:00 MYT194Official API 183Unhealthy
  • KlangSelangor · 16 Oct, 05:00 MYT192Official API 181Unhealthy
  • SerembanNegeri Sembilan · 16 Oct, 05:00 MYT190Official API 180Unhealthy
  • Bandaraya MelakaMelaka · 16 Oct, 05:00 MYT188Official API 178Unhealthy
  • Bukit RambaiMelaka · 16 Oct, 05:00 MYT186Official API 177Unhealthy
  • Seri ManjungPerak · 16 Oct, 05:00 MYT182Official API 174Unhealthy
  • PengerangJohor · 16 Oct, 05:00 MYT182Official API 174Unhealthy
  • PutrajayaWP Putrajaya · 16 Oct, 05:00 MYT181Official API 173Unhealthy
  • Batu PahatJohor · 16 Oct, 05:00 MYT181Official API 173Unhealthy
  • Batu MudaWP Kuala Lumpur · 16 Oct, 05:00 MYT177Official API 170Unhealthy
  • BantingSelangor · 16 Oct, 05:00 MYT177Official API 170Unhealthy
  • Port DicksonNegeri Sembilan · 16 Oct, 05:00 MYT177Official API 170Unhealthy
  • KluangJohor · 16 Oct, 05:00 MYT177Official API 170Unhealthy
  • Shah AlamSelangor · 16 Oct, 05:00 MYT175Official API 169Unhealthy
  • Alor GajahMelaka · 16 Oct, 05:00 MYT175Official API 169Unhealthy
  • Petaling JayaSelangor · 16 Oct, 05:00 MYT174Official API 168Unhealthy
  • CherasWP Kuala Lumpur · 16 Oct, 05:00 MYT173Official API 167Unhealthy
  • TangkakJohor · 16 Oct, 05:00 MYT171Official API 166Unhealthy
  • Tanjung MalimPerak · 16 Oct, 05:00 MYT169Official API 164Unhealthy
  • Kota TinggiJohor · 16 Oct, 05:00 MYT166Official API 162Unhealthy
  • SegamatJohor · 16 Oct, 05:00 MYT162Official API 159Unhealthy
  • TemerlohPahang · 16 Oct, 05:00 MYT159Official API 157Unhealthy
  • Pegoh IpohPerak · 16 Oct, 05:00 MYT158Official API 156Unhealthy
  • Kuala SelangorSelangor · 16 Oct, 05:00 MYT156Official API 155Unhealthy
  • Tasek IpohPerak · 16 Oct, 05:00 MYT155Official API 154Unhealthy
  • RompinPahang · 16 Oct, 05:00 MYT155Official API 154Unhealthy
  • TawauSabah · 16 Oct, 05:00 MYT152Official API 152Unhealthy
  • JerantutPahang · 16 Oct, 05:00 MYT148Official API 141Unhealthy for Sensitive Groups
  • SandakanSabah · 16 Oct, 05:00 MYT143Official API 123Unhealthy for Sensitive Groups
  • TaipingPerak · 16 Oct, 05:00 MYT139Official API 104Unhealthy for Sensitive Groups
  • Indera Mahkota KuantanPahang · 16 Oct, 05:00 MYT130Official API 96Unhealthy for Sensitive Groups
  • Balok Baru KuantanPahang · 16 Oct, 05:00 MYT128Official API 95Unhealthy for Sensitive Groups
  • KemamanTerengganu · 16 Oct, 05:00 MYT122Official API 92Unhealthy for Sensitive Groups
  • BesutTerengganu · 16 Oct, 05:00 MYT113Official API 87Unhealthy for Sensitive Groups
  • PakaTerengganu · 16 Oct, 05:00 MYT107Official API 84Unhealthy for Sensitive Groups
  • SamalajuSarawak · 16 Oct, 05:00 MYT105Official API 83Unhealthy for Sensitive Groups
  • Tanah MerahKelantan · 16 Oct, 05:00 MYT103Official API 82Unhealthy for Sensitive Groups
  • MiriSarawak · 16 Oct, 05:00 MYT103Official API 82Unhealthy for Sensitive Groups
  • MindenPulau Pinang · 16 Oct, 05:00 MYT99Official API 80Moderate
  • Kota BharuKelantan · 16 Oct, 05:00 MYT99Official API 80Moderate
  • ILP MiriSarawak · 16 Oct, 05:00 MYT97Official API 79Moderate
  • Seberang JayaPulau Pinang · 16 Oct, 05:00 MYT96Official API 78Moderate
  • Seberang PeraiPulau Pinang · 16 Oct, 05:00 MYT96Official API 78Moderate
  • Kuala TerengganuTerengganu · 16 Oct, 05:00 MYT96Official API 78Moderate
  • BintuluSarawak · 16 Oct, 05:00 MYT96Official API 78Moderate
  • SamarahanSarawak · 16 Oct, 05:00 MYT93Official API 76Moderate
  • KuchingSarawak · 16 Oct, 05:00 MYT93Official API 76Moderate
  • Sungai PetaniKedah · 16 Oct, 05:00 MYT91Official API 75Moderate
  • LabuanWP Labuan · 16 Oct, 05:00 MYT88Official API 73Moderate
  • Politeknik Kota KinabaluSabah · 16 Oct, 05:00 MYT88Official API 73Moderate
  • Alor SetarKedah · 16 Oct, 05:00 MYT87Official API 72Moderate
  • Kulim Hi-TechKedah · 16 Oct, 05:00 MYT86Official API 71Moderate
  • IPD SerianSarawak · 16 Oct, 05:00 MYT84Official API 70Moderate
  • KeningauSabah · 16 Oct, 05:00 MYT81Official API 68Moderate
  • Sri AmanSarawak · 16 Oct, 05:00 MYT81Official API 68Moderate
  • KimanisSabah · 16 Oct, 05:00 MYT78Official API 66Moderate
  • KapitSarawak · 16 Oct, 05:00 MYT78Official API 66Moderate
  • LangkawiKedah · 16 Oct, 05:00 MYT75Official API 64Moderate
  • MukahSarawak · 16 Oct, 05:00 MYT75Official API 64Moderate
  • Kota KinabaluSabah · 16 Oct, 05:00 MYT74Official API 63Moderate
  • LimbangSarawak · 16 Oct, 05:00 MYT71Official API 61Moderate
  • KangarPerlis · 16 Oct, 05:00 MYT70Official API 60Moderate
  • SibuSarawak · 16 Oct, 05:00 MYT68Official API 59Moderate
  • Balik PulauPulau Pinang · 16 Oct, 05:00 MYT62Official API 55Moderate
  • SarikeiSarawak · 16 Oct, 05:00 MYT62Official API 55Moderate

Official DOE API overview

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

68 of 68 DOE stations are reporting as of 05:00 MYT, 16 Oct 2026. The highest Air Pollutant Index in Malaysia is 202 (Very Unhealthy) at Pasir Gudang, Johor. 0 stations read good, 35 moderate and 33 unhealthy or worse.

68 daripada 68 stesen JAS melaporkan bacaan setakat 05:00 MYT, 16 Oct 2026. Bacaan IPU tertinggi di Malaysia ialah 202 (Sangat Tidak Sihat) di Pasir Gudang, Johor. 0 stesen baik, 35 sederhana dan 33 tidak sihat atau lebih teruk.

Stations reporting
68of 68
GoodBaik
0
ModerateSederhana
35
UnhealthyTidak Sihat
32
Very UnhealthySangat Tidak Sihat
1
HazardousBerbahaya
0

Latest observation 05:00 MYT, 16 Oct 2026. Source: Department of Environment Malaysia.

Highest official API readings

Bacaan IPU tertinggi sekarang

  1. Pasir Gudang air qualityJohor202Very Unhealthy
  2. Larkin air qualityJohor192Unhealthy
  3. Nilai air qualityNegeri Sembilan189Unhealthy
  4. Johan Setia air qualitySelangor183Unhealthy
  5. Klang air qualitySelangor181Unhealthy

Avoid outdoor activity. Keep windows closed and use an air purifier if you have one. Schools in affected areas may close on the Ministry of Education's instruction.

Elakkan aktiviti luar. Tutup tingkap dan gunakan penapis udara jika ada. Sekolah di kawasan terjejas mungkin ditutup atas arahan Kementerian Pendidikan.

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

173
Air qualityUnhealthy
GoodHazardous

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

Cheras station · 5.0 kmReading time unavailable

Official DOE API: 167

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.