About Kanarche
A free, open map of the air in Bulgaria. Most readings come from sensors that volunteers run at home. The official stations of the Executive Environment Agency are shown alongside them.
What this project is
Free
No account, no paywall, no adverts. Every page works without signing in.
Open source
The code is on GitHub under the MIT licence.
Community driven
The citizen readings come from sensor.community volunteers. Anyone can report a problem or send a fix.
No personal data
No cookies, no analytics scripts, no accounts. We keep no IP address or identifier. Cloudflare, which delivers the site, does see your IP address, as any such network does.
Made for phones
Panels and charts are laid out for a small screen and work with a thumb.
Accessible
Every control shows a clear focus ring, and the sensors in view can be opened from a keyboard list. Each colour comes with its band name. We aim for WCAG 2.2 AA.
What we are trying to do
- Show the air where you areReadings by neighbourhood, not one number for a whole city.
- Be honest about what a number meansCoverage and caveats sit next to each figure. Low-cost sensors are indicative. They are not reference instruments.
- Make the data easy to reuseEvery area has a page you can link to, and the map can be embedded on other sites.
Getting started
A short tour of what the map can do, grouped by what you want to do. Skim the headings or read it from the top.
Read the map
-
Choose what the map shows
Open Layers to switch things on or off. Citizen sensors, official stations, wind and province outlines are on at first. Pollen, bathing water, inactive stations and faulty stations stay off until you ask for them.
-
Switch between measurements
Open the metric menu to choose PM2.5, PM10, temperature, humidity, pressure and, depending on the stations shown, gases and noise. Your choice stays in the link, so a shared link opens on the same measurement.
-
Read the colours
The Legend in the corner of the map unfolds into the colour key for the chosen measurement. Its "What the colours mean" link explains each band.
-
Look at now, or average over time
The map shows the latest readings, which citizen sensors send about every 5 minutes. Use the averaging period menu to see the average over the last 24 hours, 48 hours or week instead. An average is steadier, because one odd hour cannot swing it.
-
Show silent and faulty stations
A station is inactive when it has sent nothing for the chosen measurement in the last 2 hours, or 12 hours for official stations. It is faulty when at least half of its readings in the last 24 hours failed the quality checks, counting at least 6 readings. Both are hidden at first, because a map full of empty cells looks like an empty country and a faulty station has no usable value. Show them in Layers with "Inactive stations" and "Faulty stations".
Find your place
-
Jump to a place
Type a region, city, district or address in the search box. The map centres there, and an address gets a pin. Address search uses OpenStreetMap, where house numbers are patchy, so if nothing is found try the street name alone.
-
Follow your town or district
Each province, provincial capital and Sofia district has its own page. Find them under the Areas tab at the top, next to Map and About. A page shows the median, the coverage and the last 24 hours.
-
Scroll for the full picture
The arrows under the map lead to a second part of the page. There you find the median across provinces, the highest province figure, the provinces without data and a link to all areas.
-
Use it comfortably on a phone
On a phone the buttons are sized for a finger, and one tap gives the map the whole screen. A sensor opens in a panel at the bottom. Scroll down for the readouts and charts.
Move the map
-
Tilt and turn the map
The Orientation button on the map, a small compass, opens a panel with Tilt and Heading sliders and a Reset to north button. Tilt goes up to 60 degrees. You can also right-drag or Ctrl+drag, or use two fingers on touch. Tilted, each hexagon rises into a column as tall as its reading, so the worst spots stand out.
-
Start from where you are
Press Find me to centre the map near you. The first time, a small hint points to the button. The site remembers your last view, layers and period in your browser, and "Clear my settings" on this page forgets them.
Extra layers
-
See the pollen forecast
Switch on Pollen in Layers to colour the provinces by the forecast level for today and the next two days, then click a province to open its page. It is a model forecast, not a count.
-
Check the bathing water
Switch on Bathing water in Layers to see sea, lake and reservoir sites coloured by their EEA class, with E. coli and enterococci samples in the site panel. The class covers the last four seasons, so a single sample is context, not a verdict on the water today.
-
Watch the wind
Moving particles show where the wind blows and how hard. Wind is on at first, and you can switch it off in Layers. Wind disperses pollution, and still air holds it in place.
-
See the official stations
The government monitoring stations are shown beside the citizen sensors, and you can hide or show them in Layers. They also bring nitrogen dioxide, ozone, sulphur dioxide, carbon monoxide, benzene and noise. Their readings are older than citizen ones, so they count as inactive after 12 hours instead of 2.
Look back
-
Replay the past day or week
Press play to watch the map change over the last 24 hours, 48 hours or week. A day plays hour by hour, two days in two-hour steps and a week in six-hour steps. Pick a speed from a quarter to double, and use the back button to return to the current readings.
-
Chart a sensor over time
Click a sensor to open its panel with a chart. Choose 24 hours, 7 days, 30 days or 1 year, or set your own dates. Add the median, highest and lowest of the sensors nearby to see how yours compares.
Keep and share
-
Keep one sensor close
Choose "Save as my sensor" in the sensor panel and the map opens on it next time. It is stored only in your browser.
-
Share what you see
Open "More actions" in the sensor panel and choose Share. The link holds the sensor, the measurement and your choice of citizen and official stations. It does not hold the period or the map position.
-
Put the map on your own site
Copy one line of HTML to show the map on a school, municipal or news website. You can centre it on a province. There is nothing to install.
<iframe src="https://kanarche.eu/embed?area=plovdiv-oblast" title="Kanarche" width="100%" height="480" loading="lazy" style="border:0"></iframe> -
Read the provinces as a table
The Areas tab lists every province in a table. Filter by data, search by name and choose which columns to show.
Use it your way
-
Use it with a keyboard or screen reader
Press Tab on any page and "Skip to content" comes first. Every control shows a focus ring, also in Windows high contrast mode. Below the map, a list of the sensors in view opens each one in its sensor panel. Every value carries its band name, such as "good" or "fair", beside the colour. Each sensor chart has a text summary and a data table for screen readers. Report problems as GitHub issues.
Privacy
We keep no IP address or identifier: none in logs, none in the database. Your IP is used for a moment in memory to limit abusive traffic, then forgotten. Cloudflare, our network provider, sees it too and gives us only daily totals.
This site sets no cookies.
It keeps a few preferences in your browser's local storage. They stay on your device. The site keeps no copy.
| Stored key | What it remembers |
|---|---|
kanarche:theme | Your chosen colour theme: auto, light, or dark. |
kanarche:map-layers | Which map layers are switched on. |
kanarche:legend-open | Whether the map legend panel is open. |
kanarche:play-speed | Your chosen playback speed for the time-lapse. |
kanarche:map-window | The time window the map shows: live readings or an average over a longer period. |
kanarche:auto-refresh | How often the map refreshes itself with new readings. |
kanarche:map-view | Where the home map was last centred and zoomed, so it reopens there. |
kanarche:locate-hint-seen | That the tip pointing at the locate button was already shown. |
kanarche:favourite-sensor | The sensor you starred, so the map opens on it. |
kanarche:panel-folded | Whether the sensor panel on the map was folded. |
kanarche:panel-height | The height you dragged the sensor panel on the map to. |
Removes only the keys listed above.
Visitors
How many people open the site each day. The numbers come from Cloudflare's traffic totals. We run no counter in your browser.
Daily unique visitors
Distinct IP addresses per day at Cloudflare. Some bots included.
Add a station near you
Want a sensor closer to you? airbg.info explains how to build or adopt a station.
Build it yourself
A sensor, a fan and a small board. The guide walks you through parts and setup.Adopt a station
Host a ready-made station on your balcony or wall.sensor.community map
Every sensor.community station worldwide, including ones not shown here.Kanarche is an independent project. It is not affiliated with Sensor.Community or with airbg.info (Код България). See the Terms of use.
Get involved
Kanarche is open source and non-commercial. If you like it, a star on GitHub helps other people find it. Ideas for features and problem reports are welcome as GitHub issues.