Air at the Kakanj Centar (70A) station
Kakanj, Zenica-Doboj Canton · Federation of Bosnia and Herzegovina
Network: Federal Hydrometeorological Institute · Station code: BA0070A
This year, up to yesterday (October 6)
at least
49 days
with a daily average of sulphur dioxide (SO₂) above the legal limit of 125 µg/m³.
3 days are allowed in the whole year.
The number allowed for the whole year has been exceeded.at least 46 days more than allowed
In 2025: 133 days above the limit, 3 allowed.
at least
173 hours
with sulphur dioxide (SO₂) above the legal hourly limit of 350 µg/m³.
24 hours are allowed in the whole year.
The number allowed for the whole year has been exceeded.at least 149 hours more than allowed
Worst day: March 1, 2026, SO₂ 282 µg/m³ as a daily average, 2.3 times the limit.
SO₂ was above the alert threshold of 500 µg/m³ for at least 32 hours, three or more hours in a row (on 10 days).
These are measured values only. Whether a warning or alert episode has been declared is decided and published by the competent authorities.
Also: at least 30 days above the legal daily limit for PM10 of 50 µg/m³ (too few readings to compare with the allowed number).
Daily average for 210 of 279 days · data for 2026 not yet finally verified · Yardstick: legal limits in the Federation of BiH (Pravilnik, Official Gazette FBiH 1/12, 50/19, 3/21)
Moderate
Air now · Measured at 21:00
Latest values
Latest value: 21:00
| Pollutant | Value | Level |
|---|---|---|
| PM10 | 39.4 µg/m³ | Fair |
| NO₂ | 28.5 µg/m³ | Moderate |
| O₃ | 37.6 µg/m³ | Good |
| SO₂ | 54.4 µg/m³ | Moderate |
How the air is changing
Over the last seven days there was more PM10, NO₂, and SO₂ in the air than the week before.
- PM10: average 33.7 µg/m³, week before 26.2 µg/m³
- NO₂: average 28.8 µg/m³, week before 22.4 µg/m³
- O₃: average 33.2 µg/m³, week before 33.7 µg/m³
- SO₂: average 109.8 µg/m³, week before 60.5 µg/m³
There are not enough readings to compare with the month before.
- PM10: too few readings to compare
- NO₂: too few readings to compare
- O₃: too few readings to compare
- SO₂: too few readings to compare
Show
Particulate matter PM10
39.4
Nowµg/m³
Measured at 21:00
41.7
Last 24 hoursµg/m³
measured in 92 % of hours · provisional
33.7
Last 7 daysµg/m³
measured in 100 % of hours · provisional
too few readings
Last 30 days
measured in 49 % of hours · provisional
too few readings
Last 12 months
measured in 81 % of hours · 2 months with too few readings · provisional
Days in 2026: PM10, daily average above 50 µg/m³
30 days above the limit. 53 days without any reading from the station.
- above the limit
- below the limit
- too few readings for the day
- no data from the station
Days above the limit with values (30)
- Jan 31 54
- Feb 3 94
- Feb 4 74
- Feb 6 85
- Feb 7 77
- Feb 8 72
- Feb 9 80
- Feb 10 59
- Feb 12 62
- Feb 14 68
- Feb 18 52
- Feb 19 51
- Feb 23 60
- Feb 24 79
- Mar 2 120
- Mar 3 226
- Mar 4 163
- Mar 5 63
- Mar 6 61
- Mar 7 69
- Mar 8 61
- Mar 9 57
- Mar 10 64
- Mar 11 64
- Mar 12 53
- Mar 13 55
- Apr 14 65
- Jun 30 50
- Aug 28 51
- Aug 29 57
Values in µg/m³, limit 50 µg/m³.
Months of 2026
| Month | Days above 50 | Highest day | No readings |
|---|---|---|---|
| January | 1 above the number allowed | 54 | 27 |
| February | 13 above the number allowed | 94 | 0 |
| March | 12 above the number allowed | 120 | 0 |
| April | 1 above the number allowed | 65 | 4 |
| May | 0 | 30 | 1 |
| June | 1 above the number allowed | 50 | 1 |
| July | 0 | 43 | 0 |
| August | 2 above the number allowed | 57 | 0 |
| September | 0 | 34 | 20 |
| October up to yesterday | 0 | 45 | 0 |
Values in µg/m³. ■ marks a month with at least one day above the limit; the number allowed applies to the whole year. “No readings”: days on which not a single reading came from the station.
Values as a table
| Hour to | µg/m³ | Note |
|---|---|---|
| Wednesday, 10/7 | ||
| 22:00 | 35 | model estimate, not counted |
| 21:00 | 39.4 | |
| 20:00 | 22.9 | |
| 19:00 | 14.2 | |
| 18:00 | 26.3 | |
| 17:00 | 30.1 | |
| 16:00 | 29 | |
| 15:00 | 32 | |
| 14:00 | 40.7 | |
| 13:00 | 48.7 | |
| 12:00 | 47.1 | |
| 11:00 | 63.5 | |
| 10:00 | 65.4 | |
| 09:00 | 67.5 | |
| 08:00 | 46.4 | |
| 07:00 | 35.3 | |
| 06:00 | 36.1 | |
| 05:00 | 34.5 | |
| 04:00 | 35.3 | |
| 03:00 | 34.9 | |
| 02:00 | 35.3 | |
| 01:00 | 61.5 | |
| Tuesday, 10/6 | ||
| 00:00 | 70.2 | |
| 23:00 | 72.3 | |
| 22:00 | 82.1 | |
| 21:00 | 66 | |
| 20:00 | 50.1 | |
| 19:00 | 25 | |
| 18:00 | 23.6 | |
| 17:00 | 29.3 | |
| 16:00 | 30 | |
| 15:00 | 32.6 | |
| 14:00 | 35.1 | |
| 13:00 | 41.6 | |
| 12:00 | 53.9 | |
| 11:00 | 71.8 | |
| 10:00 | 72.6 | |
| 09:00 | 50.6 | |
| 08:00 | 33.4 | |
| 07:00 | 26.7 | |
| 06:00 | 25.2 | |
| 05:00 | 35.4 | |
| 04:00 | 34.5 | |
| 03:00 | 34.1 | |
| 02:00 | 36.3 | |
| 01:00 | 57.9 | |
| Monday, 10/5 | ||
| 00:00 | 55 | |
| 23:00 | 59.3 | |
| 22:00 | 43.5 | |
| 21:00 | 32.5 | |
| 20:00 | 25.9 | |
| 19:00 | 18.2 | |
| 18:00 | 28.7 | |
| 17:00 | 32.4 | |
| 16:00 | 36.5 | |
| 15:00 | 47 | |
| 14:00 | 56.1 | |
| 13:00 | 44.4 | |
| 12:00 | 50.9 | |
| 11:00 | 65.2 | |
| 10:00 | 52.6 | |
| 09:00 | 53 | |
| 08:00 | 31.7 | |
| 07:00 | 17.3 | |
| 06:00 | 15.2 | |
| 05:00 | 21.5 | |
| 04:00 | 24.7 | |
| 03:00 | 33.7 | |
| 02:00 | 28.8 | |
| 01:00 | 45.5 | |
| Sunday, 10/4 | ||
| 00:00 | 45.1 | |
| 23:00 | 54 | |
| 22:00 | 39.8 | |
| 21:00 | 34.2 | |
| 20:00 | 17.9 | |
| 19:00 | 13.3 | |
| 18:00 | 17.7 | |
| 17:00 | 18.2 | |
| 16:00 | 23.2 | |
| 15:00 | 29.6 | |
| 14:00 | 38.9 | |
| 13:00 | 39.8 | |
| 12:00 | 52.2 | |
| 11:00 | 67.5 | |
| 10:00 | 46.8 | |
| 09:00 | 30.5 | |
| 08:00 | 30.4 | |
| 07:00 | 25.2 | |
| 06:00 | 18.2 | |
| 05:00 | 14.5 | |
| 04:00 | 23.4 | |
| 03:00 | 26 | |
| 02:00 | 25.1 | |
| 01:00 | 39.5 | |
| Saturday, 10/3 | ||
| 00:00 | 54.9 | |
| 23:00 | 46.9 | |
| 22:00 | 34.9 | |
| 21:00 | 14.8 | |
| 20:00 | 15.4 | |
| 19:00 | 20.3 | |
| 18:00 | 23.8 | |
| 17:00 | 20.3 | |
| 16:00 | 25 | |
| 15:00 | 26.1 | |
| 14:00 | 34.6 | |
| 13:00 | 48.1 | |
| 12:00 | 55.4 | |
| 11:00 | 52 | |
| 10:00 | 52.4 | |
| 09:00 | 42.9 | |
| 08:00 | 18.1 | |
| 07:00 | 13.9 | |
| 06:00 | 18.1 | |
| 05:00 | 22.2 | |
| 04:00 | 14.1 | |
| 03:00 | 15.1 | |
| 02:00 | 24.6 | |
| 01:00 | 40 | |
| Friday, 10/2 | ||
| 00:00 | 33.4 | |
| 23:00 | 33.5 | |
| 22:00 | 26.5 | |
| 21:00 | 23.5 | |
| 20:00 | 11.3 | |
| 19:00 | 7 | |
| 18:00 | 9.8 | |
| 17:00 | 17.7 | |
| 16:00 | 26.9 | |
| 15:00 | 34.6 | |
| 14:00 | 35.3 | |
| 13:00 | 39.6 | |
| 12:00 | 41.4 | |
| 11:00 | 52.2 | |
| 10:00 | 53.7 | |
| 09:00 | 35.9 | |
| 08:00 | 22.5 | |
| 07:00 | 27.8 | |
| 06:00 | 28.3 | |
| 05:00 | 13.8 | |
| 04:00 | 15.4 | |
| 03:00 | 18.3 | |
| 02:00 | 23.4 | |
| 01:00 | 36 | |
| Thursday, 10/1 | ||
| 00:00 | 39.4 | |
| 23:00 | 44.8 | |
| 22:00 | 33.2 | |
| 21:00 | 13.2 | |
| 20:00 | 11.1 | |
| 19:00 | 16.1 | |
| 18:00 | 26.9 | |
| 17:00 | 19.6 | |
| 16:00 | 24.6 | |
| 15:00 | 23.9 | |
| 14:00 | 37.1 | |
| 13:00 | 42.1 | |
| 12:00 | 61.8 | |
| 11:00 | 76.8 | |
| 10:00 | 47.5 | |
| 09:00 | 40.1 | |
| 08:00 | 34.1 | |
| 07:00 | 20.1 | |
| 06:00 | 18.7 | |
| 05:00 | 14.2 | |
| 04:00 | 19.1 | |
| 03:00 | 16.2 | |
| 02:00 | 17.8 | |
| 01:00 | 30.7 | |
Values as a table
| Day | µg/m³ | Note |
|---|---|---|
| Tue, 10/6 | 45.4 | provisional |
| Mon, 10/5 | 38.3 | provisional |
| Sun, 10/4 | 32.1 | provisional |
| Sat, 10/3 | 30.6 | provisional |
| Fri, 10/2 | 27.8 | provisional |
| Thu, 10/1 | 30.4 | provisional |
| Wed, 9/30 | 31.5 | provisional |
| Tue, 9/29 | 32.5 | provisional |
| Mon, 9/28 | 33.8 | provisional |
| Sun, 9/27 | 33.7 | provisional |
| Sat, 9/26 | 20.1 | provisional |
| Fri, 9/25 | 14.5 | provisional |
| Thu, 9/24 | 23.5 | provisional |
| Wed, 9/23 | 25.1 | provisional |
| Tue, 9/22 | too few readings | |
| Mon, 9/21 | no data from the station | |
| Sun, 9/20 | no data from the station | |
| Sat, 9/19 | no data from the station | |
| Fri, 9/18 | no data from the station | |
| Thu, 9/17 | no data from the station | |
| Wed, 9/16 | no data from the station | |
| Tue, 9/15 | no data from the station | |
| Mon, 9/14 | no data from the station | |
| Sun, 9/13 | no data from the station | |
| Sat, 9/12 | no data from the station | |
| Fri, 9/11 | no data from the station | |
| Thu, 9/10 | no data from the station | |
| Wed, 9/9 | no data from the station | |
| Tue, 9/8 | no data from the station | |
| Mon, 9/7 | no data from the station |
Values as a table
| Month | µg/m³ | a year earlier | Note |
|---|---|---|---|
| October 2026 so far | 34.1 | too few readings | measured in 100 % of hours · provisional · year before: same days |
| September 2026 | too few readings | 21 | measured in 30 % of hours · provisional · 20 days without data from the station |
| August 2026 | 29.6 | 23 | measured in 97 % of hours · provisional |
| July 2026 | 21.6 | 20.7 | measured in 94 % of hours · provisional |
| June 2026 | 23.4 | 26.7 | measured in 93 % of hours · provisional · 1 day without data from the station |
| May 2026 | 21.5 | 17 | measured in 94 % of hours · provisional · 1 day without data from the station |
| April 2026 | 28.2 | 24.2 | measured in 79 % of hours · provisional · 4 days without data from the station |
| March 2026 | 54.8 | 37.5 | measured in 97 % of hours · provisional |
| February 2026 | 49.1 | 72.7 | measured in 99 % of hours · provisional |
| January 2026 | too few readings | 72.1 | measured in 11 % of hours · provisional · 27 days without data from the station |
| December 2025 | 75.2 | 53.8 | measured in 98 % of hours · verified |
| November 2025 | 52.3 | 62.8 | measured in 100 % of hours · verified |
PM10 by year
Yardstick: legal limits in the Federation of BiH (Pravilnik, Official Gazette FBiH 1/12, 50/19, 3/21)
| Measure | 2026* | 2025 | 2024 |
|---|---|---|---|
| Days above 50 µg/m³ (allowed 35) | ≥ 30² | 90 above the number allowed | 102 above the number allowed |
| Days above 150 µg/m³ (warning threshold FBiH) | 0 | 7 above the number allowed | 12 above the number allowed |
| Days above 300 µg/m³ (alert threshold FBiH) | 0 | 0 | 0 |
| Annual average, µg/m³ (legal limit 40) | too few | 40.1 above the number allowed | 46.3 above the number allowed |
| Highest daily average, µg/m³ | 120March 2 | 187January 22 | 214February 1 |
| Highest hourly value, µg/m³ | 359March 1 | 672December 18 | 420January 15 |
| Hours measured | 78 % | 95 % | 99 % |
| Days without any reading from the station | 53 | 14 | 0 |
* 2026 up to October 6; the average since the start of the year is not yet an annual average.
The monitoring networks have not yet finally verified this year’s data. The EEA publishes verified values once a year.
≥ means at least: more than a tenth of the days or hours are missing, so the real number may be higher.
² Too few readings to compare with the number allowed: the figure covers only what was measured.
We do not take the highest values from days on which the same unverified value repeats for hours. Those days are still counted.
Unverified hourly values of particulate matter from 975 µg/m³ up, and single spikes from 500 µg/m³ up between low values, count as missing. In the verified data for BiH from 2023 to 2025 no hour was above 600 µg/m³.
■ and a figure in red: more than is allowed for the whole year.
There is no allowed number for the warning and alert thresholds: every such hour or day is in red.
The column for 2023 is shown on wider screens.
The FHMZ lists this station as “Kakanj, Općina”. According to its 2025 report (p. 11), the Municipality of Kakanj installed a new permanent monitoring station on the municipal building in December 2024. The figures for years before 2025 were measured before that.
Compared with the new EU rules and the WHO recommendation
This is not the yardstick for the verdict above, only a comparison. From 2030 the EU tightens its limits (Directive (EU) 2024/2881), and since 2021 the World Health Organization has recommended even lower values.
- EU from 2030: daily 45 µg/m³, 18 days allowed. In 2026 there were 37 such days.
- WHO 2021: daily 45 µg/m³, at most three to four days a year. In 2026 there were 37 such days.
Sources: Directive (EU) 2024/2881, Annex I; WHO global air quality guidelines 2021, table 0.1. Checked against the texts on 7 October 2026.
The worst days of 2026
| Day | Average | Times the limit |
|---|---|---|
| Mar 2, 2026provisional | 120 | 2.4 × |
| Feb 3, 2026provisional | 94 | 1.9 × |
| Feb 6, 2026provisional | 85 | 1.7 × |
| Feb 9, 2026provisional | 80 | 1.6 × |
| Feb 24, 2026provisional | 79 | 1.6 × |
Daily average in µg/m³, daily limit 50 µg/m³. Days with the same unverified value over many hours are not on this list.
Nitrogen dioxide NO₂
28.5
Nowµg/m³
Measured at 21:00
30.4
Last 24 hoursµg/m³
measured in 92 % of hours · provisional
28.8
Last 7 daysµg/m³
measured in 100 % of hours · provisional
too few readings
Last 30 days
measured in 49 % of hours · provisional
too few readings
Last 12 months
measured in 55 % of hours · provisional
Days in 2026: NO₂, daily average above 85 µg/m³
No measured day above the limit. 53 days without any reading from the station.
- above the limit
- below the limit
- too few readings for the day
- no data from the station
Months of 2026
| Month | Days above 85 | Hours above 200 | Highest day | No readings |
|---|---|---|---|---|
| January | 0 | 0 | 24 | 27 |
| February | 0 | 0 | 33 | 0 |
| March | 0 | 0 | 29 | 0 |
| April | 0 | 0 | 22 | 4 |
| May | 0 | 0 | 22 | 1 |
| June | 0 | 0 | 31 | 1 |
| July | 0 | 0 | 17 | 0 |
| August | 0 | 0 | 21 | 0 |
| September | 0 | 0 | 28 | 20 |
| October up to yesterday | 0 | 0 | 35 | 0 |
Values in µg/m³. ■ marks a month with at least one day above the limit; the number allowed applies to the whole year. “No readings”: days on which not a single reading came from the station.
Values as a table
| Hour to | µg/m³ | Note |
|---|---|---|
| Wednesday, 10/7 | ||
| 22:00 | 21 | model estimate, not counted |
| 21:00 | 28.5 | |
| 20:00 | 40.5 | |
| 19:00 | 22.8 | |
| 18:00 | 26.6 | |
| 17:00 | 24.4 | |
| 16:00 | 45.8 | |
| 15:00 | 53.6 | |
| 14:00 | 30.3 | |
| 13:00 | 50.4 | |
| 12:00 | 54.7 | |
| 11:00 | 38.2 | |
| 10:00 | 28.7 | |
| 09:00 | 30 | |
| 08:00 | 30.2 | |
| 07:00 | 27.2 | |
| 06:00 | 17.8 | |
| 05:00 | 16 | |
| 04:00 | 16.7 | |
| 03:00 | 15.2 | |
| 02:00 | 17.8 | |
| 01:00 | 22.6 | |
| Tuesday, 10/6 | ||
| 00:00 | 31.7 | |
| 23:00 | 40.1 | |
| 22:00 | 39.8 | |
| 21:00 | 50 | |
| 20:00 | 52.6 | |
| 19:00 | 66.5 | |
| 18:00 | 43.5 | |
| 17:00 | 25.2 | |
| 16:00 | 44.4 | |
| 15:00 | 58.2 | |
| 14:00 | 45 | |
| 13:00 | 31.2 | |
| 12:00 | 48.2 | |
| 11:00 | 29.2 | |
| 10:00 | 32.6 | |
| 09:00 | 28.6 | |
| 08:00 | 25.1 | |
| 07:00 | 21.4 | |
| 06:00 | 14.1 | |
| 05:00 | 11.8 | |
| 04:00 | 12.2 | |
| 03:00 | 13.7 | |
| 02:00 | 17.2 | |
| 01:00 | 23.4 | |
| Monday, 10/5 | ||
| 00:00 | 33.7 | |
| 23:00 | 30.5 | |
| 22:00 | 33.2 | |
| 21:00 | 47.3 | |
| 20:00 | 51.6 | |
| 19:00 | 36.3 | |
| 18:00 | 22.4 | |
| 17:00 | 40.5 | |
| 16:00 | 72.3 | |
| 15:00 | 52.5 | |
| 14:00 | 69.3 | |
| 13:00 | 77.9 | |
| 12:00 | 41 | |
| 11:00 | 28.1 | |
| 10:00 | 38 | |
| 09:00 | 26.8 | |
| 08:00 | 24.8 | |
| 07:00 | 22.3 | |
| 06:00 | 16.8 | |
| 05:00 | 12.4 | |
| 04:00 | 12.9 | |
| 03:00 | 15.6 | |
| 02:00 | 17.1 | |
| 01:00 | 20.8 | |
| Sunday, 10/4 | ||
| 00:00 | 30.3 | |
| 23:00 | 37.6 | |
| 22:00 | 38.8 | |
| 21:00 | 37.9 | |
| 20:00 | 43.6 | |
| 19:00 | 22 | |
| 18:00 | 11.6 | |
| 17:00 | 15.5 | |
| 16:00 | 9.8 | |
| 15:00 | 22.9 | |
| 14:00 | 31.3 | |
| 13:00 | 54.2 | |
| 12:00 | 43.8 | |
| 11:00 | 13.1 | |
| 10:00 | 21.9 | |
| 09:00 | 18.4 | |
| 08:00 | 16 | |
| 07:00 | 16 | |
| 06:00 | 13.9 | |
| 05:00 | 13.3 | |
| 04:00 | 15.6 | |
| 03:00 | 16.7 | |
| 02:00 | 20.6 | |
| 01:00 | 27.3 | |
| Saturday, 10/3 | ||
| 00:00 | 37.3 | |
| 23:00 | 40.8 | |
| 22:00 | 43.5 | |
| 21:00 | 46 | |
| 20:00 | 43 | |
| 19:00 | 20.4 | |
| 18:00 | 23.2 | |
| 17:00 | 12.1 | |
| 16:00 | 17.5 | |
| 15:00 | 34.7 | |
| 14:00 | 37.1 | |
| 13:00 | 39.3 | |
| 12:00 | 22.3 | |
| 11:00 | 28.3 | |
| 10:00 | 28 | |
| 09:00 | 27.5 | |
| 08:00 | 24.3 | |
| 07:00 | 25.9 | |
| 06:00 | 27.5 | |
| 05:00 | 29.6 | |
| 04:00 | 33.4 | |
| 03:00 | 32.9 | |
| 02:00 | 25 | |
| 01:00 | 20.5 | |
| Friday, 10/2 | ||
| 00:00 | 33.8 | |
| 23:00 | 27.3 | |
| 22:00 | 28.9 | |
| 21:00 | 48.1 | |
| 20:00 | 52.5 | |
| 19:00 | 15.5 | |
| 18:00 | 9.8 | |
| 17:00 | 11.3 | |
| 16:00 | 16.1 | |
| 15:00 | 18.2 | |
| 14:00 | 33.6 | |
| 13:00 | 58.6 | |
| 12:00 | 54.6 | |
| 11:00 | 22.5 | |
| 10:00 | 26.7 | |
| 09:00 | 25.6 | |
| 08:00 | 21.5 | |
| 07:00 | 21 | |
| 06:00 | 18.9 | |
| 05:00 | 17.8 | |
| 04:00 | 20 | |
| 03:00 | 19.3 | |
| 02:00 | 17.6 | |
| 01:00 | 22.6 | |
| Thursday, 10/1 | ||
| 00:00 | 29.7 | |
| 23:00 | 30.9 | |
| 22:00 | 32.8 | |
| 21:00 | 36.6 | |
| 20:00 | 34 | |
| 19:00 | 16.6 | |
| 18:00 | 14.7 | |
| 17:00 | 14.9 | |
| 16:00 | 13.4 | |
| 15:00 | 13.2 | |
| 14:00 | 20.5 | |
| 13:00 | 43.1 | |
| 12:00 | 30.9 | |
| 11:00 | 31.1 | |
| 10:00 | 36.5 | |
| 09:00 | 29.3 | |
| 08:00 | 27.1 | |
| 07:00 | 26.9 | |
| 06:00 | 22.1 | |
| 05:00 | 20.1 | |
| 04:00 | 20.6 | |
| 03:00 | 16.7 | |
| 02:00 | 24.6 | |
| 01:00 | 21.8 | |
Values as a table
| Day | µg/m³ | Note |
|---|---|---|
| Tue, 10/6 | 33.6 | provisional |
| Mon, 10/5 | 35.2 | provisional |
| Sun, 10/4 | 24.7 | provisional |
| Sat, 10/3 | 30 | provisional |
| Fri, 10/2 | 26.7 | provisional |
| Thu, 10/1 | 25.3 | provisional |
| Wed, 9/30 | 26.1 | provisional |
| Tue, 9/29 | 28 | provisional |
| Mon, 9/28 | 26.8 | provisional |
| Sun, 9/27 | 24.1 | provisional |
| Sat, 9/26 | 18.4 | provisional |
| Fri, 9/25 | 16.8 | provisional |
| Thu, 9/24 | 26.4 | provisional |
| Wed, 9/23 | 16.2 | provisional |
| Tue, 9/22 | too few readings | |
| Mon, 9/21 | no data from the station | |
| Sun, 9/20 | no data from the station | |
| Sat, 9/19 | no data from the station | |
| Fri, 9/18 | no data from the station | |
| Thu, 9/17 | no data from the station | |
| Wed, 9/16 | no data from the station | |
| Tue, 9/15 | no data from the station | |
| Mon, 9/14 | no data from the station | |
| Sun, 9/13 | no data from the station | |
| Sat, 9/12 | no data from the station | |
| Fri, 9/11 | no data from the station | |
| Thu, 9/10 | no data from the station | |
| Wed, 9/9 | no data from the station | |
| Tue, 9/8 | no data from the station | |
| Mon, 9/7 | no data from the station |
Values as a table
| Month | µg/m³ | a year earlier | Note |
|---|---|---|---|
| October 2026 so far | 29.2 | measured in 100 % of hours · provisional | |
| September 2026 | too few readings | measured in 29 % of hours · provisional · 20 days without data from the station | |
| August 2026 | too few readings | measured in 71 % of hours · provisional | |
| July 2026 | 11.8 | measured in 85 % of hours · provisional | |
| June 2026 | 12.4 | measured in 86 % of hours · provisional · 1 day without data from the station | |
| May 2026 | 13.1 | measured in 89 % of hours · provisional · 1 day without data from the station | |
| April 2026 | 11.5 | measured in 76 % of hours · provisional · 4 days without data from the station | |
| March 2026 | 18.4 | measured in 99 % of hours · provisional | |
| February 2026 | 21.2 | measured in 97 % of hours · provisional | |
| January 2026 | too few readings | measured in 10 % of hours · provisional · 27 days without data from the station | |
| December 2025 | too few readings | 28.8 | |
| November 2025 | too few readings | 29.9 |
NO₂ by year
Yardstick: legal limits in the Federation of BiH (Pravilnik, Official Gazette FBiH 1/12, 50/19, 3/21)
| Measure | 2026* | 2024 | 2023 |
|---|---|---|---|
| Days above 85 µg/m³ (none allowed) | 0² | 0 | 0 |
| Hours above 200 µg/m³ (allowed 18) | 0² | 0 | 0 |
| Hours above 400 µg/m³, three hours in a row (alert threshold) | 0 | 0 | 0 |
| Annual average, µg/m³ (legal limit 40) | too few | 24.2 | 22.1 |
| Highest daily average, µg/m³ | 35October 5 | 68January 23 | 51January 6 |
| Highest hourly value, µg/m³ | 82August 6 | 107January 23 | 102October 7 |
| Hours measured | 72 % | 100 % | 99 % |
| Days without any reading from the station | 53 | 0 | 0 |
* 2026 up to October 6; the average since the start of the year is not yet an annual average.
The monitoring networks have not yet finally verified this year’s data. The EEA publishes verified values once a year.
² Too few readings to compare with the number allowed: the figure covers only what was measured.
■ and a figure in red: more than is allowed for the whole year.
There is no allowed number for the warning and alert thresholds: every such hour or day is in red.
The FHMZ lists this station as “Kakanj, Općina”. According to its 2025 report (p. 11), the Municipality of Kakanj installed a new permanent monitoring station on the municipal building in December 2024. The figures for years before 2025 were measured before that.
Compared with the new EU rules and the WHO recommendation
This is not the yardstick for the verdict above, only a comparison. From 2030 the EU tightens its limits (Directive (EU) 2024/2881), and since 2021 the World Health Organization has recommended even lower values.
- EU from 2030: daily 50 µg/m³, 18 days allowed. In 2026 there were 0 such days.
- WHO 2021: daily 25 µg/m³, at most three to four days a year. In 2026 there were 25 such days.
Sources: Directive (EU) 2024/2881, Annex I; WHO global air quality guidelines 2021, table 0.1. Checked against the texts on 7 October 2026.
Ozone O₃
37.6
Nowµg/m³
Measured at 21:00
34.6
Last 24 hoursµg/m³
measured in 92 % of hours · provisional
33.2
Last 7 daysµg/m³
measured in 100 % of hours · provisional
too few readings
Last 30 days
measured in 49 % of hours · provisional
too few readings
Last 12 months
measured in 4 % of hours · provisional
Days in 2026: O₃, 8-hour average above 120 µg/m³
No measured day above the limit. 53 days without any reading from the station.
- above the limit
- below the limit
- too few readings for the day
- no O₃ data in the EEA database
- no data from the station
Months of 2026
| Month | Days above 120 | Highest 8 h | No readings |
|---|---|---|---|
| January | 27 | ||
| February | 0 | ||
| March | 0 | ||
| April | 4 | ||
| May | 1 | ||
| June | 1 | ||
| July | 0 | ||
| August | 0 | 0 | |
| September | 0 | 46 | 20 |
| October up to yesterday | 0 | 44 | 0 |
Values in µg/m³. ■ marks a month with at least one day above the limit; the number allowed applies to the whole year. “No readings”: days on which not a single reading came from the station.
Values as a table
| Hour to | µg/m³ | Note |
|---|---|---|
| Wednesday, 10/7 | ||
| 22:00 | 40 | model estimate, not counted |
| 21:00 | 37.6 | |
| 20:00 | 39.8 | |
| 19:00 | 43.6 | |
| 18:00 | 45.5 | |
| 17:00 | 47.7 | |
| 16:00 | 48.2 | |
| 15:00 | 47.4 | |
| 14:00 | 45.7 | |
| 13:00 | 44.5 | |
| 12:00 | 40.6 | |
| 11:00 | 37.4 | |
| 10:00 | 31.6 | |
| 09:00 | 27.1 | |
| 08:00 | 23.5 | |
| 07:00 | 22.9 | |
| 06:00 | 23.2 | |
| 05:00 | 23.9 | |
| 04:00 | 24.6 | |
| 03:00 | 25.5 | |
| 02:00 | 26.6 | |
| 01:00 | 27.5 | |
| Tuesday, 10/6 | ||
| 00:00 | 27.7 | |
| 23:00 | 28.9 | |
| 22:00 | 30.8 | |
| 21:00 | 32.1 | |
| 20:00 | 34.4 | |
| 19:00 | 38.3 | |
| 18:00 | 45.6 | |
| 17:00 | 48 | |
| 16:00 | 47.1 | |
| 15:00 | 46.3 | |
| 14:00 | 44.1 | |
| 13:00 | 41.4 | |
| 12:00 | 38.3 | |
| 11:00 | 34.8 | |
| 10:00 | 28 | |
| 09:00 | 24.1 | |
| 08:00 | 22.4 | |
| 07:00 | 23.2 | |
| 06:00 | 23.5 | |
| 05:00 | 24.3 | |
| 04:00 | 25.3 | |
| 03:00 | 26.4 | |
| 02:00 | 27.1 | |
| 01:00 | 28.3 | |
| Monday, 10/5 | ||
| 00:00 | 28.9 | |
| 23:00 | 30.3 | |
| 22:00 | 33 | |
| 21:00 | 33.3 | |
| 20:00 | 36.2 | |
| 19:00 | 41 | |
| 18:00 | 44.9 | |
| 17:00 | 46.9 | |
| 16:00 | 45.8 | |
| 15:00 | 44.5 | |
| 14:00 | 43.4 | |
| 13:00 | 40.2 | |
| 12:00 | 37.5 | |
| 11:00 | 33.7 | |
| 10:00 | 27 | |
| 09:00 | 23.2 | |
| 08:00 | 21.9 | |
| 07:00 | 21.6 | |
| 06:00 | 22.1 | |
| 05:00 | 22.7 | |
| 04:00 | 24.2 | |
| 03:00 | 24.8 | |
| 02:00 | 25.8 | |
| 01:00 | 26.7 | |
| Sunday, 10/4 | ||
| 00:00 | 28.2 | |
| 23:00 | 28.7 | |
| 22:00 | 30.8 | |
| 21:00 | 32.1 | |
| 20:00 | 36.7 | |
| 19:00 | 41.8 | |
| 18:00 | 44.9 | |
| 17:00 | 47 | |
| 16:00 | 46.2 | |
| 15:00 | 45.4 | |
| 14:00 | 42.9 | |
| 13:00 | 41.1 | |
| 12:00 | 38.5 | |
| 11:00 | 33.3 | |
| 10:00 | 26.1 | |
| 09:00 | 22.9 | |
| 08:00 | 22.3 | |
| 07:00 | 22.2 | |
| 06:00 | 23.2 | |
| 05:00 | 22.9 | |
| 04:00 | 23.9 | |
| 03:00 | 24.6 | |
| 02:00 | 25.9 | |
| 01:00 | 26.5 | |
| Saturday, 10/3 | ||
| 00:00 | 27.5 | |
| 23:00 | 28.7 | |
| 22:00 | 30.8 | |
| 21:00 | 32.6 | |
| 20:00 | 36.7 | |
| 19:00 | 41.7 | |
| 18:00 | 44.4 | |
| 17:00 | 45.9 | |
| 16:00 | 45.9 | |
| 15:00 | 45.3 | |
| 14:00 | 44.5 | |
| 13:00 | 41.6 | |
| 12:00 | 39.1 | |
| 11:00 | 35 | |
| 10:00 | 28.7 | |
| 09:00 | 24.5 | |
| 08:00 | 22.6 | |
| 07:00 | 21.8 | |
| 06:00 | 22.3 | |
| 05:00 | 23 | |
| 04:00 | 23.3 | |
| 03:00 | 24.2 | |
| 02:00 | 26 | |
| 01:00 | 27.4 | |
| Friday, 10/2 | ||
| 00:00 | 28.4 | |
| 23:00 | 29.8 | |
| 22:00 | 32.4 | |
| 21:00 | 32.7 | |
| 20:00 | 36.8 | |
| 19:00 | 41.9 | |
| 18:00 | 43.8 | |
| 17:00 | 46 | |
| 16:00 | 46.7 | |
| 15:00 | 45.4 | |
| 14:00 | 44 | |
| 13:00 | 41.5 | |
| 12:00 | 38.7 | |
| 11:00 | 35.5 | |
| 10:00 | 28.7 | |
| 09:00 | 24 | |
| 08:00 | 22.6 | |
| 07:00 | 21.8 | |
| 06:00 | 23.2 | |
| 05:00 | 23.4 | |
| 04:00 | 24 | |
| 03:00 | 25.6 | |
| 02:00 | 27 | |
| 01:00 | 27.5 | |
| Thursday, 10/1 | ||
| 00:00 | 28.1 | |
| 23:00 | 29.9 | |
| 22:00 | 32 | |
| 21:00 | 33.7 | |
| 20:00 | 38.3 | |
| 19:00 | 42.6 | |
| 18:00 | 45 | |
| 17:00 | 46.7 | |
| 16:00 | 47 | |
| 15:00 | 46.3 | |
| 14:00 | 44.3 | |
| 13:00 | 42.6 | |
| 12:00 | 39.6 | |
| 11:00 | 35.8 | |
| 10:00 | 27.6 | |
| 09:00 | 26.3 | |
| 08:00 | 25.1 | |
| 07:00 | 24.4 | |
| 06:00 | 24.5 | |
| 05:00 | 25.2 | |
| 04:00 | 25.9 | |
| 03:00 | 27.6 | |
| 02:00 | 28 | |
| 01:00 | 29.3 | |
Values as a table
| Day | µg/m³ | Note |
|---|---|---|
| Tue, 10/6 | 43.6 | provisional |
| Mon, 10/5 | 43 | provisional |
| Sun, 10/4 | 43.5 | provisional |
| Sat, 10/3 | 43.5 | provisional |
| Fri, 10/2 | 43.5 | provisional |
| Thu, 10/1 | 44.3 | provisional |
| Wed, 9/30 | 45.7 | provisional |
| Tue, 9/29 | 44.1 | provisional |
| Mon, 9/28 | 45.5 | provisional |
| Sun, 9/27 | 41.3 | provisional |
| Sat, 9/26 | 39.8 | provisional |
| Fri, 9/25 | 36.8 | provisional |
| Thu, 9/24 | 42 | provisional |
| Wed, 9/23 | 38.9 | provisional |
| Tue, 9/22 | too few readings | |
| Mon, 9/21 | no data from the station | |
| Sun, 9/20 | no data from the station | |
| Sat, 9/19 | no data from the station | |
| Fri, 9/18 | no data from the station | |
| Thu, 9/17 | no data from the station | |
| Wed, 9/16 | no data from the station | |
| Tue, 9/15 | no data from the station | |
| Mon, 9/14 | no data from the station | |
| Sun, 9/13 | no data from the station | |
| Sat, 9/12 | no data from the station | |
| Fri, 9/11 | no data from the station | |
| Thu, 9/10 | no data from the station | |
| Wed, 9/9 | no data from the station | |
| Tue, 9/8 | no data from the station | |
| Mon, 9/7 | no data from the station |
Values as a table
| Month | µg/m³ | a year earlier | Note |
|---|---|---|---|
| October 2026 so far | 32.9 | measured in 100 % of hours · provisional | |
| September 2026 | too few readings | measured in 30 % of hours · provisional · 20 days without data from the station | |
| August 2026 | too few readings | measured in 2 % of hours · provisional | |
| July 2026 | too few readings | ||
| June 2026 | too few readings | 1 day without data from the station | |
| May 2026 | too few readings | 1 day without data from the station | |
| April 2026 | too few readings | 4 days without data from the station | |
| March 2026 | too few readings | ||
| February 2026 | too few readings | ||
| January 2026 | too few readings | 27 days without data from the station | |
| December 2025 | too few readings | ||
| November 2025 | too few readings |
O₃ by year
Yardstick: legal limits in the Federation of BiH (Pravilnik, Official Gazette FBiH 1/12, 50/19, 3/21)
| Measure | 2026* |
|---|---|
| Days with 8-hour average above 120 µg/m³ (target value 25) | 0² |
| Annual average, µg/m³ | too few |
| Highest 8-hour average, µg/m³ | 46September 30 |
| Hours measured | 6 % |
| Days without any reading from the station | 53 |
* 2026 up to October 6; the average since the start of the year is not yet an annual average.
The monitoring networks have not yet finally verified this year’s data. The EEA publishes verified values once a year.
² Too few readings to compare with the number allowed: the figure covers only what was measured.
■ and a figure in red: more than is allowed for the whole year.
Sulphur dioxide SO₂
54.4
Nowµg/m³
Measured at 21:00
129.1
Last 24 hoursµg/m³
measured in 92 % of hours · provisional
109.8
Last 7 daysµg/m³
measured in 100 % of hours · provisional
too few readings
Last 30 days
measured in 49 % of hours · provisional
too few readings
Last 12 months
measured in 81 % of hours · 2 months with too few readings · provisional
Days in 2026: SO₂, daily average above 125 µg/m³
49 days above the limit. 53 days without any reading from the station.
- above the limit
- below the limit
- too few readings for the day
- no data from the station
Days above the limit with values (49)
- Feb 2 196
- Feb 3 169
- Feb 6 130
- Feb 7 131
- Feb 8 215
- Feb 9 169
- Feb 10 211
- Feb 12 151
- Feb 14 160
- Feb 16 132
- Feb 18 157
- Feb 19 154
- Feb 23 165
- Feb 24 137
- Feb 27 184
- Mar 1 282
- Mar 2 157
- Mar 6 156
- Mar 11 141
- Mar 13 178
- Mar 22 152
- Mar 25 236
- Apr 19 154
- Apr 25 138
- Apr 28 152
- May 4 131
- May 10 125
- May 30 134
- Jun 16 173
- Jun 20 209
- Jun 28 179
- Jun 29 192
- Jun 30 135
- Jul 6 168
- Jul 14 192
- Jul 19 146
- Jul 23 145
- Jul 25 149
- Jul 29 158
- Jul 30 154
- Aug 2 145
- Aug 3 148
- Aug 5 138
- Aug 6 139
- Aug 10 130
- Aug 15 130
- Aug 31 130
- Sep 28 138
- Oct 5 248
Values in µg/m³, limit 125 µg/m³.
Months of 2026
| Month | Days above 125 | Hours above 350 | Highest day | No readings |
|---|---|---|---|---|
| January | 0 | 0 | 95 | 27 |
| February | 15 above the number allowed | 21 | 215 | 0 |
| March | 7 above the number allowed | 20 | 282 | 0 |
| April | 3 above the number allowed | 14 | 154 | 4 |
| May | 3 above the number allowed | 9 | 134 | 1 |
| June | 5 above the number allowed | 29 | 209 | 1 |
| July | 7 above the number allowed | 30 | 192 | 0 |
| August | 7 above the number allowed | 30 | 148 | 0 |
| September | 1 above the number allowed | 9 | 138 | 20 |
| October up to yesterday | 1 above the number allowed | 11 | 248 | 0 |
Values in µg/m³. ■ marks a month with at least one day above the limit; the number allowed applies to the whole year. “No readings”: days on which not a single reading came from the station.
Values as a table
| Hour to | µg/m³ | Note |
|---|---|---|
| Wednesday, 10/7 | ||
| 21:00 | 54.4 | |
| 20:00 | 57.2 | |
| 19:00 | 27.2 | |
| 18:00 | 27.8 | |
| 17:00 | 52.5 | |
| 16:00 | 461.6 | above the limit |
| 15:00 | 753.2 | above the limit |
| 14:00 | 341 | |
| 13:00 | 683.1 | above the limit |
| 12:00 | 36.8 | |
| 11:00 | 30 | |
| 10:00 | 28.1 | |
| 09:00 | 28 | |
| 08:00 | 24.4 | |
| 07:00 | 23.2 | |
| 06:00 | 24 | |
| 05:00 | 24.8 | |
| 04:00 | 26.2 | |
| 03:00 | 28.9 | |
| 02:00 | 31.5 | |
| 01:00 | 36.9 | |
| Tuesday, 10/6 | ||
| 00:00 | 39.4 | |
| 23:00 | 42.1 | |
| 22:00 | 52.4 | |
| 21:00 | 57.4 | |
| 20:00 | 54.6 | |
| 19:00 | 48.8 | |
| 18:00 | 38.6 | |
| 17:00 | 96.6 | |
| 16:00 | 221.4 | |
| 15:00 | 333.8 | |
| 14:00 | 301 | |
| 13:00 | 142.5 | |
| 12:00 | 140.9 | |
| 11:00 | 81.5 | |
| 10:00 | 29.2 | |
| 09:00 | 24.1 | |
| 08:00 | 23.5 | |
| 07:00 | 24.3 | |
| 06:00 | 24.6 | |
| 05:00 | 26 | |
| 04:00 | 27.6 | |
| 03:00 | 31.1 | |
| 02:00 | 34.1 | |
| 01:00 | 38.3 | |
| Monday, 10/5 | ||
| 00:00 | 46.6 | |
| 23:00 | 53 | |
| 22:00 | 63.8 | |
| 21:00 | 54.3 | |
| 20:00 | 46.9 | |
| 19:00 | 45 | |
| 18:00 | 50 | |
| 17:00 | 299.2 | |
| 16:00 | 1,161.5 | above the limit |
| 15:00 | 623.5 | above the limit |
| 14:00 | 1,361 | above the limit |
| 13:00 | 1,557.8 | above the limit |
| 12:00 | 275.8 | |
| 11:00 | 52.3 | |
| 10:00 | 34.9 | |
| 09:00 | 22.8 | |
| 08:00 | 21.7 | |
| 07:00 | 21.9 | |
| 06:00 | 22.5 | |
| 05:00 | 23.8 | |
| 04:00 | 25.4 | |
| 03:00 | 26.8 | |
| 02:00 | 30 | |
| 01:00 | 32 | |
| Sunday, 10/4 | ||
| 00:00 | 38.7 | |
| 23:00 | 42.6 | |
| 22:00 | 46.7 | |
| 21:00 | 42.6 | |
| 20:00 | 40.5 | |
| 19:00 | 41.1 | |
| 18:00 | 39.8 | |
| 17:00 | 67.4 | |
| 16:00 | 47.5 | |
| 15:00 | 143.8 | |
| 14:00 | 365.1 | above the limit |
| 13:00 | 962.9 | above the limit |
| 12:00 | 655.9 | above the limit |
| 11:00 | 36.7 | |
| 10:00 | 24.2 | |
| 09:00 | 20.5 | |
| 08:00 | 19.5 | |
| 07:00 | 20 | |
| 06:00 | 21.2 | |
| 05:00 | 21.9 | |
| 04:00 | 23.4 | |
| 03:00 | 24.5 | |
| 02:00 | 26.4 | |
| 01:00 | 30.6 | |
| Saturday, 10/3 | ||
| 00:00 | 34.7 | |
| 23:00 | 37.6 | |
| 22:00 | 34.2 | |
| 21:00 | 30.8 | |
| 20:00 | 27.6 | |
| 19:00 | 25.6 | |
| 18:00 | 20.5 | |
| 17:00 | 34.1 | |
| 16:00 | 130.6 | |
| 15:00 | 199.9 | |
| 14:00 | 241.5 | |
| 13:00 | 641.1 | above the limit |
| 12:00 | 132.9 | |
| 11:00 | 177.6 | |
| 10:00 | 26.7 | |
| 09:00 | 26.1 | |
| 08:00 | 19.4 | |
| 07:00 | 18.9 | |
| 06:00 | 19.6 | |
| 05:00 | 20.6 | |
| 04:00 | 21.9 | |
| 03:00 | 24.4 | |
| 02:00 | 25.6 | |
| 01:00 | 27.7 | |
| Friday, 10/2 | ||
| 00:00 | 30.5 | |
| 23:00 | 32 | |
| 22:00 | 37.3 | |
| 21:00 | 29.8 | |
| 20:00 | 27.1 | |
| 19:00 | 20.5 | |
| 18:00 | 18.6 | |
| 17:00 | 18.2 | |
| 16:00 | 42.8 | |
| 15:00 | 107.5 | |
| 14:00 | 326.4 | |
| 13:00 | 873.7 | above the limit |
| 12:00 | 627.5 | above the limit |
| 11:00 | 154.6 | |
| 10:00 | 21.7 | |
| 09:00 | 18.7 | |
| 08:00 | 18.4 | |
| 07:00 | 18 | |
| 06:00 | 19 | |
| 05:00 | 20.3 | |
| 04:00 | 21.2 | |
| 03:00 | 22.8 | |
| 02:00 | 23.1 | |
| 01:00 | 25.8 | |
| Thursday, 10/1 | ||
| 00:00 | 28 | |
| 23:00 | 36.2 | |
| 22:00 | 36.8 | |
| 21:00 | 27.8 | |
| 20:00 | 25.8 | |
| 19:00 | 21.4 | |
| 18:00 | 18.8 | |
| 17:00 | 31 | |
| 16:00 | 51.3 | |
| 15:00 | 58.1 | |
| 14:00 | 89.4 | |
| 13:00 | 527.8 | above the limit |
| 12:00 | 209.8 | |
| 11:00 | 40.1 | |
| 10:00 | 18.8 | |
| 09:00 | 17.6 | |
| 08:00 | 17 | |
| 07:00 | 17 | |
| 06:00 | 17.4 | |
| 05:00 | 17.8 | |
| 04:00 | 18.3 | |
| 03:00 | 19.1 | |
| 02:00 | 19.9 | |
| 01:00 | 21.1 | |
Values as a table
| Day | µg/m³ | Note |
|---|---|---|
| Tue, 10/6 | 80.6 | provisional |
| Mon, 10/5 | 248 | above the limit · provisional |
| Sun, 10/4 | 116.8 | provisional |
| Sat, 10/3 | 83.3 | provisional |
| Fri, 10/2 | 106.5 | provisional |
| Thu, 10/1 | 57.8 | provisional |
| Wed, 9/30 | 75.8 | provisional |
| Tue, 9/29 | 46.7 | provisional |
| Mon, 9/28 | 138.1 | above the limit · provisional |
| Sun, 9/27 | 110.6 | provisional |
| Sat, 9/26 | 19 | provisional |
| Fri, 9/25 | 17.2 | provisional |
| Thu, 9/24 | 61.8 | provisional |
| Wed, 9/23 | 30 | provisional |
| Tue, 9/22 | too few readings | |
| Mon, 9/21 | no data from the station | |
| Sun, 9/20 | no data from the station | |
| Sat, 9/19 | no data from the station | |
| Fri, 9/18 | no data from the station | |
| Thu, 9/17 | no data from the station | |
| Wed, 9/16 | no data from the station | |
| Tue, 9/15 | no data from the station | |
| Mon, 9/14 | no data from the station | |
| Sun, 9/13 | no data from the station | |
| Sat, 9/12 | no data from the station | |
| Fri, 9/11 | no data from the station | |
| Thu, 9/10 | no data from the station | |
| Wed, 9/9 | no data from the station | |
| Tue, 9/8 | no data from the station | |
| Mon, 9/7 | no data from the station |
Values as a table
| Month | µg/m³ | a year earlier | Note |
|---|---|---|---|
| October 2026 so far | 115.5 | too few readings | measured in 100 % of hours · provisional · year before: same days |
| September 2026 | too few readings | 109.2 | measured in 30 % of hours · provisional · 20 days without data from the station |
| August 2026 | 89.9 | 172.7 | measured in 97 % of hours · provisional |
| July 2026 | 92.1 | 122.3 | measured in 94 % of hours · provisional |
| June 2026 | 91.1 | 75.5 | measured in 93 % of hours · provisional · 1 day without data from the station |
| May 2026 | 77.5 | 34.8 | measured in 94 % of hours · provisional · 1 day without data from the station |
| April 2026 | 88.9 | 67.5 | measured in 79 % of hours · provisional · 4 days without data from the station |
| March 2026 | 112.4 | 104.3 | measured in 100 % of hours · provisional |
| February 2026 | 133.5 | 163.5 | measured in 100 % of hours · provisional |
| January 2026 | too few readings | 172.6 | measured in 11 % of hours · provisional · 27 days without data from the station |
| December 2025 | 214.3 | measured in 100 % of hours · verified | |
| November 2025 | 314.9 | measured in 100 % of hours · verified |
SO₂ by year
Yardstick: legal limits in the Federation of BiH (Pravilnik, Official Gazette FBiH 1/12, 50/19, 3/21)
| Measure | 2026* | 2025 | 2023 |
|---|---|---|---|
| Days above 125 µg/m³ (allowed 3) | ≥ 49 above the number allowed | 133 above the number allowed | 15 above the number allowed |
| Hours above 350 µg/m³ (allowed 24) | ≥ 173 above the number allowed | 761 above the number allowed | 0 |
| Hours above 500 µg/m³, three hours in a row (alert threshold) | ≥ 32 above the number allowed | 366 above the number allowed | 0 |
| Annual average, µg/m³ (legal limit 50) | too few | 142.4 above the number allowed | 49.2 |
| Highest daily average, µg/m³ | 282March 1 | 1,200November 14 | 189January 7 |
| Highest hourly value, µg/m³ | 1,795April 28 | 3,955November 5 | 335January 7 |
| Hours measured | 78 % | 95 % | 97 % |
| Days without any reading from the station | 53 | 14 | 0 |
* 2026 up to October 6; the average since the start of the year is not yet an annual average.
The monitoring networks have not yet finally verified this year’s data. The EEA publishes verified values once a year.
≥ means at least: more than a tenth of the days or hours are missing, so the real number may be higher.
■ and a figure in red: more than is allowed for the whole year.
There is no allowed number for the warning and alert thresholds: every such hour or day is in red.
The FHMZ lists this station as “Kakanj, Općina”. According to its 2025 report (p. 11), the Municipality of Kakanj installed a new permanent monitoring station on the municipal building in December 2024. The figures for years before 2025 were measured before that.
Compared with the new EU rules and the WHO recommendation
This is not the yardstick for the verdict above, only a comparison. From 2030 the EU tightens its limits (Directive (EU) 2024/2881), and since 2021 the World Health Organization has recommended even lower values.
- EU from 2030: daily 50 µg/m³, 18 days allowed. In 2026 there were 191 such days.
- WHO 2021: daily 40 µg/m³, at most three to four days a year. In 2026 there were 205 such days.
Sources: Directive (EU) 2024/2881, Annex I; WHO global air quality guidelines 2021, table 0.1. Checked against the texts on 7 October 2026.
The worst days of 2026
| Day | Average | Times the limit |
|---|---|---|
| Mar 1, 2026provisional | 282 | 2.3 × |
| Oct 5, 2026provisional | 248 | 2.0 × |
| Mar 25, 2026provisional | 236 | 1.9 × |
| Feb 8, 2026provisional | 215 | 1.7 × |
| Feb 10, 2026provisional | 211 | 1.7 × |
Daily average in µg/m³, daily limit 125 µg/m³. Days with the same unverified value over many hours are not on this list.
Outages in the last 12 months
Every period of at least 24 hours in which no reading arrived from this station.
Days without a reading: 66
8 outages, 1,583 hours in total in the last 12 months.
Timeline of outages from October 7, 2025 to today
| From | To | Duration |
|---|---|---|
| Sep 1, 2026 08:00 | Sep 22, 2026 09:00 | 21 days |
| Jul 1, 2026 09:00 | Jul 2, 2026 09:00 | 24 hours |
| Jun 9, 2026 05:00 | Jun 11, 2026 11:00 | 2 days |
| May 23, 2026 00:00 | May 24, 2026 08:00 | 32 hours |
| Apr 10, 2026 04:00 | Apr 13, 2026 11:00 | 3 days |
| Apr 4, 2026 12:00 | Apr 7, 2026 09:00 | 3 days |
| Jan 1, 2026 00:00 | Jan 28, 2026 14:00 | 28 days |
| Oct 1, 2025 17:00 | Oct 14, 2025 14:00 | 13 days |
Calculated from the hourly values the EEA publishes. If late values arrive afterwards, an outage gets shorter or disappears.
Who is responsible
Air quality in the Federation of BiH is monitored by three networks of stations: the federal, the cantonal and the municipal one (Air Protection Act, Official Gazette FBiH 72/24, Art. 12 to 16).
- Federal Hydrometeorological Institute (FHMZ)
- Runs the federal network, collects the data of all networks and publishes it. It issues a report every month and, every year by 31 July, the annual air quality report (Art. 14, 19 and 63).
- Canton
- Sets up the cantonal network and is responsible for the measures. When limit values are exceeded, it adopts an air quality plan. When warning or alert thresholds are at risk of being exceeded, it adopts a short-term intervention plan. When the information threshold or a concentration dangerous to health is exceeded, it informs the public (Art. 15, 22, 25, 27 and 61). In Zenica-Doboj Canton the Ministry of Physical Planning, Transport, Communications and Environmental Protection is responsible for environmental protection. The 2024 intervention plan was adopted by the Government of the canton.
- Municipality
- May run its own stations with the consent of the canton and must publish their results (Art. 16 and 17). Under the Zenica-Doboj Canton intervention plan (Official Gazette ZDK 3/24, Art. 3), the mayor of the municipality or city declares readiness based on the report of the authorised expert institution, and warning and alert based on the decision of the operational headquarters.
- Inspectorates
- The inspectorates of the Federation, the canton and the municipality supervise the law and the measures, each within its remit (Art. 71).
What the law requires when a limit is exceeded
A limit value is not a recommendation. The deadline for meeting the limit values for sulphur dioxide, nitrogen dioxide and particulate matter expired on 1 January 2021. Since then only the number of exceedances that the Pravilnik allows applies (Official Gazette FBiH 1/12, Annex X). The Air Protection Act adds that limit values, once met, must not be exceeded again (Art. 5(4)).
The law allows: for PM10 at most 35 days a year above 50 µg/m³, for sulphur dioxide at most 24 hours above 350 µg/m³ and at most 3 days above 125 µg/m³, for nitrogen dioxide at most 18 hours above 200 µg/m³ and no day with a daily average above 85 µg/m³ (Annex X).
When limits are exceeded, the canton adopts an air quality plan with measures that shorten the period of exceedance. The plan is published within eight days of adoption (Art. 8, 25, 26 and 63).
The alert thresholds are 500 µg/m³ for sulphur dioxide and 400 µg/m³ for nitrogen dioxide over three hours in a row, and 300 µg/m³ for PM10 and 280 µg/m³ for PM2.5 as a daily average (Pravilnik, Annex XIV, amended in Official Gazette FBiH 3/21). When such a situation threatens, the canton must have a short-term intervention plan. It can restrict traffic, construction work, the operation of plants and heating (Art. 27 and 28).
When the information threshold or a concentration dangerous to health is exceeded, the competent cantonal authorities inform the public through radio, television, newspapers and the internet: where, since when, how much was measured, what is expected and how to protect oneself (Art. 61 and 62).
In Zenica-Doboj Canton the procedure is set by the intervention plan (Official Gazette ZDK 3/24) in three stages: readiness, warning and alert. An alert also requires a forecast of stable weather for the next 48 hours.
The canton also has an Action Plan for Air Quality Protection from 2020 (Official Gazette ZDK 9/20), adopted under the earlier law. We could not tell from the published decision how long it applies.
The limit values in BiH match the EU rules of 2008. Since 2021 the World Health Organization has recommended much lower values, for PM10 45 µg/m³ a day and 15 µg/m³ a year. From 2030 the EU lowers the annual PM10 limit to 20 µg/m³ (Directive (EU) 2024/2881).
We checked the rules against the published texts on 7 October 2026.
Where the data comes from
Measured by Federal Hydrometeorological Institute. We take the values from the European Environment Agency (EEA) under the CC BY 4.0 licence.
Values marked provisional have not been fully checked by the network yet. The EEA publishes verified data for the previous year once a year, usually by the end of September.
An hourly value is the average of one hour. We show the end of the hour: the value to 18:00 was measured from 17:00 to 18:00.
A day runs from midnight to midnight local time.
We only show an average when at least three out of four hours in the period have a reading. The EU air quality directive requires this for daily averages, and we apply the same rule to longer periods. We compare an annual average with the EU limit only once 90 % of hours are measured, as the directive requires. For 12 months and for a year we ask for more: if less than 90 % of hours are measured, every full calendar month needs readings for at least half of its hours. Otherwise a whole season could be missing from the average, such as summer, when ozone is highest.
We do not call a difference of up to 10 % a change, nor one of up to 1 µg/m³ at low levels, because weather and measurement uncertainty alone cause differences that size.
When a station sends no reading, the EEA sometimes fills the hour with a model estimate. We draw those hours dashed and leave them out of every average.
The limits are the legal limits of the Federation of BiH (Pravilnik, Official Gazette FBiH 1/12, 50/19 and 3/21, Annexes X and XIV). They match EU Directive 2008/50/EC. When more than a tenth of the days or hours are missing, the number of exceedances can only be higher, so we write “at least” in front of it.
Other stations in Kakanj
samoEKO is a brand of samoLabs, Juelich.