Monthly indoorCO2map.com summary August 2026

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 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: cancer1, Alzheimer’s24, Parkinson’s3, childhood asthma59, childhood lung problems10,11, and heart conditions12. 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 window 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.

Buildings

Here is a chart showing the 40 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 Windows Building type Location
Interim Bergstraße / Open Science Lab 455.0 Open Library Dresden, Germany
Tabak Trafik Rahman 454.0 Open Kiosk Wien, Austria
Pizza Pazza 469.0 Open Fast food Köln, Germany
Canaan Shop 497.0 Open Convenience Berlin, Germany
Hubsi Vintage Shop 464.0 Open Second hand Wien, Austria
Walden Pond Books 486.0 Open Books Oakland, United States
Trents & Style 473.0 Open Hairdresser Wien, Austria
Lichtblick 465.0 Unknown Cinema Kreis Nordfriesland, Germany
Bio-Pizzeria & Ristorante "VERO #2" 480.0 Open Restaurant Wien, Austria
Hamburg Hauptbahnhof 496.0 Unknown Station Hamburg, Germany
The Gardener 461.0 Open Furniture Berkeley, United States
Paris Gare de l'Est 485.0 Unknown Station Paris, France
Wen's Nudeln 488.0 Closed Fast food Wien, Austria
Noodle King 480.0 Open Fast food Wien, Austria
The Three Sisters Pub 459.0 Unknown Pub Delft, Netherlands
Keramikscheune Ratingen 499.0 Unknown Interior decoration Ratingen, Germany
Schopenhauer 496.0 Unknown Cafe Wien, Austria
B.O.C. 469.0 Closed Bicycle Göttingen, Germany
conne chicken & burger 495.0 Open Fast food Leipzig, Germany
Glasfabrik Antiquitäten 457.0 Open Antiques Wien, Austria
Tor B 431.0 Closed Köln, Germany
Fratelli 459.5 Unknown Restaurant Delft, Netherlands
Subway 473.0 Open Fast food Leipzig, Germany
Bipa 435.0 Unknown Chemist Wien, Austria
Blue Orange 478.0 Open Cafe Wien, Austria
Pommes Bub 450.0 Unknown Restaurant Sömmerda, Germany
Stern Döner 494.0 Open Fast food Leipzig, Germany
Radiologie Dortmund 444.0 Open Clinic Dortmund, Germany
Wiedigsburghalle 496.5 Unknown Sports hall Nordhausen, Germany
Wiedigsburghalle 473.0 Unknown Sports hall Nordhausen, Germany
Charles Kershaw Garden Centre & Shopping Village 472.0 Unknown Garden centre Calderdale, United Kingdom
Minto 495.0 Unknown Mall Mönchengladbach, Germany
The Crate Escape 469.5 Unknown Alcohol Kirklees, United Kingdom
Carrefour Express 481.0 Unknown Convenience Castelldefels, Spain
Friedrich-Wennmann-Bad 493.0 Unknown Swimming pool Mülheim an der Ruhr, Germany
C&A 490.0 Open Clothes Göttingen, Germany
dm 496.0 Unknown Chemist München, Germany
Prik & Tik Arendonk 496.0 Unknown Beverages Arendonk, Belgium
Deutsches Marinemuseum 475.0 Unknown Museum Wilhelmshaven,
KiTa Purzelbaum 453.0 Unknown Kindergarten Berlin, Germany

Transit

That’s all for this month! Check back soon for more updates.

If this was useful to you, please consider supporting me so I can make more things like this. I would be incredibly grateful.

Some news

Recently Aurel Wünsch and I gave a talk about this project at Fluconf 2026. Check out the recording here, and the companion website here.

I was also interviewed for a podcast. You can listen to the recording here.

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. You can also donate by contributing to the indoorCO2map gofundme.
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.313 and the following R packages: autocruller v. 0.0.0.900014, dbscan v. 1.2.415,16, duckplyr v. 1.2.117, gganimate v. 1.0.1118, ggiraph v. 0.9.619, ggrepel v. 0.9.820, ggspeciesaccumulation v. 0.0.0.900021, glue v. 1.8.022, gt v. 1.3.023, h3 v. 3.7.224, here v. 1.0.225, leaflet v. 2.2.3.900026, magick v. 2.9.127, mapview v. 2.11.428, osmdata v. 0.3.029, pak v. 0.9.230, patchwork v. 1.3.231, rmarkdown v. 2.303234, rnaturalearth v. 1.2.035, rnaturalearthhires v. 1.0.0.900036, scales v. 1.4.037, scico v. 1.5.038, sf v. 1.1.039,40, tidygeocoder v. 1.0.641, tidyplots v. 0.4.042, tidyverse v. 2.0.043.

All figures in this report are licensed under CC BY-SA 4.0. Please feel free to use and remix them and let me know if you do. I love to see my work being used elsewhere!

