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

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

  • IPD SerianSarawak · 28 Sept, 05:00 MYT148Official API 140Unhealthy for Sensitive Groups
  • Pasir GudangJohor · 28 Sept, 05:00 MYT113Official API 87Unhealthy for Sensitive Groups
  • LarkinJohor · 28 Sept, 05:00 MYT99Official API 80Moderate
  • PengerangJohor · 28 Sept, 05:00 MYT99Official API 80Moderate
  • KuchingSarawak · 28 Sept, 05:00 MYT99Official API 80Moderate
  • Kota TinggiJohor · 28 Sept, 05:00 MYT97Official API 79Moderate
  • TawauSabah · 28 Sept, 05:00 MYT96Official API 78Moderate
  • RompinPahang · 28 Sept, 05:00 MYT94Official API 77Moderate
  • NilaiNegeri Sembilan · 28 Sept, 05:00 MYT90Official API 74Moderate
  • Sri AmanSarawak · 28 Sept, 05:00 MYT87Official API 72Moderate
  • SamarahanSarawak · 28 Sept, 05:00 MYT87Official API 72Moderate
  • CherasWP Kuala Lumpur · 28 Sept, 05:00 MYT86Official API 71Moderate
  • Batu PahatJohor · 28 Sept, 05:00 MYT86Official API 71Moderate
  • Politeknik Kota KinabaluSabah · 28 Sept, 05:00 MYT83Official API 69Moderate
  • KluangJohor · 28 Sept, 05:00 MYT80Official API 67Moderate
  • Shah AlamSelangor · 28 Sept, 05:00 MYT78Official API 66Moderate
  • BintuluSarawak · 28 Sept, 05:00 MYT77Official API 65Moderate
  • MukahSarawak · 28 Sept, 05:00 MYT75Official API 64Moderate
  • TangkakJohor · 28 Sept, 05:00 MYT75Official API 64Moderate
  • Balok Baru KuantanPahang · 28 Sept, 05:00 MYT72Official API 62Moderate
  • JOHAN SETIASelangor · 28 Sept, 05:00 MYT72Official API 62Moderate
  • SegamatJohor · 28 Sept, 05:00 MYT70Official API 60Moderate
  • SandakanSabah · 28 Sept, 05:00 MYT70Official API 60Moderate
  • SamalajuSarawak · 28 Sept, 05:00 MYT70Official API 60Moderate
  • Batu MudaWP Kuala Lumpur · 28 Sept, 05:00 MYT68Official API 59Moderate
  • Petaling JayaSelangor · 28 Sept, 05:00 MYT68Official API 59Moderate
  • Bandaraya MelakaMelaka · 28 Sept, 05:00 MYT68Official API 59Moderate
  • KlangSelangor · 28 Sept, 05:00 MYT67Official API 58Moderate
  • Indera Mahkota KuantanPahang · 28 Sept, 05:00 MYT67Official API 58Moderate
  • KeningauSabah · 28 Sept, 05:00 MYT67Official API 58Moderate
  • PutrajayaWP Putrajaya · 28 Sept, 05:00 MYT65Official API 57Moderate
  • LabuanWP Labuan · 28 Sept, 05:00 MYT65Official API 57Moderate
  • TaipingPerak · 28 Sept, 05:00 MYT64Official API 56Moderate
  • Tasek IpohPerak · 28 Sept, 05:00 MYT64Official API 56Moderate
  • Tanjung MalimPerak · 28 Sept, 05:00 MYT64Official API 56Moderate
  • SerembanNegeri Sembilan · 28 Sept, 05:00 MYT64Official API 56Moderate
  • Bukit RambaiMelaka · 28 Sept, 05:00 MYT64Official API 56Moderate
  • JerantutPahang · 28 Sept, 05:00 MYT64Official API 56Moderate
  • KemamanTerengganu · 28 Sept, 05:00 MYT64Official API 56Moderate
  • LimbangSarawak · 28 Sept, 05:00 MYT64Official API 56Moderate
  • SarikeiSarawak · 28 Sept, 05:00 MYT64Official API 56Moderate
  • Seri ManjungPerak · 28 Sept, 05:00 MYT62Official API 55Moderate
  • Alor GajahMelaka · 28 Sept, 05:00 MYT62Official API 55Moderate
  • Kota KinabaluSabah · 28 Sept, 05:00 MYT62Official API 55Moderate
  • MiriSarawak · 28 Sept, 05:00 MYT62Official API 55Moderate
  • KapitSarawak · 28 Sept, 05:00 MYT62Official API 55Moderate
  • Alor SetarKedah · 28 Sept, 05:00 MYT61Official API 54Moderate
  • Pegoh IpohPerak · 28 Sept, 05:00 MYT61Official API 54Moderate
  • KimanisSabah · 28 Sept, 05:00 MYT61Official API 54Moderate
  • ILP MiriSarawak · 28 Sept, 05:00 MYT61Official API 54Moderate
  • Seberang JayaPulau Pinang · 28 Sept, 05:00 MYT59Official API 53Moderate
  • Seberang PeraiPulau Pinang · 28 Sept, 05:00 MYT59Official API 53Moderate
  • Kuala SelangorSelangor · 28 Sept, 05:00 MYT59Official API 53Moderate
  • PakaTerengganu · 28 Sept, 05:00 MYT59Official API 53Moderate
  • SibuSarawak · 28 Sept, 05:00 MYT59Official API 53Moderate
  • Sungai PetaniKedah · 28 Sept, 05:00 MYT58Official API 52Moderate
  • BantingSelangor · 28 Sept, 05:00 MYT58Official API 52Moderate
  • Port DicksonNegeri Sembilan · 28 Sept, 05:00 MYT58Official API 52Moderate
  • Kulim Hi-TechKedah · 28 Sept, 05:00 MYT56Official API 49Moderate
  • Kuala TerengganuTerengganu · 28 Sept, 05:00 MYT56Official API 49Moderate
  • Kota BharuKelantan · 28 Sept, 05:00 MYT56Official API 50Moderate
  • KangarPerlis · 28 Sept, 05:00 MYT55Official API 46Moderate
  • MindenPulau Pinang · 28 Sept, 05:00 MYT53Official API 42Moderate
  • TemerlohPahang · 28 Sept, 05:00 MYT52Official API 40Moderate
  • BesutTerengganu · 28 Sept, 05:00 MYT52Official API 40Moderate
  • Balik PulauPulau Pinang · 28 Sept, 05:00 MYT49Official API 37Good
  • Tanah MerahKelantan · 28 Sept, 05:00 MYT40Official API 30Good
  • LangkawiKedah · 28 Sept, 05:00 MYT34Official API 26Good

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, 28 Sept 2026. The highest Air Pollutant Index in Malaysia is 140 (Unhealthy) at IPD Serian, Sarawak. 10 stations read good, 57 moderate and 1 unhealthy or worse.

68 daripada 68 stesen JAS melaporkan bacaan setakat 05:00 MYT, 28 Sept 2026. Bacaan IPU tertinggi di Malaysia ialah 140 (Tidak Sihat) di IPD Serian, Sarawak. 10 stesen baik, 57 sederhana dan 1 tidak sihat atau lebih teruk.

Stations reporting
68of 68
GoodBaik
10
ModerateSederhana
57
UnhealthyTidak Sihat
1
Very UnhealthySangat Tidak Sihat
0
HazardousBerbahaya
0

Latest observation 05:00 MYT, 28 Sept 2026. Source: Department of Environment Malaysia.

Highest official API readings

Bacaan IPU tertinggi sekarang

  1. IPD Serian air qualitySarawak140Unhealthy
  2. Pasir Gudang air qualityJohor87Moderate
  3. Larkin air qualityJohor80Moderate
  4. Pengerang air qualityJohor80Moderate
  5. Kuching air qualitySarawak80Moderate

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

86
Air qualityModerate
GoodHazardous

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

Cheras station · 5.0 kmReading time unavailable

Official DOE API: 71

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.