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
25
Moderate
35
Unhealthy for Sensitive Groups
6
Unhealthy
0
Very Unhealthy
0
Hazardous
0

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

  • Pasir GudangJohor · 09 Nov, 00:00 MYT136Official API 99Unhealthy for Sensitive Groups
  • KlangSelangor · 09 Nov, 00:00 MYT130Official API 96Unhealthy for Sensitive Groups
  • Seberang PeraiPulau Pinang · 09 Nov, 00:00 MYT109Official API 85Unhealthy for Sensitive Groups
  • Petaling JayaSelangor · 09 Nov, 00:00 MYT105Official API 83Unhealthy for Sensitive Groups
  • JOHAN SETIASelangor · 09 Nov, 00:00 MYT103Official API 82Unhealthy for Sensitive Groups
  • NilaiNegeri Sembilan · 09 Nov, 00:00 MYT101Official API 81Unhealthy for Sensitive Groups
  • Sungai PetaniKedah · 09 Nov, 00:00 MYT91Official API 75Moderate
  • Tasek IpohPerak · 09 Nov, 00:00 MYT90Official API 74Moderate
  • Batu MudaWP Kuala Lumpur · 09 Nov, 00:00 MYT90Official API 74Moderate
  • LarkinJohor · 09 Nov, 00:00 MYT87Official API 72Moderate
  • Shah AlamSelangor · 09 Nov, 00:00 MYT86Official API 71Moderate
  • Seri ManjungPerak · 09 Nov, 00:00 MYT83Official API 69Moderate
  • CherasWP Kuala Lumpur · 09 Nov, 00:00 MYT80Official API 67Moderate
  • Port DicksonNegeri Sembilan · 09 Nov, 00:00 MYT78Official API 66Moderate
  • BantingSelangor · 09 Nov, 00:00 MYT75Official API 64Moderate
  • PutrajayaWP Putrajaya · 09 Nov, 00:00 MYT74Official API 63Moderate
  • Alor GajahMelaka · 09 Nov, 00:00 MYT72Official API 62Moderate
  • Seberang JayaPulau Pinang · 09 Nov, 00:00 MYT70Official API 60Moderate
  • MindenPulau Pinang · 09 Nov, 00:00 MYT70Official API 60Moderate
  • Pegoh IpohPerak · 09 Nov, 00:00 MYT68Official API 59Moderate
  • Tanjung MalimPerak · 09 Nov, 00:00 MYT68Official API 59Moderate
  • KluangJohor · 09 Nov, 00:00 MYT68Official API 59Moderate
  • Balok Baru KuantanPahang · 09 Nov, 00:00 MYT62Official API 55Moderate
  • SamalajuSarawak · 09 Nov, 00:00 MYT62Official API 55Moderate
  • TangkakJohor · 09 Nov, 00:00 MYT62Official API 55Moderate
  • Bukit RambaiMelaka · 09 Nov, 00:00 MYT61Official API 54Moderate
  • LabuanWP Labuan · 09 Nov, 00:00 MYT61Official API 54Moderate
  • TawauSabah · 09 Nov, 00:00 MYT59Official API 53Moderate
  • SarikeiSarawak · 09 Nov, 00:00 MYT59Official API 53Moderate
  • SamarahanSarawak · 09 Nov, 00:00 MYT58Official API 52Moderate
  • Politeknik Kota KinabaluSabah · 09 Nov, 00:00 MYT58Official API 52Moderate
  • SegamatJohor · 09 Nov, 00:00 MYT57Official API 51Moderate
  • BintuluSarawak · 09 Nov, 00:00 MYT57Official API 51Moderate
  • KuchingSarawak · 09 Nov, 00:00 MYT57Official API 51Moderate
  • Kulim Hi-TechKedah · 09 Nov, 00:00 MYT55Official API 48Moderate
  • Sri AmanSarawak · 09 Nov, 00:00 MYT54Official API 45Moderate
  • Kuala SelangorSelangor · 09 Nov, 00:00 MYT53Official API 42Moderate
  • TemerlohPahang · 09 Nov, 00:00 MYT53Official API 42Moderate
  • Bandaraya MelakaMelaka · 09 Nov, 00:00 MYT52Official API 41Moderate
  • MiriSarawak · 09 Nov, 00:00 MYT52Official API 40Moderate
  • IPD SerianSarawak · 09 Nov, 00:00 MYT51Official API 39Moderate
  • Alor SetarKedah · 09 Nov, 00:00 MYT48Official API 36Good
  • SerembanNegeri Sembilan · 09 Nov, 00:00 MYT48Official API 36Good
  • Tanah MerahKelantan · 09 Nov, 00:00 MYT45Official API 34Good
  • KangarPerlis · 09 Nov, 00:00 MYT44Official API 33Good
  • Batu PahatJohor · 09 Nov, 00:00 MYT42Official API 32Good
  • Kuala TerengganuTerengganu · 09 Nov, 00:00 MYT42Official API 32Good
  • SandakanSabah · 09 Nov, 00:00 MYT42Official API 32Good
  • KeningauSabah · 09 Nov, 00:00 MYT41Official API 31Good
  • KapitSarawak · 09 Nov, 00:00 MYT41Official API 31Good
  • Kota BharuKelantan · 09 Nov, 00:00 MYT40Official API 30Good
  • SibuSarawak · 09 Nov, 00:00 MYT40Official API 30Good
  • TaipingPerak · 09 Nov, 00:00 MYT38Official API 29Good
  • PengerangJohor · 09 Nov, 00:00 MYT37Official API 28Good
  • Kota TinggiJohor · 09 Nov, 00:00 MYT37Official API 28Good
  • Indera Mahkota KuantanPahang · 09 Nov, 00:00 MYT33Official API 25Good
  • KemamanTerengganu · 09 Nov, 00:00 MYT33Official API 25Good
  • LangkawiKedah · 09 Nov, 00:00 MYT32Official API 24Good
  • Balik PulauPulau Pinang · 09 Nov, 00:00 MYT32Official API 24Good
  • ILP MiriSarawak · 09 Nov, 00:00 MYT32Official API 24Good
  • Kota KinabaluSabah · 09 Nov, 00:00 MYT31Official API 23Good
  • RompinPahang · 09 Nov, 00:00 MYT28Official API 21Good
  • KimanisSabah · 09 Nov, 00:00 MYT24Official API 18Good
  • PakaTerengganu · 09 Nov, 00:00 MYT22Official API 17Good
  • LimbangSarawak · 09 Nov, 00:00 MYT22Official API 17Good
  • JerantutPahang · 09 Nov, 00:00 MYT21Official API 16Good
  • BesutTerengganu · 09 Nov, 00:00 MYT—Official API 14Unavailable
  • MukahSarawak · 09 Nov, 00:00 MYT—Official API 16Unavailable

