
Monthly indoorCO2map.com summary February 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’s2–4, Parkinson’s3, childhood asthma5–9, 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 | Building type | Location |
| Tasca La Monteria | 488.0 | Restaurant | Santa Cruz de Tenerife, Spain |
| DaBeKe | 467.0 | Restaurant | La Orotava, Spain |
| Palmetum | 429.0 | Ticket | Santa Cruz de Tenerife, |
| minimarket San Fernando | 498.0 | Convenience | Puerto de la Cruz, Spain |
| Koala Bay | 437.0 | Clothes | Puerto de la Cruz, Spain |
| La Embajada | 455.5 | Restaurant | Puerto de la Cruz, Spain |
| Quiddestraße | 483.0 | Station | München, Germany |
| Hamburg Hauptbahnhof | 482.5 | Station | Hamburg, Germany |
| Anker | 498.0 | Bakery | Wien, Austria |
| Springfield | 488.0 | Clothes | La Cuesta, Spain |
| El Mirador | 433.0 | Restaurant | Santa Cruz de Tenerife, |
| Odeonsplatz | 499.0 | Station | München, Germany |
| 樂雅樂便當攤 | 491.0 | Fast food | 臺中市, Taiwan |
| HalfPrice | 481.0 | Clothes | Wien, Austria |
| Cañada de Garachico | 462.0 | Restaurant | Santa Cruz de Tenerife, |
| Museo de la Naturaleza y el Hombre | 469.0 | Museum | Santa Cruz de Tenerife, Spain |
| Makika | 476.5 | Cafe | La Cuesta, Spain |
| Theaterhaus Stuttgart | 468.0 | Theatre | Stuttgart, Germany |
| Webb Brothers | 479.0 | Hardware | East Suffolk, United Kingdom |
| John Ives | 490.0 | Shoes | East Suffolk, United Kingdom |
| Eterio | 496.0 | Restaurant | Santa Cruz de Tenerife, Spain |
| Cafeteria Casa Museo Cayetano Gomez Felipe | 494.0 | Cafe | San Cristóbal de La Laguna, Spain |
| Wehbe | 438.0 | Clothes | Santa Cruz de Tenerife, Spain |
| Utopia 8099 | 454.0 | Restaurant | Santa Cruz de Tenerife, Spain |
| Bijou Brigitte | 475.0 | Fashion accessories | Wien, Austria |
| David Rodriguez | 434.0 | Bar | Puerto de la Cruz, |
| Stadt- und Landesbibliothek | 477.0 | Library | Dortmund, Germany |
| Cafetería Geisha | 460.0 | Cafe | Santa Cruz de Tenerife, |
| Keplingerwirt | 472.0 | Restaurant | Bezirk Rohrbach, Austria |
| Salt City Market | 495.0 | Mall | City of Syracuse, United States |
| Rotterdam The Hague Terminal | 471.0 | Terminal | Rotterdam, Netherlands |
| Soin Medical Center | 496.0 | Hospital | Beavercreek, United States |
| Gran Hotel Taoro | 497.0 | Hotel | Puerto de la Cruz, Spain |
| SVN Fitness Studio | 497.0 | Fitness centre | München, Germany |
| SVN Fitness Studio | 498.0 | Fitness centre | München, Germany |
| Sports Basement | 469.5 | Outdoor | San Francisco, United States |
| Auditorio de Tenerife Adán Martín | 465.5 | Arts centre | Santa Cruz de Tenerife, |
| Dortmunder U – Zentrum für Kunst und Kreativität | 452.0 | Museum | Dortmund, Germany |
| Silken Atlántida | 481.0 | Hotel | Santa Cruz de Tenerife, Spain |
| Silken Atlántida | 458.5 | Hotel | Santa Cruz de Tenerife, Spain |
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.
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.1.3.900717, gganimate v. 1.0.1118, ggrepel v. 0.9.619, glue v. 1.8.020, gt v. 1.2.021, h3 v. 3.7.222, here v. 1.0.223, magick v. 2.9.024, mapview v. 2.11.425, osmdata v. 0.3.026, pak v. 0.9.227, patchwork v. 1.3.228, rmarkdown v. 2.3029–31, rnaturalearth v. 1.2.032, rnaturalearthhires v. 1.0.0.900033, scales v. 1.4.034, scico v. 1.5.035, sf v. 1.0.2436,37, tidygeocoder v. 1.0.638, tidyplots v. 0.4.039, tidyverse v. 2.0.040.
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!








