
Monthly indoorCO2map.com summary October 2025
There is a well documented relationship between indoor levels of CO2 and the amount of ventilation in indoor environments. Buildings with high indoor levels of CO2 have poor ventilation and are therefore more likely to be vectors of airborne diseases (like COVID-19, Measles, and Flu) and to trap indoor pollutants.
Measuring CO2 inside is a really cheap way of measuring the air quality in indoor environments. When we breathe, we exhale CO2 and it gets trapped inside the room we are in. If the building has good ventilation it will leave quickly. If it has bad ventilation, it stays in the room and builds up.
If there is bad ventilation, then smoke from cooking can build up and that’s bad for you. Same thing for VOCs from perfumes, as well as gas leaks, radon, and mold spores. At high concentrations in artificial environments, they contribute to all sorts of things: cancer, Alzheimer’s, Parkinson’s, childhood asthma, childhood lung problems, and heart conditions. Bad ventilation also contributes to a much higher risk of respiratory infections. If someone who is sick breathes in a badly ventilated room, the infectious aerosols will float around in the room until someone breathes them in. In a well ventilated space, they are dispersed very quickly and the risk of infection is much lower. Having an open widow in a classroom (or having an air filter), for instance, reduces school absences significantly.
CO2 levels outside are typically around 420 parts per million (ppm), so if we measure the CO2 in a room and it is higher than that, you know its not ventilating much. Anywhere from 400 - 600 ppm are considered well ventilated. Every indoor environment is going to trap some CO2 and that’s okay. Levels between 600 ppm and 1000 ppm may need some improvement. Anything above 1000 ppm is generally considered bad and should certainly be improved in some manner.
Indoor CO2-Map is a community science project to monitor indoor CO2 levels in non-residential buildings and transit systems around the world. Since April 2024 volunteers have brought CO2 monitors into cafes, shops, schools, trains, and all sorts of other places to monitor CO2 levels in them and upload them to a public database.
The following is a monthly summary of how this project is going.
Here is a chart showing the 19 measurements that had a median CO2 value under 500. Keep in mind that some of these are potentially miscalibrated sensors or erroneous recordings where the sensor was outside. However, it is important to celebrate the places that do in fact have well ventilated spaces.
| Measurements under 500 ppm | |||
|---|---|---|---|
| Name | CO2 ppm | Building type | Location |
| Decathlon | 475.0 | Sports | L'Aquila, Italia |
| Ebullition | 495.0 | Interior decoration | Brest, France |
| Pizzeria Giangi | 453.5 | Restaurant | Chieti, Italia |
| Marina Restaurant | 451.0 | Restaurant | Primorsko-goranska županija, Hrvatska |
| Müller | 489.0 | Chemist | Rhein-Erft-Kreis, Deutschland |
| Frankfurt am Main Flughafen Fernbahnhof | 463.0 | Station | Frankfurt am Main, Deutschland |
| Gibraltar International Airport (Arrivals and Departures) | 499.0 | Terminal | Gibraltar, Gibraltar |
| Som Kitchen | 464.5 | Fast food | Wien, Österreich |
| Biocoop | 451.0 | Supermarket | Brest, France |
| Alnor | 487.0 | Restaurant | Leipzig, Deutschland |
| Deutzer Asia Imbiss | 484.0 | Fast food | Köln, Deutschland |
| Senra | 431.0 | Restaurant | Bidasoa Beherea / Bajo Bidasoa, España |
| Döner Point | 457.5 | Fast food | Göttingen, Deutschland |
| Les bocaux d'Ana | 467.5 | Convenience | Brest, France |
| Stadt- und Landesbibliothek | 484.5 | Library | Dortmund, Deutschland |
| La Fabrik 1801 | 483.0 | Bar | Brest, France |
| T2 - International | 492.0 | Terminal | Melbourne, Australia |
| Schillertheater | 481.0 | Theatre | Berlin, Deutschland |
| Dortmunder U – Zentrum für Kunst und Kreativität | 477.0 | Museum | Dortmund, Deutschland |
Trends over time
The following are charts that are updated every month, but they reflect all data collected so far from the indoorco2 monitoring project (since April 2024). Over time, we should be able to see yearly trends where CO2 levels are higher in the Winter when shopkeepers close their windows to keep things warm and then lower CO2 levels when shopkeepers open their windows in the Summer.
Transit
That’s all for this month! Check back soon for more updates.
Some thanks
This work would not be possible without the hard work of all the contributors to OpenStreetMap and indoorco2map. If you would like to contribute to either of these projects, please visit their websites. You can contribute to the indoorco2map by downloading the Android app or iOS app and connecting it to any one of the following CO2 sensors: Aranet4, Airvalent, AirSpot and Inkbird IAM-T1. I would also like to thank Aurel Wünsch who tirelessly works on the project as well as the other contributors to the project ahunt, da5nsy, paul-hammant, and samherniman.
Finally, many thanks go to the teams who work on the following software, which I used heavily.
We used R v. 4.4.3 (R Core Team 2025) and the following R packages: autocruller v. 0.0.0.9000 (Herniman 2025), dbscan v. 1.2.3 (Hahsler, Piekenbrock, and Doran 2019; Hahsler and Piekenbrock 2025), glue v. 1.8.0 (Hester and Bryan 2024), gt v. 1.0.0 (Iannone et al. 2025), h3 v. 3.7.2 (Kuethe 2022), here v. 1.0.1 (Müller 2020), mapview v. 2.11.2 (Appelhans et al. 2023), osmdata v. 0.2.5 (Mark Padgham et al. 2017), patchwork v. 1.3.1 (Pedersen 2025), rmarkdown v. 2.29 (Xie, Allaire, and Grolemund 2018; Xie, Dervieux, and Riederer 2020; Allaire et al. 2024), scales v. 1.4.0 (Wickham, Pedersen, and Seidel 2025), scico v. 1.5.0 (Pedersen and Crameri 2023), sf v. 1.0.21 (Pebesma 2018; Pebesma and Bivand 2023), tidygeocoder v. 1.0.6 (Cambon et al. 2021), tidyplots v. 0.2.2.9000 (Engler 2025), tidyverse v. 2.0.0 (Wickham et al. 2019).







