CO2 in your meeting room / office

Want to know what level of CO2 you have in your meeting room or office-space? Want to know when you need to start ventilating air to stay productive? Here’s a simple calculator that works out how much CO2 people produce (when they’re not overly active), and what level of CO2 that produces in a closed space.

Simple calculator

Room size [in meters]: (wide) x (long) x (high)

Number of people:


  • Initial CO2 ppm: 415.0
  • CO2 ppm/hr produced: 698.0
  • CO2 ppm after 1 hour: 1113.0
  • CO2 ppm after 2 hours: 1811.0
  • CO2 ppm after 4 hours: 3207.1
  • CO2 ppm after 8 hours: 5999.2



  • 250-400ppm - Normal background concentration in outdoor ambient air
  • 400-1,000ppm - Concentrations typical of occupied indoor spaces with good air exchange
  • 1,000-2,000ppm - Complaints of drowsiness and poor air.
  • 2,000-5,000 ppm - Headaches, sleepiness and stagnant, stale, stuffy air. Poor concentration, loss of attention, increased heart rate and slight nausea may also be present.
  • 5,000 ppm - Workplace exposure limit (as 8-hour TWA) in most jurisdictions.
  • >40,000 ppm - Exposure may lead to serious oxygen deprivation resulting in permanent brain damage, coma, even death.


Air volume at room temperature / sea level:

Vm = 0.024 # m3/mol

Weight CO2:

Mm = 44.01 # g/mol CO2

Initial PPM CO2

In normal atmosphere at ground level, from

initial_ppm = 415 # ppm CO2

CO2 Production / person

Without activity (not doing sports), 1 person. From

co2_produced_per_minute = 0.48 # g/min

Formulas used:

air_particles_in_room = room_volume / Vm;
total_co2_start = (initial_ppm / 1e6) * room_volume / Vm; // in mol
new_co2_per_min = num_people * co2_produced_per_minute / Mm; // in mol
additional_co2_ppm_1_hr = 60 * new_co2_per_min * 1e6 / air_particles_in_room; // ppm/hr

Related Google Colab

Somewhat unrelated, I’m pretty stoked that embedding JavaScript like this works in Hugo.

And related, these numbers match pretty closely what I see with CO2 measurement devices.

Anecdotal tests

2 people, room ca 2.5 x 3 x 2.5m, 1 hour: from ca 700ppm to 3000ppm (+2300ppm) vs modeled ca +2000ppm

1 person, same room, 2 hours: from ca 600ppm to 2600ppm (+2000ppm) vs modeled ca +2000ppm

Seems +/- correct. Or maybe the sensor just accidentally roughly matches :-).

Comments / questions

There's currently no commenting functionality here. If you'd like to comment, please use Twitter and @me there. Thanks!

Tweet about this - and/or - search for latest comments / top comments

Related pages