Skip to main content
Calcimator

Indoor CO₂ Calculator

Model indoor CO₂ buildup from occupancy and ventilation. Find steady-state levels and time to reach 1,000 ppm.

About this calculator

Every person exhales CO₂ at a rate that depends on how active they are, and this calculator uses that per-person generation rate to model how a room's CO₂ level rises and levels off. It assigns a fixed generation rate by activity level — 0.012 m³/hr for sedentary occupants (~200 mL/min), 0.021 m³/hr for light activity (~350 mL/min), and 0.030 m³/hr for moderate activity like a gym or classroom (~500 mL/min) — multiplies by your occupant count, and combines that with your ventilation rate to solve the steady-state formula C_ss = C_outdoor + (N × G × 10⁶)/Q, starting from a 420 ppm outdoor baseline. Because real rooms don't jump straight to steady state, it also solves the exponential buildup equation for how long it takes to cross the traditional 1,000 ppm CO₂ guideline threshold long associated with ASHRAE ventilation standards (a widely used proxy for "the room needs more fresh air," since CO₂ itself is only mildly harmful at that level but correlates with reduced ventilation of everything else people exhale).

Two additional outputs turn the model around: the ventilation rate that would be required to hold steady-state CO₂ at exactly 1,000 ppm, and your current ventilation per occupant, benchmarked here against the commonly cited ≥15 CFM/person figure derived from ANSI/ASHRAE Standard 62.1's minimum outdoor-air rates for typical office occupant density. This is a single well-mixed zone model — it assumes occupants and fresh air are evenly distributed rather than the room having stagnant corners or a bunched-up crowd near one wall, and it holds occupancy and activity level constant throughout, so a shifting crowd (people arriving and leaving) or a mid-session activity change will make the actual trajectory diverge from the smooth exponential curve predicted here.

Inputs

Results

Steady-State CO₂ (ppm)

985

Time to 1,000 ppm (min)0
Required Vent. for 1,000 ppm (CFM)48.7
Per-Person Ventilation (CFM)12.5
Total CO₂ Generation (mL/hr)48,000

Figures current as of 2025. Source: ANSI/ASHRAE Standard 62.1-2025, Ventilation and Acceptable Indoor Air Quality

How to Use This Calculator
  1. Enter Room Volume (ft³), Number of Occupants, and Ventilation Rate (CFM).
  2. Set Activity Level.
  3. Review the Steady-State CO₂ (ppm) result.
  4. Use Time to 1,000 ppm (min) and Required Vent. for 1,000 ppm (CFM) to inform your decision.

How the result changes with Ventilation Rate (CFM)

Ventilation Rate (CFM)Steady-State CO₂ (ppm)
251,550
381,163
75797
125646

What each input means

Room Volume (ft³)
Total room volume (length × width × ceiling height). Typical office ~1,500 ft³.
Number of Occupants
Total people in the room.
Ventilation Rate (CFM)
Outdoor air supply rate in cubic feet per minute.
Activity Level
Physical activity level of occupants, which drives per-person CO₂ generation.

What each result means

Steady-State CO₂ (ppm)
Equilibrium CO₂ concentration if occupancy and ventilation remain constant.
Time to 1,000 ppm (min)
Minutes from outdoor-air baseline to reach ASHRAE's 1,000 ppm guideline. 0 if steady state is below threshold.
Required Vent. for 1,000 ppm (CFM)
Ventilation rate needed to keep steady-state CO₂ at or below 1,000 ppm.
Per-Person Ventilation (CFM)
Current ventilation per occupant. ASHRAE 62.1 recommends ≥15 CFM/person.
Total CO₂ Generation (mL/hr)
Combined CO₂ output from all occupants at the selected activity level.

How this is calculated

Worked example, using the default values

  1. Identify Input Parameters
    4 parameters
    Room Volume (ft³) = 1500, Number of Occupants = 4, Ventilation Rate (CFM) = 50, Activity Level = 1 = 4 input(s) provided
  2. Calculate Steady-State CO₂
    Steady-State CO₂ = OUTDOOR_CO2_PPM + (totalGeneration * 1e6) / ventM3Hr
    985 = 985
  3. Calculate Time to 1,000 ppm
    0 = 0
  4. Calculate Required Vent. for 1,000 ppm
    Required Vent. for 1,000 ppm = requiredVentM3Hr / CFM_TO_M3HR
    48.7 = 48.7

Figures and sources

Engine last updated . Checked against 2 independently-derived tests — how we verify calculators. Built by Paul Gunder, a software engineer, not a licensed financial, medical, or legal professional.

Frequently Asked Questions

Why does changing activity level from sedentary to moderate change the steady-state CO2 so much?

Activity level sets each person's CO₂ generation rate in the model — 0.012 m³/hr for sedentary occupants versus 0.030 m³/hr for moderate activity, two and a half times higher. Since steady-state CO₂ is directly proportional to total generation (C_ss = C_outdoor + (N × G × 10⁶)/Q), a room full of people exercising will equilibrate at a meaningfully higher CO₂ level than the same headcount sitting at desks, given identical ventilation.

Why does 'time to 1,000 ppm' show 0 even though I have occupants in the room?

The calculator only computes a nonzero time when the steady-state concentration actually exceeds the 1,000 ppm ASHRAE threshold — if your ventilation rate is high enough relative to occupancy that the room would equilibrate below 1,000 ppm, it never crosses that threshold at all, so the time is reported as 0 rather than an estimate of when it would happen.

Is 1,000 ppm CO2 itself dangerous, and why is that the target the calculator uses?

CO₂ at 1,000 ppm is only mildly physiologically significant on its own, but ASHRAE uses it as a proxy threshold because CO₂ buildup correlates with reduced ventilation of everything else occupants exhale and generate — body odor, other bioeffluents, and generally poorer air quality. The calculator adopts this widely used guideline value as its target rather than asserting CO₂ itself is hazardous at that level.

Why would the actual CO2 trajectory in my room diverge from the calculator's prediction?

The model assumes a single well-mixed zone with constant occupancy and constant activity level throughout — it can't account for people arriving or leaving mid-session, a shift in activity (like a workout class ramping up), or stagnant corners where fresh air doesn't reach evenly. Any of these will cause the real CO₂ curve to depart from the smooth exponential buildup the formula predicts, especially in larger or irregularly shaped spaces.

The questions that sit next to this one — chosen by subject, including calculators filed under a different category.

More in Environment, Weather & Climate.