Choose what to find, then enter the room size (length × width or floor area) and the ceiling height. If air changes per hour is left blank, 0.35 ACH, a common guideline for living spaces, is used. Enter the fan airflow (m³/h) to also see the actual ACH and how well it covers the need.
Table of Contents
-
What you can do on this page
-
What is this calculation used for?
-
How to Use
-
Formulas and figures
-
Symbols and terms
-
Good to know before you start
-
How to calculate it in Excel
-
How to calculate it in Google Sheets
-
How to calculate it in Python
-
How to write it in LaTeX and other math languages (copy and paste)
-
How to have ChatGPT do the calculation
-
DataChef Features
-
Related Features
-
NumberChef Calculators List
What you can do on this page
- Find the room volume \(V\) (ft³) from the room length, width and ceiling height, or from the floor area and ceiling height
- Multiply by the air changes per hour \(n\) (how many times the room air is replaced in one hour, such as 0.35 ACH for living spaces) and divide by 60 to get the required airflow \(Q\) in CFM, ready to compare with a fan's CFM rating
- Work backward from the fan airflow (up to 3 fans added together) to the actual air changes per hour and the minutes it takes to replace the room air once
- For meeting rooms, classrooms and shops, find the occupant-based airflow (number of people × CFM per person), compare it with the volume-based airflow and use the larger one
- The result comes with a figure of the room and the air flowing in and out, plus a plain explanation of the formulas and copy-and-paste formulas for Excel, Google Sheets and Python
What is this calculation used for?
When you replace an exhaust fan, you can tell whether its CFM rating is enough for the room from volume × ACH ÷ 60. For example, a 5 ft × 6 ft half bath with an 8 ft ceiling holds 240 ft³. At a guideline of 8 ACH, it needs 240 × 8 ÷ 60 = 32 CFM, so a 50 CFM fan (the common minimum for bathroom fans that run only when needed) has room to spare.
Kitchens often use a higher guideline, about 15 ACH while cooking. Duct length and air inlet size lower the real airflow, so people usually choose a fan with some margin. Range hoods over gas cooktops are sized by a different method, so follow the maker's sizing guide.
For continuous ventilation of living spaces, 0.35 ACH is a common guideline. A 12 × 9 ft bedroom with an 8 ft ceiling (864 ft³) needs about 5.04 CFM, which you can compare with the share of the ventilation system's airflow for that room. For the whole home, ASHRAE Standard 62.2 gives 0.03 CFM per ft² plus 7.5 CFM × (bedrooms + 1): 90 CFM for a 2,000 ft² home with 3 bedrooms.
The other way around, fan CFM × 60 ÷ volume shows the actual ACH. It is a useful check that dirty filters or closed air inlets are not weakening the ventilation. For code requirements on home ventilation, check your building code or designer.
In rooms where people gather, the number of people sets the airflow more than the room size does. For example, a meeting room of 20 × 15 ft with a 9 ft ceiling (2,700 ft³) used by 12 people at 15 CFM per person needs 180 CFM by the occupant-based rate. That is far more than the volume-based 2,700 × 0.35 ÷ 60 ≈ 15.75 CFM.
Using the larger value gives an airflow that keeps indoor CO₂ from rising too high. If a restaurant, classroom or office has its own per-person rate in your code, enter that value in the per-person field.
When you use solvent-based paint or adhesives, the usual living space rate (0.35 ACH) is not enough. Open the windows and run a fan while you work. If you know the volume of the room, the CFM of your fan or box fan tells you how many minutes one full air change takes (60 ÷ actual ACH, or volume ÷ CFM). This helps you plan breaks and stopping points.
Each product needs a different level of ventilation, so always follow the label and the maker's instructions.
Air purifiers and air conditioners are often labeled with a room size in square feet, but what they actually process is the amount of air, the room volume. Rooms with high or vaulted ceilings have more volume for the same floor area, so a size up may be a better fit.
An air purifier's clean air delivery rate (CADR) is in CFM. CADR × 60 ÷ volume shows how many times per hour the room air passes through it, which helps you compare models. (Unlike ventilation, this does not replace indoor air with outdoor air.)
Formulas and figures
Symbols and terms
Symbols
| \(V\) | vee | The room volume (ft³), from "volume". It is found with \(V = L \times W \times H = S_f \times H\). |
| \(L\) | ell | The room length (ft), from "length". Use the inside dimensions (wall surface to wall surface). |
| \(W\) | double-u | The room width (ft), from "width". It does not matter which side you call the length and which the width. |
| \(H\) | aitch | The ceiling height (ft), from "height" - the height from the floor to the ceiling. |
| \(S_f\) | ess sub eff | The floor area (ft²). \(S\) is often said to come from "surface" or "square", and the subscript f stands for "floor". |
| \(Q\) | cue | The required airflow (CFM). In physics and building services, \(Q\) is the usual symbol for a flow rate. It is found with \(Q = V \times n \div 60\). |
| \(n\) | en | The air changes per hour (ACH), from "number". It shows how many times the room air is replaced in one hour. At 0.35, one full air change takes about 2.9 hours. |
| \(Q_f\) | cue sub eff | The total fan airflow (CFM). The subscript f stands for "fan". With several fans, it is the sum of their airflows. |
| \(n'\) | en prime | The actual air changes per hour worked out from the fan airflow. The prime (') tells it apart from the target \(n\). It is found with \(n' = Q_f \times 60 \div V\). |
| \(T\) | tee | The time (min) for one full air change, from "time". It is found with \(T = 60 \div n'\). |
| \(N\) | capital en | The number of people in the room, from "number". It is a capital letter to tell it apart from the lowercase \(n\) (ACH). |
| \(q\) | lowercase cue | The airflow per person (CFM). It is a small flow for one person, so it is lowercase to tell it apart from \(Q\) for the whole room. A common US guideline is 15 to 20, and this calculator's default is 15. |
| \(Q_p\) | cue sub pee | The occupant-based airflow (CFM). The subscript p stands for "person". It is found with \(Q_p = N \times q\). |
| \(Q_v\) | cue sub vee | The volume-based airflow (CFM). The subscript v stands for "volume", and \(Q_v = V \times n \div 60\). Compare it with the occupant-based \(Q_p\) and use the larger one. |
| \(\max\) | max | Short for "maximum". It takes the largest of the values in the parentheses, as in \(\max(5.04,\ 45) = 45\). |
| \(Q_{tot}\) | cue sub tot | The whole-house airflow (CFM) in the ASHRAE 62.2 guideline, \(Q_{tot} = 0.03 \times S_f + 7.5 \times (N_{br} + 1)\). The subscript tot stands for "total". |
| \(N_{br}\) | en sub b r | The number of bedrooms in the ASHRAE 62.2 guideline. The number of people is taken as bedrooms + 1. |
| \(\mathrm{ft^3}\) | cubic feet | A unit of volume. One cubic foot is a cube 1 ft on each side, about 7.48 US gallons (1 m³ ≈ 35.31 ft³). |
| \(\mathrm{CFM}\) | C F M (cubic feet per minute) | The unit for how much air moves each minute, used for fan ratings in the US. 1 CFM ≈ 1.699 m³/h. Multiply by 60 to get cubic feet per hour. |
Terms
| Room volume | The size of the space inside a container. For a room it is floor area × ceiling height, in cubic feet (ft³). It is the basis for ventilation and air conditioning sizing. |
| Air changes per hour (ACH) | How many times the room air is replaced in one hour. At 0.35 ACH, one full air change takes about 2.9 hours. Living spaces use small values like 0.35 ACH, and local exhaust in kitchens, bathrooms and toilet rooms uses larger values. |
| Required airflow | The airflow needed to replace the air as much as the target ACH (or number of people) calls for, in CFM. If the fan airflow is at least this value, the target is met. |
| CFM (fan airflow) | How much air a fan can move each minute, shown in the catalog and on the fan label. The rated CFM is usually measured with little duct resistance. Duct length and small air inlets cause pressure loss, so the real airflow is lower. Leave some margin when you choose. |
| Static pressure | The pressure a fan must push against to move air through ducts, in the US usually in inches of water column (in. w.c.). The maker's fan curve shows how the airflow drops as the static pressure rises. |
| Pressure loss | Pressure lost because duct length, bends, small air inlets or filters get in the way of the airflow. The higher the pressure loss, the lower the real airflow of the same fan compared with its rating. |
| Exhaust fan | An electric fan that moves room air outdoors (or brings outdoor air in). Types include wall fans, ceiling fans with ducts and range hoods. Performance is shown as airflow in CFM. |
| Whole-house ventilation | A system of fans and air inlets that slowly and continuously replaces the air of the home. ASHRAE Standard 62.2 gives a guideline rate. For requirements, check your building code or designer. |
| Local exhaust | Strong ventilation for a short time only where odors, moisture or smoke come from, such as kitchens, bathrooms and toilet rooms. Its ACH guideline (about 8 to 15) is much higher than for living spaces (0.35). |
| General ventilation | Ventilation that replaces the air of the whole room little by little. Whole-house ventilation works this way, with a small ACH (such as 0.35). |
| Supply air (air in) | Outdoor air brought into the room. An exhaust fan alone cannot move much air if no air can come in, so the same amount must enter through air inlets or gaps around windows and doors. |
| Exhaust (air out) | Room air moved outdoors. A fan's airflow rating usually refers to this exhaust. |
| Occupants | The number of people in the room at the same time. In meeting rooms and classrooms, the airflow you need is often set by the number of people rather than the room size, as people × airflow per person. |
| CO₂ level | The share of CO₂ in the air (in ppm). It rises as people breathe out and falls with ventilation. The airflow per person is based on keeping this level below a set value (this calculator does not calculate the level itself). |
| Coverage ratio | The total fan airflow as a percentage of the required airflow. At 100% or more, the required airflow is met. |
| Inside dimensions | Measurements from wall surface to wall surface - the space you can actually use. The volume is calculated with these. They are a little smaller than measurements to the center of the walls on some plans. |
| Converting CFM and ACH | ACH = CFM × 60 ÷ volume (ft³), and CFM = volume × ACH ÷ 60. The 60 turns minutes into hours. |
| Ceiling height | The height from the finished floor to the finished ceiling. 8 ft is standard in US homes, and 9 ft or more is common in newer homes. |
Good to know before you start
Here is what helps you use the calculation on this page with real understanding, not just by pressing the button.
| Volume of a rectangular prism (Grade 5) |
|
| Unit rates (Grade 6) |
|
| Multiplying and dividing decimals (Grades 5–6) |
|
| Percents (Grade 6) |
|
| Units of time (Grade 3) |
|
| Converting units of length (Grade 4) |
|
How to calculate it in Excel
| Room length (ft) | 12 |
| Room width (ft) | 9 |
| Ceiling height (ft) | 8 |
| Volume (ft³) | =B1*B2*B3 |
| Volume (ft³) | 864 |
| Air changes per hour (ACH) | 0.35 |
| Required airflow (CFM) | =B1*B2/60 |
| Total fan airflow (CFM) | 60 |
| Volume (ft³) | 864 |
| Actual ACH | =B1*60/B2 |
| Time for one air change (min) | =60/B3 |
| Number of people | 3 |
| Airflow per person (CFM) | 15 |
| Volume-based airflow (CFM) | 5.04 |
| Occupant-based airflow (CFM) | =B1*B2 |
| Required airflow used (larger) (CFM) | =MAX(B3,B4) |
| Floor area of the home (ft²) | 2000 |
| Number of bedrooms | 3 |
| Ceiling height (ft) | 8 |
| Whole-house airflow (CFM) | =0.03*B1+7.5*(B2+1) |
| As ACH | =B4*60/(B1*B3) |
The first table gives a volume of 864 ft³, and the second a required airflow of 5.04 CFM. The third gives the actual ACH with a 60 CFM fan, about 4.1667 ACH, and a time for one air change of 14.4 minutes.
The fourth table compares the occupant-based 45 CFM with the volume-based 5.04 CFM using the MAX function, and the larger value, 45, is the required airflow used. The fifth gives a whole-house airflow of 90 CFM for a 2,000 ft² home with 3 bedrooms, about 0.3375 ACH.
How to calculate it in Google Sheets
| Room length (ft) | 12 |
| Room width (ft) | 9 |
| Ceiling height (ft) | 8 |
| Volume (ft³) | =B1*B2*B3 |
| Volume (ft³) | 864 |
| Air changes per hour (ACH) | 0.35 |
| Required airflow (CFM) | =B1*B2/60 |
| Total fan airflow (CFM) | 60 |
| Volume (ft³) | 864 |
| Actual ACH | =B1*60/B2 |
| Time for one air change (min) | =60/B3 |
| Number of people | 3 |
| Airflow per person (CFM) | 15 |
| Volume-based airflow (CFM) | 5.04 |
| Occupant-based airflow (CFM) | =B1*B2 |
| Required airflow used (larger) (CFM) | =MAX(B3,B4) |
| Floor area of the home (ft²) | 2000 |
| Number of bedrooms | 3 |
| Ceiling height (ft) | 8 |
| Whole-house airflow (CFM) | =0.03*B1+7.5*(B2+1) |
| As ACH | =B4*60/(B1*B3) |
How to calculate it in Python
room_length_ft = 12 # room length (ft)
room_width_ft = 9 # room width (ft)
ceiling_height_ft = 8 # ceiling height (ft)
air_changes_per_hour = 0.35 # air changes per hour (ACH). A common guideline for living spaces
fan_flows = [60] # fan airflow (CFM) list. For several fans, list them like [60, 50]
persons = 3 # number of people. Use 0 if you do not need the occupant-based rate
flow_per_person = 15 # airflow per person (CFM). A common US guideline
volume = room_length_ft * room_width_ft * ceiling_height_ft # volume (ft³)
required_by_volume = volume * air_changes_per_hour / 60 # volume-based airflow (CFM)
required_by_persons = persons * flow_per_person # occupant-based airflow (CFM)
required = max(required_by_volume, required_by_persons) # use the larger one
fan_total = sum(fan_flows) # total fan airflow (CFM)
actual_air_changes = fan_total * 60 / volume # actual ACH
turnover_minutes = 60 / actual_air_changes # time for one air change (min)
sufficiency = fan_total / required * 100 # coverage of the required airflow (%)
print(f"Volume: {volume:.5g} ft³")
print(f"Volume-based airflow: {required_by_volume:.5g} CFM")
print(f"Occupant-based airflow: {required_by_persons:.5g} CFM")
print(f"Required airflow used: {required:.5g} CFM")
print(f"Total fan airflow: {fan_total:.5g} CFM")
print(f"Actual ACH: {actual_air_changes:.3g}")
print(f"Time for one air change: {turnover_minutes:.3g} min")
print(f"Coverage: {sufficiency:.4g} %")
How to write it in LaTeX and other math languages (copy and paste)
V = L × W × H = S_f × H
V = L \times W \times H = S_f \times H
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>V</mi>
<mo>=</mo>
<mi>L</mi><mo>×</mo><mi>W</mi><mo>×</mo><mi>H</mi>
<mo>=</mo>
<msub><mi>S</mi><mi>f</mi></msub>
<mo>×</mo>
<mi>H</mi>
</mrow>
</math>
V = L xx W xx H = S_f xx H
V = L*W*H
V := L*W*H;
V = L*W*H;
V = L × W × H = S_f × H
Q = V × n ÷ 60
Q = \dfrac{V \times n}{60}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>Q</mi>
<mo>=</mo>
<mfrac><mrow><mi>V</mi><mo>×</mo><mi>n</mi></mrow><mn>60</mn></mfrac>
</mrow>
</math>
Q = (V xx n) / 60
Q = V*n/60
Q := V*n/60;
Q = V*n/60;
Q = (V × n)/60
n' = Q_f ÷ V × 60, T = 60 ÷ n'
n' = \dfrac{60\,Q_f}{V},\quad T = \dfrac{60}{n'}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msup><mi>n</mi><mo>′</mo></msup>
<mo>=</mo>
<mfrac><mrow><mn>60</mn><msub><mi>Q</mi><mi>f</mi></msub></mrow><mi>V</mi></mfrac>
<mo>,</mo>
<mi>T</mi>
<mo>=</mo>
<mfrac><mn>60</mn><msup><mi>n</mi><mo>′</mo></msup></mfrac>
</mrow>
</math>
n' = (60 Q_f) / V, T = 60 / n'
nActual = 60*Qf/V; T = 60/nActual
nActual := 60*Qf/V; T := 60/nActual;
nActual = 60*Qf/V; T = 60/nActual;
n' = 60Q_f/V, T = 60/n'
Q_p = N × q, Q = max(Q_v, Q_p)
Q_p = N \times q,\quad Q = \max(Q_v,\ Q_p)
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>Q</mi><mi>p</mi></msub>
<mo>=</mo>
<mi>N</mi><mo>×</mo><mi>q</mi>
<mo>,</mo>
<mi>Q</mi>
<mo>=</mo>
<mi>max</mi>
<mo>(</mo>
<msub><mi>Q</mi><mi>v</mi></msub>
<mo>,</mo>
<msub><mi>Q</mi><mi>p</mi></msub>
<mo>)</mo>
</mrow>
</math>
Q_p = N xx q, Q = max(Q_v, Q_p)
Qp = nPersons*q; Q = Max[Qv, Qp] (* N is a reserved word in Mathematica (numeric evaluation), so the number of people is nPersons *)
Qp := N*q; Q := max(Qv, Qp);
Qp = N*q; Q = max(Qv, Qp);
Q_p = N × q, Q = max(Q_v, Q_p)
Q_tot = 0.03 × S_f + 7.5 × (N_br + 1)
Q_{tot} = 0.03\,S_f + 7.5\,(N_{br} + 1)
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>Q</mi><mi>tot</mi></msub>
<mo>=</mo>
<mn>0.03</mn><msub><mi>S</mi><mi>f</mi></msub>
<mo>+</mo>
<mn>7.5</mn>
<mo>(</mo>
<msub><mi>N</mi><mi>br</mi></msub>
<mo>+</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</math>
Q_(tot) = 0.03 S_f + 7.5 (N_(br) + 1)
Qtot = 0.03*Sf + 7.5*(Nbr + 1)
Qtot := 0.03*Sf + 7.5*(Nbr + 1);
Qtot = 0.03*Sf + 7.5*(Nbr + 1);
Q_tot = 0.03S_f + 7.5(N_br + 1)
How to have ChatGPT do the calculation
You are an assistant for building ventilation calculations. Do the calculations below by actually running Python code, and base your answer only on the numbers from the output (do not calculate in your head or guess). A room is a box 12 ft long, 9 ft wide, with an 8 ft ceiling. 1. Find the room volume (ft³). 2. Find the required airflow (CFM) at 0.35 air changes per hour. 3. With one 60 CFM exhaust fan in the room, find the actual air changes per hour and the minutes for one full air change. 4. Three people use the room, at 15 CFM per person. Find the occupant-based airflow (CFM), compare it with the volume-based value from step 2 and use the larger one. Show the formulas you used and the numbers from the output. Also note that the ACH and the per-person value are general guidelines and not necessarily code requirements.
How to Use
-
1Enter your numbersType the numbers you want to calculate with into the input fields
-
2CalculatePress the "Calculate" button
-
3Check the resultThe result appears on the spot. The same page also explains the idea behind the calculation and the formula
DataChef Features
No technical knowledge required.
Intuitive and user-friendly operation.
Can be used without registering personal information.
Automatic file deletion by clicking "download".
and rapid file conversion.
No attribution required.
No need to contact us for commercial use permission.
