Skip to content

Air at the Visoko station

Visoko, Zenica-Doboj Canton · Federation of Bosnia and Herzegovina

Network: Federal Hydrometeorological Institute · Station code: BA0055A

This year, up to yesterday (October 6)

at least

45 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 42 days more than allowed

at least

293 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 269 hours more than allowed

Worst day: January 22, 2026, SO₂ 595 µg/m³ as a daily average, 4.8 times the limit.

SO₂ was above the alert threshold of 500 µg/m³ for at least 73 hours, three or more hours in a row (on 9 days).

At least 2 days with a daily average of PM10 above 300 µg/m³, the alert threshold in the Federation of BiH.

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 57 days above the legal daily limit for PM10 of 50 µg/m³ (35 allowed).

Also: at least 17 days with an 8-hour average of ozone (O₃) above the target value of 120 µg/m³.

Daily average for 184 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)

All figures by year and month

Poor

Air now · Measured at 15:00

Latest values

Latest value: 15:00

Readings
PollutantValueLevel
PM1023.7 µg/m³Fair
O₃138 µg/m³Poor

How the air is changing

Over the last seven days there was more PM10 and O₃ in the air than the week before.

  • PM10: average 33.1 µg/m³, week before 23.5 µg/m³
  • O₃: average 42.8 µg/m³, week before 33.7 µg/m³
  • SO₂: too few readings to compare

There are not enough readings to compare with the month before.

  • PM10: too few readings to compare
  • O₃: too few readings to compare
  • SO₂: too few readings to compare

Show

Ozone O₃

138

Nowµg/m³

Measured at 15:00

41.5

Last 24 hoursµg/m³

measured in 92 % of hours · provisional

42.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 77 % of hours · 2 months with too few readings · provisional

Days in 2026: O₃, 8-hour average above 120 µg/m³

17 days above the limit. 27 days without any reading from the station.

1102031JanJan 10: no data from the stationJan 27: no data from the stationFebMarMar 15: 124 µg/m³, above the limitMar 16: 122 µg/m³, above the limitAprApr 5: no data from the stationApr 6: no data from the stationApr 11: no data from the stationApr 12: no data from the stationApr 25: 127 µg/m³, above the limitApr 26: 124 µg/m³, above the limitMayJunJun 10: no data from the stationJun 26: 151 µg/m³, above the limitJun 27: 154 µg/m³, above the limitJun 28: 129 µg/m³, above the limitJun 29: 126 µg/m³, above the limitJulJul 30: 121 µg/m³, above the limitJul 31: 121 µg/m³, above the limitAugAug 1: 125 µg/m³, above the limitAug 5: 124 µg/m³, above the limitAug 6: 123 µg/m³, above the limitAug 7: 135 µg/m³, above the limitAug 11: 131 µg/m³, above the limitAug 20: 126 µg/m³, above the limitAug 21: 134 µg/m³, above the limitSepSep 2: no data from the stationSep 3: no data from the stationSep 4: no data from the stationSep 5: no data from the stationSep 6: no data from the stationSep 7: no data from the stationSep 8: no data from the stationSep 9: no data from the stationSep 10: no data from the stationSep 11: no data from the stationSep 12: no data from the stationSep 13: no data from the stationSep 14: no data from the stationSep 15: no data from the stationSep 16: no data from the stationSep 17: no data from the stationSep 18: no data from the stationSep 19: no data from the stationSep 20: no data from the stationSep 21: no data from the stationOctNovDec
  • above the limit
  • below the limit
  • too few readings for the day
  • no data from the station
Days above the limit with values (17)
  1. Mar 15 124
  2. Mar 16 122
  3. Apr 25 127
  4. Apr 26 124
  5. Jun 26 151
  6. Jun 27 154
  7. Jun 28 129
  8. Jun 29 126
  9. Jul 30 121
  10. Jul 31 121
  11. Aug 1 125
  12. Aug 5 124
  13. Aug 6 123
  14. Aug 7 135
  15. Aug 11 131
  16. Aug 20 126
  17. Aug 21 134

