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

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

  • Batu MudaWP Kuala Lumpur · 30 Oct, 13:00 MYT · Saved reading103Official API 82Unhealthy for Sensitive Groups
  • KeningauSabah · 30 Oct, 13:00 MYT · Saved reading101Official API 81Unhealthy for Sensitive Groups
  • Sri AmanSarawak · 30 Oct, 13:00 MYT · Saved reading94Official API 77Moderate
  • KluangJohor · 30 Oct, 13:00 MYT · Saved reading91Official API 75Moderate
  • IPD SerianSarawak · 30 Oct, 13:00 MYT · Saved reading91Official API 75Moderate
  • SarikeiSarawak · 30 Oct, 13:00 MYT · Saved reading81Official API 68Moderate
  • SamarahanSarawak · 30 Oct, 13:00 MYT · Saved reading78Official API 66Moderate
  • LarkinJohor · 30 Oct, 13:00 MYT · Saved reading74Official API 63Moderate
  • KimanisSabah · 30 Oct, 13:00 MYT · Saved reading74Official API 63Moderate
  • Seberang PeraiPulau Pinang · 30 Oct, 13:00 MYT · Saved reading71Official API 61Moderate
  • SamalajuSarawak · 30 Oct, 13:00 MYT · Saved reading71Official API 61Moderate
  • KapitSarawak · 30 Oct, 13:00 MYT · Saved reading71Official API 61Moderate
  • SibuSarawak · 30 Oct, 13:00 MYT · Saved reading71Official API 61Moderate
  • TawauSabah · 30 Oct, 13:00 MYT · Saved reading70Official API 60Moderate
  • KuchingSarawak · 30 Oct, 13:00 MYT · Saved reading70Official API 60Moderate
  • CherasWP Kuala Lumpur · 30 Oct, 13:00 MYT · Saved reading68Official API 59Moderate
  • Pasir GudangJohor · 30 Oct, 13:00 MYT · Saved reading68Official API 59Moderate
  • Balok Baru KuantanPahang · 30 Oct, 13:00 MYT · Saved reading67Official API 58Moderate
  • MukahSarawak · 30 Oct, 13:00 MYT · Saved reading67Official API 58Moderate
  • Pegoh IpohPerak · 30 Oct, 14:00 MYT64Official API 56Moderate
  • Tasek IpohPerak · 30 Oct, 13:00 MYT · Saved reading62Official API 55Moderate
  • Kota KinabaluSabah · 30 Oct, 13:00 MYT · Saved reading62Official API 55Moderate
  • JOHAN SETIASelangor · 30 Oct, 13:00 MYT · Saved reading62Official API 55Moderate
  • Tanah MerahKelantan · 30 Oct, 13:00 MYT · Saved reading61Official API 54Moderate
  • SandakanSabah · 30 Oct, 13:00 MYT · Saved reading61Official API 54Moderate
  • BintuluSarawak · 30 Oct, 13:00 MYT · Saved reading61Official API 54Moderate
  • Politeknik Kota KinabaluSabah · 30 Oct, 13:00 MYT · Saved reading61Official API 54Moderate
  • KlangSelangor · 30 Oct, 13:00 MYT · Saved reading59Official API 53Moderate
  • Kota BharuKelantan · 30 Oct, 13:00 MYT · Saved reading59Official API 53Moderate
  • TangkakJohor · 30 Oct, 13:00 MYT · Saved reading59Official API 53Moderate
  • Seri ManjungPerak · 30 Oct, 13:00 MYT · Saved reading58Official API 52Moderate
  • Bukit RambaiMelaka · 30 Oct, 13:00 MYT · Saved reading58Official API 52Moderate
  • Bandaraya MelakaMelaka · 30 Oct, 13:00 MYT · Saved reading58Official API 52Moderate
  • PengerangJohor · 30 Oct, 13:00 MYT · Saved reading58Official API 52Moderate
  • Indera Mahkota KuantanPahang · 30 Oct, 13:00 MYT · Saved reading58Official API 52Moderate
  • LabuanWP Labuan · 30 Oct, 13:00 MYT · Saved reading58Official API 52Moderate
  • PutrajayaWP Putrajaya · 30 Oct, 13:00 MYT · Saved reading57Official API 51Moderate
  • NilaiNegeri Sembilan · 30 Oct, 13:00 MYT · Saved reading57Official API 51Moderate
  • Alor GajahMelaka · 30 Oct, 13:00 MYT · Saved reading56Official API 50Moderate
  • Sungai PetaniKedah · 30 Oct, 13:00 MYT · Saved reading55Official API 47Moderate
  • SegamatJohor · 30 Oct, 13:00 MYT · Saved reading55Official API 46Moderate
  • Batu PahatJohor · 30 Oct, 13:00 MYT · Saved reading55Official API 47Moderate
  • Kota TinggiJohor · 30 Oct, 13:00 MYT · Saved reading55Official API 47Moderate
  • RompinPahang · 30 Oct, 13:00 MYT · Saved reading55Official API 47Moderate
  • KemamanTerengganu · 30 Oct, 13:00 MYT · Saved reading55Official API 47Moderate
  • BantingSelangor · 30 Oct, 13:00 MYT · Saved reading53Official API 43Moderate
  • LimbangSarawak · 30 Oct, 13:00 MYT · Saved reading53Official API 42Moderate
  • ILP MiriSarawak · 30 Oct, 13:00 MYT · Saved reading53Official API 42Moderate
  • MiriSarawak · 30 Oct, 13:00 MYT · Saved reading53Official API 42Moderate
  • Seberang JayaPulau Pinang · 30 Oct, 13:00 MYT · Saved reading51Official API 38Moderate
  • Shah AlamSelangor · 30 Oct, 13:00 MYT · Saved reading51Official API 39Moderate
  • SerembanNegeri Sembilan · 30 Oct, 13:00 MYT · Saved reading51Official API 38Moderate
  • Kuala TerengganuTerengganu · 30 Oct, 13:00 MYT · Saved reading51Official API 38Moderate
  • Petaling JayaSelangor · 30 Oct, 13:00 MYT · Saved reading49Official API 37Good
  • PakaTerengganu · 30 Oct, 13:00 MYT · Saved reading49Official API 37Good
  • TemerlohPahang · 30 Oct, 13:00 MYT · Saved reading48Official API 36Good
  • MindenPulau Pinang · 30 Oct, 13:00 MYT · Saved reading44Official API 33Good
  • Kuala SelangorSelangor · 30 Oct, 13:00 MYT · Saved reading42Official API 32Good
  • KangarPerlis · 30 Oct, 13:00 MYT · Saved reading40Official API 30Good
  • Alor SetarKedah · 30 Oct, 13:00 MYT · Saved reading40Official API 30Good
  • Port DicksonNegeri Sembilan · 30 Oct, 13:00 MYT · Saved reading40Official API 30Good
  • BesutTerengganu · 30 Oct, 13:00 MYT · Saved reading40Official API 30Good
  • Tanjung MalimPerak · 30 Oct, 13:00 MYT · Saved reading38Official API 29Good
  • Kulim Hi-TechKedah · 30 Oct, 13:00 MYT · Saved reading33Official API 25Good
  • TaipingPerak · 30 Oct, 13:00 MYT · Saved reading33Official API 25Good
  • JerantutPahang · 30 Oct, 13:00 MYT · Saved reading33Official API 25Good
  • Balik PulauPulau Pinang · 30 Oct, 13:00 MYT · Saved reading22Official API 17Good
  • LangkawiKedah · 30 Oct, 13:00 MYT · Saved reading21Official API 16Good

Official DOE API overview

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

68 of 68 DOE stations are reporting as of 14:00 MYT, 30 Oct 2026. The highest Air Pollutant Index in Malaysia is 82 (Moderate) at Batu Muda, WP Kuala Lumpur. 30 stations read good, 38 moderate and 0 unhealthy or worse.

68 daripada 68 stesen JAS melaporkan bacaan setakat 14:00 MYT, 30 Oct 2026. Bacaan IPU tertinggi di Malaysia ialah 82 (Sederhana) di Batu Muda, WP Kuala Lumpur. 30 stesen baik, 38 sederhana dan 0 tidak sihat atau lebih teruk.

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

Latest observation 14:00 MYT, 30 Oct 2026. Source: Department of Environment Malaysia.

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

68
Air qualityModerate
GoodHazardous

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

Cheras station · 5.0 kmLast known reading · Reading time unavailable

Official DOE API: 59

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.