Skip to content
SizingKit

HVAC · Airflow

CFM calculator: three routes to one airflow

This calculator returns airflow in CFM three ways — from room volume and an air-change rate, from a sensible load in BTU/h at a chosen temperature rise, and from a duct's free area with a measured velocity or velocity pressure. The 1.08 factor everybody quotes is built on the page from 60 min/h × air density × specific heat instead of stored, so an elevation of 5,000 ft turns it into 0.897 in front of you and the answer grows by 20%. It is free, needs no signup, and every figure recomputes in the tab as you type.

  • 100% free
  • No signup
  • 3 routes
  • 1.08 derived, not stored
  • CFM, L/s and m³/h at once

Which term do you already have?

Three routes to one answer. They are not interchangeable: the first is a ventilation question, the second a capacity question, the third a measurement.

How much air replaces the volume of this room this many times an hour?

Feet unless you write the unit. 4.3 m and 14' 6" both read.

An L-shaped room is two rectangles added, not an average.

Floor to ceiling. A vaulted ceiling takes its average height.

6 is prefilled as a general-space figure with no standard behind it. The rates that do come from a standard are set out on the air changes page.

The air these factors assume

Feet above sea level, prefilled at 0 because that is where ASHRAE's standard air of 0.075 lb/ft³ is defined — dry air at 14.696 psia and about 69 °F.

°F of the air in the duct, default 70. A 55 °F supply is 3% denser than that.

BTU/(lb·°F). 0.24 dry, 0.244 moist — Specific heat of moist air at typical indoor humidity ratios: 0.240 for the dry air plus 0.444 per pound of water vapor carried, at W ≈ 0.01 lb/lb. ASHRAE Handbook—Fundamentals states the sensible-heat factor as 1.10 on this basis.

Both fields move one number: what a cubic foot of this air weighs. It is 0.0749 lb/ft³ here against the 0.075 the printed charts assume, so every factor in the table below is scaled by 0.999 — and the airflow that carries a given load is divided by that same figure.

Airflow

134 CFM

Metric

63.4 L/s

Also

228 m³/h

Room volume
1,344 ft³ / 38.1 m³
Time to replace the air once
10 min
Air density
0.0749 lb/ft³ / 1.2 kg/m³
Barometric pressure
14.7 psia / 101.3 kPa

Airflow here is the room volume times the rate, divided by the 60 minutes in an hour. There is no property of air anywhere in that, which is why the elevation and specific-heat fields below leave this route alone while they move the other two.

How to work out the CFM you need

Three routes, one air. The route decides which term you supply; the elevation and temperature under them decide what the air weighs.

  1. Pick the route by what you already know

    Room dimensions and a target air-change rate is a ventilation question. A sensible load in BTU/h with a rise across the coil is a capacity question. A duct size with an anemometer or pitot reading is a measurement. The three return different numbers for the same room because they are answering different questions, and the route select says which one you asked.

  2. Correct the air before you read the answer

    Elevation and air temperature sit under the route fields and move the density every factor is built on. Leave them at 0 ft and 70 °F for standard air; put in 5,280 ft and the sensible factor falls from 1.08 to about 0.90, which is 20% more air for the same BTU/h. The specific-heat field is prefilled at 0.240 for dry air and takes 0.244 if you want the moist-air form ASHRAE prints as 1.10.

  3. Read the basis line, then copy the pair

    Under the answer is the equation that produced it with your own density and rise substituted in, and the plate shows CFM, L/s and m³/h at once because the fan curve and the diffuser schedule are rarely in the same units. The copy button takes the figure and its basis together, which is what makes it worth pasting into a submittal.

Technical specifications

Sensible-heat factor1.08 BTU/(h·CFM·°F) at sea level — computed as 60 min/h × 0.075 lb/ft³ × 0.240 BTU/(lb·°F) on every keystroke rather than stored as a literal.
The same factor as ASHRAE prints it1.098, from the moist-air specific heat of 0.244 BTU/(lb·°F). The Handbook—Fundamentals states it as 1.10; the classic 1.08 is the dry-air form of the identical equation.
Total-heat and latent factors4.5 lb of dry air per hour per CFM (60 × 0.075) for enthalpy work, and 0.682 BTU/(h·CFM·grain) (60 × 0.075 × 1061 ÷ 7000) for moisture, with 1061 BTU/lb the intercept of the ASHRAE moist-air enthalpy equation.
Elevation correctionAt 5,000 ft and 70 °F the density is 0.0623 lb/ft³ against 0.075 at sea level, so the sensible factor becomes 0.897 and the same load needs 20% more air. Barometric pressure comes from the ASHRAE standard-atmosphere equation, valid to 30,000 ft here.
Pitot constant4,005 ft/min per √(in. w.c.) at standard air and 4,394 at 5,000 ft, generated from 60 × √(2 × 32.174 × 5.1932 ÷ ρ) rather than quoted — the same density that moves 1.08 moves this.
Load units acceptedBTU/h, MBH, tons of refrigeration, W, kW, MW and hp, with a unit you type beating the one in the select. A ton here is 12,000 BTU/h by definition, not a weight.
Duct route geometryRound by diameter or rectangular by two sides, on inside dimensions, with the velocity entered directly or derived from a velocity-pressure reading in inches of water column.
Cross-check printed alongside400 CFM per ton nominal, with 350 in humid climates and 450 in dry ones — a rating convention, not a design figure, and ACCA Manual S sets airflow from the required sensible and latent split instead.

Frequently asked questions

Where does the 1.08 in the CFM formula actually come from?