Values in µg/m³, limit 120 µg/m³.

Months of 2026

MonthDays above 120Highest 8 hNo readings
January0902
February0910
March2 above the number allowed1240
April2 above the number allowed1274
May01070
June4 above the number allowed1541
July2 above the number allowed1210
August7 above the number allowed1350
September08820
October up to yesterday0910

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.

Last 7 days, every hour: O₃ in µg/m³highest 138 µg/m³, latest 138 µg/m³ (15:00)0100200ThuFriSatSunMonTueWedlatest 138 (15:00)
measuredmodel estimate, not counted
Last 7 days, every hour: O₃ in µg/m³
Values as a table
Hour toµg/m³Note
Wednesday, 10/7
16:0086model estimate, not counted
15:00138
14:00127.7
13:00114.6
12:0085.2
11:0056.8
10:0025
09:0010
08:006.1
07:009.4
06:0017.1
05:0013.8
04:0027.2
03:0026.4
02:0029.6
01:0028.8
Tuesday, 10/6
00:0026.3
23:0031.9
22:0024.3
21:0041.2
20:0010
19:0022.7
18:0040.8
17:0054.6
16:00121.5
15:00126.5
14:00113.9
13:00105.2
12:0095.1
11:0068.2
10:0042.3
09:0013.2
08:004.3
07:005.1
06:0019.5
05:0017.3
04:0021
03:0023.2
02:0029.2
01:0030.1
Monday, 10/5
00:0023.3
23:0034.9
22:0035.1
21:008.1
20:006.6
19:0016
18:0052.1
17:0062.6
16:00110.6
15:00110.5
14:00110.4
13:0094.9
12:0091.5
11:0064.6
10:0039.3
09:0011.8
08:009
07:006.8
06:0011.7
05:0018.8
04:0025.8
03:0025
02:0022.2
01:0033
Sunday, 10/4
00:0027.2
23:0024.7
22:0027.6
21:000.5
20:0019.8
19:003
18:0033.2
17:0055.2
16:0097.1
15:00103.9
14:00105.8
13:0095.9
12:0083.5
11:0067.3
10:0044.6
09:0023.2
08:0013.1
07:0011.5
06:0016.8
05:0019.8
04:0018.9
03:0030.9
02:0032
01:0025.5
Saturday, 10/3
00:0027.5
23:0023.6
22:0015.1
21:0011.7
20:0017.9
19:0025.9
18:0049.3
17:0089.8
16:0095.5
15:00102.5
14:00102.6
13:0096.3
12:0084
11:0073
10:0046.7
09:0027.3
08:009.8
07:0013.7
06:0015.2
05:0028.1
04:0032.4
03:0035.8
02:0028.3
01:0022.7
Friday, 10/2
00:0019
23:0022.9
22:004.3
21:007.2
20:004.9
19:0038.8
18:0081.2
17:0075
16:0086.8
15:00100
14:0096.5
13:0089.1
12:0076.4
11:0064.9
10:0043.9
09:0025.6
08:005
07:008.3
06:0018.5
05:0017.6
04:0027.1
03:0031.4
02:0035.2
01:0036.4
Thursday, 10/1
00:0030.6
23:0019
22:0030.5
21:0012.4
20:0016
19:0019
18:0042.4
17:0063.9
16:0092.5
15:00101.7
14:0096.4
13:0088.1
12:0083.2
11:0070
10:0029.4
09:0016.5
08:005.2
07:007.3
06:0015.8
05:0022
04:0022.6
03:0027.3
02:0034.8
01:0031
Wednesday, 9/30
00:0023.9
23:009.8
22:0031.3
21:007.9
20:0015.4
19:0072
Last 30 days, highest 8-hour average of the day: O₃ in µg/m³highest 91 µg/m³, latest 91 µg/m³0501001509/99/169/239/30highest 91
too few readingstarget value, 120 µg/m³no data from the station
Last 30 days, highest 8-hour average of the day: O₃ in µg/m³
Values as a table
Dayµg/m³Note
Tue, 10/690.9provisional
Mon, 10/587.1provisional
Sun, 10/481.7provisional
Sat, 10/386.6provisional
Fri, 10/283.7provisional
Thu, 10/179.8provisional
Wed, 9/3088.4provisional
Tue, 9/2972.4provisional
Mon, 9/2882.3provisional
Sun, 9/2767.4provisional
Sat, 9/2666.6provisional
Fri, 9/2548.9provisional
Thu, 9/2461.2provisional
Wed, 9/2347.8provisional
Tue, 9/22too few readings
Mon, 9/21no data from the station
Sun, 9/20no data from the station
Sat, 9/19no data from the station
Fri, 9/18no data from the station
Thu, 9/17no data from the station
Wed, 9/16no data from the station
Tue, 9/15no data from the station
Mon, 9/14no data from the station
Sun, 9/13no data from the station
Sat, 9/12no data from the station
Fri, 9/11no data from the station
Thu, 9/10no data from the station
Wed, 9/9no data from the station
Tue, 9/8no data from the station
Mon, 9/7no data from the station
Last 12 months, monthly average: O₃ in µg/m³highest 68 µg/m³, latest 43 µg/m³050100DecFebAprJunAugOcthighest 68latest 43
Last 12 monthsthis month so fara year earliermonth with days without data from the station
Last 12 months, monthly average: O₃ in µg/m³
Values as a table
Monthµg/m³a year earlierNote
October 2026 so far42.833.5measured in 100 % of hours · provisional · year before: same days
September 2026too few readings36.6measured in 30 % of hours · provisional · 20 days without data from the station
August 202668.257.8measured in 97 % of hours · provisional
July 202658.364.7measured in 94 % of hours · provisional
June 202659.170.6measured in 93 % of hours · provisional · 1 day without data from the station
May 202653.954measured in 94 % of hours · provisional
April 202658.561.7measured in 79 % of hours · provisional · 4 days without data from the station
March 202648.456.4measured in 93 % of hours · provisional
February 202636.329.3measured in 81 % of hours · provisional
January 2026too few readings27.4measured in 57 % of hours · provisional · 2 days without data from the station
December 2025too few readings18.2measured in 47 % of hours · verified
November 2025too few readings18.4measured in 69 % of hours · verified

