A data story · Dhaka, Bangladesh · real data

How Dhaka breathes

Twenty million people share one sky. Hour by hour, its air quality rises and falls with the traffic, the sun and the season. This is what a single day looks like.

Start the day

Part one

Twenty-four hours on a winter day

Scroll through the day. Hover over the chart, or focus it and use the arrow keys, to read any hour.

A typical winter day in Dhaka, hour by hour: air quality index, an estimated weekday traffic congestion index, and temperature, drawn on a shared 24-hour axis.
  1. midnight – 6 am

    The city sleeps, and the air stays put

    At midnight the AQI reads 298, which is very unhealthy, close to the worst of the day. On still winter nights a lid of cool air settles over the city, and smoke from kilns, cooking fires and late-night trucks has nowhere to go. Even by 6 am it has only eased to 268.

  2. 7 am – 10 am

    Rush hour, and the lid starts to lift

    The roads fill fast: congestion hits 90/100 at 9 am. Yet the AQI falls, from 272 at 7 am to 206 by 10 am. As the sun warms the ground, the trapped night air starts to mix upward, which suggests the weather, more than the traffic, sets the level at this hour.

  3. noon – 4 pm

    The sun does what the traffic police can't

    By 2 pm it is 26.7°C. Warm ground heats the air, it rises, and the haze is carried up and thinned out. AQI falls to its daily low of 186 at 2 pm. Even this cleanest hour is unhealthy.

  4. 5 pm – 11 pm

    Everyone goes home at once

    At 6 pm the roads reach 96/100, the most congested hour of the day. As the sun sets the mixing stops, and AQI climbs back to 316 by 11 pm, the worst hour of the whole day.

  5. The whole day

    24 of 24 hours

    On a typical winter day, 24 of 24 hours are unhealthy for everyone (AQI above 150). The timing shows who is in charge: the dirtiest air comes at 11 pm, when traffic is down to 37/100 but the air is still. Traffic adds to the smoke, but brick kilns, construction dust and the weather decide how much of it we breathe.

Show the data as a table
Typical winter day in Dhaka, hourly medians (traffic: weekday)
HourAQITraffic (0–100)Temp (°C)
midnight2982718.8
1 am2972118.4
2 am2871317.8
3 am2761017.3
4 am2661116.7
5 am2681416.3
6 am2682916.0
7 am2725816.1
8 am2498117.4
9 am2289019.9
10 am2067922.3
11 am1997124.2
noon1896525.5
1 pm1876326.4
2 pm1866526.7
3 pm1866926.6
4 pm2067826.1
5 pm2388825.0
6 pm2679623.4
7 pm2859222.7
8 pm2938121.8
9 pm2926520.8
10 pm3145120.1
11 pm3163719.3

Part two

Same city, different air

A winter day averages an AQI of 253. Once the monsoon rains arrive, that drops to 102, about 2.5 times cleaner. The daily rhythm changes too: in winter the cleanest and dirtiest hours are 130 points apart, in the monsoon only 17. Rain washes particles out of the air, the wind keeps it moving, and the brick kilns, which only fire in the dry season, go cold.

Typical daily AQI curve for each season. Winter is highlighted.
Daily average
253
Very Unhealthy
Worst hour
316
11 pm
Cleanest hour
186
2 pm
Unhealthy hours
24
AQI above 150

Winter (Dec–Feb). The shaded band shows the middle half of days (25th to 75th percentile).

Show the data as a table
Typical hourly AQI by season in Dhaka
HourWinterPre-monsoonMonsoonPost-monsoon
midnight298165111189
1 am29716399180
2 am28715997181
3 am27616096173
4 am266163105174
5 am268167103185
6 am268172102177
7 am27216898165
8 am249163102158
9 am22816297156
10 am20616197155
11 am19915995148
noon18915995152
1 pm18715796142
2 pm18615897152
3 pm18615798157
4 pm20615698167
5 pm238162107176
6 pm267168108179
7 pm285173112177
8 pm293174110178
9 pm292170107193
10 pm314167110186
11 pm316163102192

Part three

The year in one picture

Every row is a month and every column an hour. Read across a row for the daily rhythm, and down a column to see the seasons change. Jan is the worst month (average AQI 273) and Aug the cleanest (93), a 3× difference. Measured at the US Embassy monitor, Apr 2024 – Mar 2025.
A grid of typical air quality for every hour of every month. Rows are months, columns are hours, and the color is the AQI category.
Jan, 8 amAQI 290 · Very Unhealthy · ≈ 215 µg/m³ · 16.3°C
Jan
273
Feb
235
Mar
182
Apr
163
May
150
Jun
111
Jul
96
Aug
93
Sep
112
Oct
161
Nov
186
Dec
258

the outlined cell is right now in Dhaka (Oct, 7 pm)

Part four

Not every street breathes the same

The same weather sits over the whole city, but what happens on the ground differs. In the pre-monsoon months, Mirpur averaged an AQI of 167 and Dhanmondi 147, a 14% gap between places a few kilometres apart.