It is 60 minutes an hour multiplied by the density of air, 0.075 lb/ft³, multiplied by its specific heat, 0.240 BTU per pound per °F — 60 × 0.075 × 0.240 = 1.08. Nothing about it is a constant of nature or a property of a duct system: it is a property of one particular air, and this page rebuilds it from those three terms every time you change the elevation or the temperature, which is why it is printed under the answer as a multiplication rather than as a number.

Why does the answer change when I enter an elevation?

Because heat is carried by mass and altitude removes mass from every cubic foot. At 5,000 ft the barometric pressure is 12.23 psia instead of 14.70, so a cubic foot of 70 °F air weighs 0.0623 lb instead of 0.0749, the sensible factor falls from 1.08 to 0.897, and a system that needs 1,200 CFM at sea level needs about 1,445 CFM up there to move the same BTU/h at the same rise. Equipment nameplates and duct calculators are drawn at sea level, so this correction is applied by the installer or not at all.

Is the load in the BTU/h route the total capacity or the sensible part?

The sensible part only. The equation q = factor × CFM × ΔT describes air changing temperature, and it has no term for moisture, so feeding it a total cooling capacity overstates the airflow by whatever share of that capacity is doing latent work — typically a quarter of a residential cooling load and much more in a humid climate. If you have the total and the split, use the sensible number; if you have enthalpies rather than temperatures, the total-heat factor of 4.5 is the one that applies.

The three routes give different numbers for the same room. Which one is right?

All three, for three different questions. The volume route answers how much air replaces the room's air at a chosen rate, which is a ventilation requirement and takes no notice of temperature. The load route answers how much air carries the heat at your design rise, which is what the blower has to deliver. The duct route answers what is going through a duct at this moment, which is a field measurement and the only one of the three that can disagree with the design. A room needing 90 CFM of outdoor air and 400 CFM of supply air is normal, not a contradiction.

Can I use a single anemometer reading in the middle of the duct?

No — a center reading is the fastest point in the duct, and using it as the average reads high by roughly 10% in a round duct and more in a rectangular one. A traverse takes readings on a grid of equal areas and averages them; with a pitot tube you average the square roots of the velocity pressures rather than the pressures themselves, because velocity goes as the square root and averaging the pressures first biases the result high. The duct route here takes the average you have already computed.

Why is the CFM per ton figure different from the airflow this returns?

Because 400 CFM per ton is a rating convention and the airflow here is a calculation. Equipment is rated at a nominal airflow so that two units can be compared, and the nominal that stuck is 400 CFM per ton; the airflow your system actually needs comes from the sensible load and the temperature rise you chose, and it lands anywhere from 350 CFM per ton in a humid climate where latent removal matters to 450 in a dry one where it does not. The figure appears next to the load route as a sanity check, not as a target.

Does the temperature field want the supply temperature or the difference?

The difference, and the field is a separate quantity from a temperature reading for that reason. A 20 °F rise is an 11.1 °C rise, not −6.7 °C — a difference carries no offset between the two scales' zeros because both ends of the measurement carry it and it cancels. Putting a supply temperature of 55 °F into it instead of the 20 °F rise across the coil returns roughly a third of the air the system needs, and the answer looks entirely plausible.

About the airflow equation and the factor everybody quotes

Three unrelated problems arrive at this page under one name. Somebody sizing ventilation wants the air that replaces a room's volume at a chosen rate; somebody sizing a blower wants the air that carries a load at a design rise; somebody standing at a duct with a meter wants to know what is going through it. Calculators that rank for this query usually pick one of the three and leave the reader to discover that the other two exist, which is how a bathroom gets 400 CFM and a supply trunk gets 90.

The load route rests on q = factor × CFM × ΔT, and the factor is the part that gets mishandled. It is not a constant: 60 min/h × 0.075 lb/ft³ × 0.240 BTU/(lb·°F) = 1.08 for sea-level dry air, and every one of those three terms is visible and editable here. Use the specific heat of moist air, 0.244, and you get 1.098 — which is the 1.10 that current ASHRAE Handbook—Fundamentals material prints, so the two figures in circulation are the same equation with a different assumption about how wet the air is rather than a disagreement. Take the same air to 5,000 ft and the density falls to 0.0623 lb/ft³ and the factor to 0.897. The pitot constant behaves identically, which is why 4,005 becomes 4,394 up there: a manometer reading converted with the sea-level number understates the velocity by 10%, and every duct traverse in Denver is wrong by that much unless somebody corrects it.

What this page will not do is turn an airflow into a duct or a room into a requirement. Once you have the CFM, the size of the pipe it goes down is a separate decision made against a friction rate and a noise limit — that is the duct size calculator. If the number you are after is the rate rather than the flow, the air changes per hour calculator works the volume route in both directions against what the ventilation standards actually require. And if the air is doing latent work as well as sensible — dehumidifying, or moving through a wet coil — the sensible factor here is only part of the picture and the psychrometric calculator carries the enthalpy and humidity-ratio side of it. None of this is a stamped design: it is the arithmetic of moving air, and what equipment goes in is a load calculation and an engineer's decision.

Where this airflow is worked out

Every number on this page is worked out by JavaScript running in the tab you are reading it in. Nothing you type — loads, lengths, nameplate ratings, the rates your utility charges you — is uploaded, logged or kept, which is also why the calculators carry on working in a mechanical room with no signal.

The route you pick and the figures you type are held in the page's own memory for as long as the tab is open and nowhere else — reload it and the fields are empty again, so nothing about the job you were sizing is left behind on a shared laptop in a site office.