O₃ by year

Yardstick: legal limits in the Federation of BiH (Pravilnik, Official Gazette FBiH 1/12, 50/19, 3/21)

Measure2026*20252024
Days with 8-hour average above 120 µg/m³ (target value 25)≥ 17²≥ 19²0²
Annual average, µg/m³too few45.9too few
Highest 8-hour average, µg/m³154June 27155July 4112July 15
Hours measured80 %91 %79 %
Days without any reading from the station2700

* 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.

■ and a figure in red: more than is allowed for the whole year.

The column for 2023 is shown on wider screens.

The worst days of 2026

DayHighest 8 hTimes the limit
Jun 27, 2026provisional1541.3 ×
Jun 26, 2026provisional1511.3 ×
Aug 7, 2026provisional1351.1 ×
Aug 21, 2026provisional1341.1 ×
Aug 11, 2026provisional1311.1 ×

Daily average in µg/m³, daily limit 120 µ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: 36

8 outages, 853 hours in total in the last 12 months.

Timeline of outages from October 7, 2025 to today

FromToDuration
Sep 1, 2026 09:00Sep 22, 2026 09:0021 days
Jul 1, 2026 09:00Jul 2, 2026 09:0024 hours
Jun 9, 2026 05:00Jun 11, 2026 11:002 days
May 23, 2026 01:00May 24, 2026 08:0031 hours
Apr 10, 2026 04:00Apr 13, 2026 11:003 days
Apr 4, 2026 12:00Apr 7, 2026 09:003 days
Jan 26, 2026 15:00Jan 28, 2026 14:0047 hours
Jan 9, 2026 14:00Jan 11, 2026 11:0045 hours

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.

How we measure

samoEKO is a brand of samoLabs, Juelich.