Measured by 8 low-cost community sensors (Smart Air Bangladesh, via OpenAQ), Dec 2025 – Sept 2026. Most were installed in early 2026, so winter isn't covered yet. Low-cost sensors can read high in humid air, so compare areas with each other rather than with the citywide figures.

Reading the sensors…

A typical day, by neighbourhood

  1. Dhanmondi
    Dhanmondi, Road No. 7 · 89 days
    147

    Dhanmondi: daily average AQI 147, Unhealthy for Sensitive Groups; worst at 7 pm.

  2. Moghbazar
    Moghbazar, Bhodro Goli · 91 days
    149

    Moghbazar: daily average AQI 149, Unhealthy for Sensitive Groups; worst at 8 pm.

  3. Gulshan
    Gulshan Society Lake Park · 89 days
    151

    Gulshan: daily average AQI 151, Unhealthy; worst at 8 pm.

  4. Uttara
    RAJUK Uttara Apartment Project, Sector - 18, Uttara · 92 days
    151

    Uttara: daily average AQI 151, Unhealthy; worst at 8 pm.

  5. Hazaribagh
    Hazaribagh, Jigatola · 92 days
    152

    Hazaribagh: daily average AQI 152, Unhealthy; worst at 7 pm.

  6. Baridhara
    Baridhara, Park Road · 85 days
    156

    Baridhara: daily average AQI 156, Unhealthy; worst at 8 pm.

  7. Mirpur
    Kalshi, Mirpur-12 · 92 days
    167

    Mirpur: daily average AQI 167, Unhealthy; worst at 2 am.

Not enough pre-monsoon data: Sabujbagh, Demra.24h curve · dot = worst hour
Show the data as a table
Typical hourly AQI by neighbourhood, Pre-monsoon
HourDhanmondiMoghbazarGulshanUttaraHazaribaghBaridharaMirpur
midnight149152152154153155181
1 am142151151152152151189
2 am139152154154150155191
3 am137139150153152156179
4 am139149149151147155178
5 am146145152153151157182
6 am149148156157153158173
7 am149152155153154158164
8 am150153155149152155158
9 am151151149148153153154
10 am149151149152152152156
11 am145143145151151151155
noon142142145148145153154
1 pm144147143144147154154
2 pm146145144142146154150
3 pm138139139142143151144
4 pm139142147140144154151
5 pm146148150141153156153
6 pm153146144153153159156
7 pm159158155158163165172
8 pm156159158162161167179
9 pm155156158158161162183
10 pm154156158156157162181
11 pm152151154152155159173

Part five

What it means to breathe it

Each square below is one hour of a typical day, colored by the US EPA category. On a typical winter day, 24 of 24 hours are unhealthy for everyone, not only children, older people and those with asthma.
Each season’s typical day as 24 hourly cells, colored by AQI category.
Winter
Dec–Feb
24 / 24 h unhealthy
Pre-monsoon
Mar–May
24 / 24 h unhealthy
Monsoon
Jun–Sep
0 / 24 h unhealthy
Post-monsoon
Oct–Nov
22 / 24 h unhealthy
  • Good (0–50)
  • Moderate (51–100)
  • Unhealthy for Sensitive Groups (101–150)
  • Unhealthy (151–200)
  • Very Unhealthy (201–300)
  • Hazardous (301–500)

A day of breathing, in cigarettes

A common rule of thumb (Berkeley Earth) says that breathing 22 µg/m³ of PM2.5 for a day does about as much harm as smoking one cigarette. The WHO’s daily guideline is 15 µg/m³.

  • Winter (Dec–Feb)8.0 cigarettes / day

    avg 177 µg/m³, 11.8× the WHO daily guideline

  • Pre-monsoon (Mar–May)3.3 cigarettes / day

    avg 73 µg/m³, 4.9× the WHO daily guideline

  • Monsoon (Jun–Sep)1.6 cigarettes / day

    avg 36 µg/m³, 2.4× the WHO daily guideline

  • Post-monsoon (Oct–Nov)3.8 cigarettes / day

    avg 84 µg/m³, 5.6× the WHO daily guideline

What each level means for you

Based on US EPA guidance. “Sensitive groups” means children, older adults, pregnant women and people with heart or lung conditions.

  1. 0–50

    Good

    The air is clean. A good time to be outside.

  2. 51–100

    Moderate

    Fine for most people. If you are unusually sensitive to air pollution, keep long or heavy exercise outdoors short.

  3. 101–150

    Unhealthy for Sensitive Groups

    Children, older adults, pregnant women and people with heart or lung conditions should cut back on long or heavy exercise outdoors.

  4. 151–200

    Unhealthy

    Everyone should cut back on long or heavy exercise outdoors, and sensitive groups should avoid it. A well-fitted N95/KN95 mask helps.

  5. 201–300

    Very Unhealthy

    Everyone should avoid long or heavy exercise outdoors. Sensitive groups should stay indoors with the windows closed.

  6. 301–500

    Hazardous

    Everyone should avoid any exercise outdoors and stay indoors if possible.

