About the readings

Air quality across Southeast Asia, with the sources in view.

Haze Monitor is an independent, ad-free view of air quality in Malaysia, Singapore, Thailand, Indonesia and Vietnam. Malaysia and Singapore use official observations; the other three countries use clearly labelled model estimates.

Singapore readings

Singapore air quality uses NEA’s regional 24-hour PSI and 1-hour PM2.5 from data.gov.sg. The page shows all five regions and recent hourly history. PSI is kept separate from Malaysia’s API. Region labels do not identify individual monitoring stations.

Thailand, Indonesia and Vietnam

Thailand, Indonesia and Vietnam show CAMS modelled US AQI, PM2.5 and a 24-hour forecast via Open-Meteo. These roughly 45 km grid estimates are not station observations or the official national index. Each page links to its country's official source. Values keep their model validity times, and saved or older estimates are labelled.

Singapore neighbourhood pages use NEA’s published area-to-region mapping. For example, Punggol uses North and Tampines uses East. They do not imply separate neighbourhood sensors.

What does API mean?

API stands for Air Pollutant Index. In Malay, it is Indeks Pencemaran Udara, or IPU. Cities, stations, state views, the Explore map and weekly reports show PM2.5 US AQI calculated from official source readings. Official Malaysian API values remain available for comparison.

Use the official DOE APIMS website for the source readings and official guidance. Haze Monitor is not operated by DOE.

How is the US AQI calculated?

For observations identified as PM2.5, we reverse the PM2.5 formula linked by DOE’s current APIMS portal to estimate the 24-hour PM2.5 concentration. We truncate this concentration to one decimal place and apply the EPA’s May 2026 AQI table. The rounded source API limits precision. This is a PM2.5 calculation, not an official all-pollutant US AQI or a real-time NowCast.

For Singapore we apply the same US breakpoints directly to NEA’s reported 24-hour PM2.5 concentrations. Official PSI and 1-hour PM2.5 remain separate. We never substitute a 1-hour concentration for a 24-hour average.

History converts each hourly observation separately. Daily and monthly means average only eligible converted observations. Unknown pollutants, unsupported pollutants and missing readings appear as gaps. Older archives did not record the pollutant, so those observations cannot be converted. We never assume today’s pollutant also applied in the past.

Official API values are retained for comparison. US AQI includes an Unhealthy for Sensitive Groups category from 101 to 150, and Unhealthy starts at 151. AQI values depend on the monitoring location and averaging period.

How is a Malaysian city's reading selected?

Each city uses its centre coordinates to find the nearest monitoring station within 75 km. The card shows that station's name and distance. This is a measurement at the station, not at your location or an average across the city.

If the nearest monitor has no reading, or no monitor is within coverage, the app shows an unavailable value. It does not substitute a more distant station just because that station has data.

How recent are the readings?

For Malaysia and Singapore, the app checks the feed every five minutes. The observation time is when the station recorded the reading, which can be earlier than the app's last refresh. Readings at least two hours old are labelled as older readings.

City share previews use the same nearest-station rule, with landscape artwork, the API value and an observation timestamp in Malaysia time. Images are generated when requested and may be cached for five minutes. Social platforms can keep their own copies for longer, so a shared image is a timestamped snapshot.

Are the city images live views?

The city scenes are illustrations. Their haze effect follows the API value and their lighting follows Malaysia time. They are not photographs of current visibility, webcam feeds or forecasts.

Browse air quality by city

One featured city represents each of Malaysia's 13 states, alongside Kuala Lumpur. These are city views, not state averages.