References

1.
2.
Fu, P. & Yung, K. K. L. Air pollution and alzheimer’s disease: A systematic review and meta-analysis. Journal of Alzheimer’s Disease 77, 701–714 (2020).
3.
4.
Olloquequi, J. et al. From inhalation to neurodegeneration: Air pollution as a modifiable risk factor for alzheimer’s disease. International Journal of Molecular Sciences 25, 6928 (2024).
5.
Akar-Ghibril, N. & Phipatanakul, W. The indoor environment and childhood asthma. Curr Allergy Asthma Rep 20, 43 (2020).
6.
7.
8.
Breysse, P. N. et al. Indoor air pollution and asthma in children. Proc Am Thorac Soc 7, 102–106 (2010).
9.
Hulin, M., Caillaud, D. & Annesi-Maesano, I. Indoor air pollution and childhood asthma: Variations between urban and rural areas. Indoor Air 20, 502–514 (2010).
10.
Maung, T. Z., Bishop, J. E., Holt, E., Turner, A. M. & Pfrang, C. Indoor air pollution and the health of vulnerable groups: A systematic review focused on particulate matter (PM), volatile organic compounds (VOCs) and their effects on children and people with pre-existing lung disease. International Journal of Environmental Research and Public Health 19, 8752 (2022).
11.
Kurmi, O. P., Lam, K. B. H. & Ayres, J. G. Indoor air pollution and the lung in low- and medium-income countries. European Respiratory Journal 40, 239–254 (2012).
12.
Uzoigwe, J. C., Prum, T., Bresnahan, E. & Garelnabi, M. The emerging role of outdoor and indoor air pollution in cardiovascular disease. N Am J Med Sci 5, 445–453 (2013).
13.
R Core Team. R: A Language and Environment for Statistical Computing. (R Foundation for Statistical Computing, Vienna, Austria, 2025).
14.
15.
Hahsler, M., Piekenbrock, M. & Doran, D. dbscan: Fast density-based clustering with R. Journal of Statistical Software 91, 1–30 (2019).
16.
17.
Mühleisen, H. & Müller, K. duckplyr: A DuckDB-Backed Version of dplyr. (2026).
18.
Pedersen, T. L. & Robinson, D. gganimate: A Grammar of Animated Graphics. (2025).
19.
Gohel, D. & Skintzos, P. ggiraph: Make ggplot2 Graphics Interactive. (2026).
20.
21.
22.
Hester, J. & Bryan, J. glue: Interpreted String Literals. (2024).
23.
24.
Kuethe, S. H3: R Bindings for H3. (2022).
25.
26.
Cheng, J., Schloerke, B., Karambelkar, B., Xie, Y. & Aden-Buie, G. leaflet: Create Interactive Web Maps with the JavaScript Leaflet Library. (2025).
27.
28.
Appelhans, T., Detsch, F., Reudenbach, C. & Woellauer, S. mapview: Interactive Viewing of Spatial Data in r. (2025).
29.
Mark Padgham, Bob Rudis, Robin Lovelace & Maëlle Salmon. Osmdata. Journal of Open Source Software 2, 305 (2017).
30.
Csárdi, G. & Hester, J. pak: Another Approach to Package Installation. (2025).
31.
Pedersen, T. L. patchwork: The Composer of Plots. (2025).
32.
Xie, Y., Allaire, J. J. & Grolemund, G. R Markdown: The Definitive Guide. (Chapman; Hall/CRC, Boca Raton, Florida, 2018).
33.
Xie, Y., Dervieux, C. & Riederer, E. R Markdown Cookbook. (Chapman; Hall/CRC, Boca Raton, Florida, 2020).
34.
Allaire, J. et al. rmarkdown: Dynamic Documents for r. (2025).
35.
Massicotte, P. & South, A. rnaturalearth: World Map Data from Natural Earth. (2026).
36.
37.
Wickham, H., Pedersen, T. L. & Seidel, D. scales: Scale Functions for Visualization. (2025).
38.
Pedersen, T. L. & Crameri, F. scico: Colour Palettes Based on the Scientific Colour-Maps. (2023).
39.
Pebesma, E. Simple Features for R: Standardized Support for Spatial Vector Data. The R Journal 10, 439–446 (2018).
40.
Pebesma, E. & Bivand, R. Spatial Data Science: With applications in R. (Chapman and Hall/CRC, 2023). doi:10.1201/9780429459016.
41.
Cambon, J., Hernangómez, D., Belanger, C. & Possenriede, D. tidygeocoder: An r package for geocoding. Journal of Open Source Software 6, 3544 (2021).
42.
Engler, J. B. Tidyplots empowers life scientists with easy code-based data visualization. iMeta e70018 (2025) doi:10.1002/imt2.70018.
43.
Wickham, H. et al. Welcome to the tidyverse. Journal of Open Source Software 4, 1686 (2019).