Part six

Plan your time outside

You can’t change the air, but you can change when you breathe it. Pick a month and how long you’ll be out, and we’ll find the cleanest and the worst window in a typical day.
Day
Search within

Cleanest window

noon – 2 pm

Avg AQI
144 · Sensitive
PM2.5
53 µg/m³
Temperature
31°C
Traffic
64/100

Worst window

9 pm – 11 pm

Avg AQI
170 · Unhealthy
PM2.5
83 µg/m³
Temperature
26°C
Traffic
58/100

Going out at noon instead of 9 pm cuts the fine particles you breathe by about 36%. Children, older adults, pregnant women and people with heart or lung conditions should cut back on long or heavy exercise outdoors.

Typical Oct weekday. Traffic is an estimated index that changes with the day type. Air quality is a typical day for the month across all days of the week, so the cleanest window only changes with the month.

Methodology & sources

Citywide air quality on this page is measured, neighbourhood air quality is measured by community sensors, temperature comes from a weather model, and traffic is an estimate, because Dhaka has no open hourly traffic data. Each dataset is labelled below.

Air quality, citywidemeasured
US AQI from hourly PM2.5 · Apr 2024 – Mar 2025
US Embassy Dhaka reference monitor (AirNow), via OpenAQ: measured
Hourly measured PM2.5 converted to US AQI (2024 EPA breakpoints); per-hour median and 25th–75th percentile per season over 351 days.
Air quality by monthmeasured
US AQI and air temperature, typical day per month · Apr 2024 – Mar 2025
US Embassy Dhaka monitor (AQI) + Open-Meteo ERA5 (temperature)
Per-hour median for each calendar month of the period.
Neighbourhoodsmeasured
Measured PM2.5 by neighbourhood, as hourly US AQI · Dec 2025 – Sept 2026
OpenAQ v3: Smart Air Bangladesh / AirGradient low-cost sensors
Per-hour median of measured PM2.5 converted to US AQI; a season is shown only when every hour of day has at least 20 readings. Low-cost optical sensors, not humidity-corrected.
Live readingsmeasured
Latest hourly PM2.5 per sensor, as US AQI
OpenAQ live feed: Smart Air Bangladesh / AirGradient community sensors
Fetched when you open the page and every 10 minutes; the most recent hourly reading per location within 25 km of Dhaka, converted with the 2024 EPA breakpoints; sensors silent for 3 hours are left out.
Temperaturemodelled
Air temperature at 2 m · Apr 2024 – Mar 2025
Open-Meteo Historical Weather API (ERA5 reanalysis)
Per-hour median and 25th–75th percentile per season over the same dates as the AQI.
Trafficestimated
Relative congestion index
Demo data: estimated index, no open hourly traffic feed exists for Dhaka
Hand-shaped from typical commute patterns; 100 = worst hour of a typical weekday.

Why we don’t use a model for air quality

Free air-quality models cover the whole world, so we compared one (Open-Meteo / CAMS) with the US Embassy’s reference monitor over 4,109 matching hours (Oct 2024 – Mar 2025). The model averaged 77.2 µg/m³ of PM2.5 against 148 µg/m³ measured, 48% too low. It also put the daily peak at 7 am instead of 2 am (hourly correlation 0.67). For a story about the hour-by-hour rhythm, that isn’t close enough, so the citywide charts use the monitor itself.

  • All hours are local Dhaka time (Asia/Dhaka, UTC+6). Each line is the median of a “typical day”, and the shaded band covers the 25th to 75th percentile of days.
  • Seasons: winter Dec–Feb, pre-monsoon Mar–May, monsoon Jun–Sep, post-monsoon Oct–Nov.
  • Officially, the US EPA AQI for PM2.5 is based on a 24-hour average. Here each hour’s PM2.5 is converted with the same 2024 EPA breakpoints to show the daily rhythm, so a single hour can read higher or lower than the official daily AQI.
  • The US Embassy monitor stopped publishing to OpenAQ in March 2025, so the citywide figures cover its latest full year. The neighbourhood sensors are newer (from early 2026) and are low-cost optical sensors, which can over-read in humid air. Compare them with each other rather than with the citywide numbers.
  • The cigarette comparison (22 µg/m³ of PM2.5 for a day ≈ one cigarette) is a rough rule of thumb from Berkeley Earth, not a clinical measure.
  • “Right now” uses your device clock converted to Dhaka time and shows the typical value for that month and hour. It is not a live reading.
  • Traffic and air quality overlap in time, but that alone doesn’t show that traffic causes the smog. Brick kilns, construction dust, industry and the weather all contribute.

Data: US Embassy Dhaka via AirNow and OpenAQ, Smart Air Bangladesh / AirGradient sensors, and Open-Meteo (CC BY 4.0). Generated 2026-10-10.

Air quality: US Embassy Dhaka monitor and Smart Air Bangladesh sensors via OpenAQ. Weather: Open-Meteo. Traffic: estimated index. Source code: github.com/atik806/how-dhaka-breathes.