Official DOE API overview

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

68 of 68 DOE stations are reporting as of 00:00 MYT, 9 Nov 2026. The highest Air Pollutant Index in Malaysia is 99 (Moderate) at Pasir Gudang, Johor. 34 stations read good, 34 moderate and 0 unhealthy or worse.

68 daripada 68 stesen JAS melaporkan bacaan setakat 00:00 MYT, 9 Nov 2026. Bacaan IPU tertinggi di Malaysia ialah 99 (Sederhana) di Pasir Gudang, Johor. 34 stesen baik, 34 sederhana dan 0 tidak sihat atau lebih teruk.

Stations reporting
68of 68
GoodBaik
34
ModerateSederhana
34
UnhealthyTidak Sihat
0
Very UnhealthySangat Tidak Sihat
0
HazardousBerbahaya
0

Latest observation 00:00 MYT, 9 Nov 2026. Source: Department of Environment Malaysia.

Highest official API readings

Bacaan IPU tertinggi sekarang

  1. Pasir Gudang air qualityJohor99Moderate
  2. Klang air qualitySelangor96Moderate
  3. Seberang Perai air qualityPulau Pinang85Moderate
  4. Petaling Jaya air qualitySelangor83Moderate
  5. Johan Setia air qualitySelangor82Moderate

Air quality is acceptable. People with asthma, heart or lung conditions should reduce prolonged or heavy outdoor exertion.

Kualiti udara sederhana. Pesakit asma, jantung atau paru-paru dinasihatkan mengurangkan aktiviti berat di luar bangunan.

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

80
Air qualityModerate
GoodHazardous

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

Cheras station · 5.0 kmReading time unavailable

Official DOE API: 67

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.