ForHosting KIT · Engineering & construction

CFM calculator

A 20 by 15 foot room with an 8 foot ceiling and 6 air changes per hour needs 240 CFM. Enter your room and the air changes you want to pick a fan that is neither weak nor oversized. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Length
20
Width
15
Ceiling height
8
Ach
6
You get
Volume
2,400 CFM
Minutes per hour
60
Cfm
240

Sizing ventilation by guesswork either starves a room of fresh air or wastes fan energy on an oversized blower that short-cycles. This CFM calculator converts four positive numbers—room length, room width, ceiling height, and desired air changes per hour—into the required airflow in cubic feet per minute. The method is the standard HVAC volume formula: cubic footage times ACH, divided by sixty minutes in an hour, so a workshop that needs eight air changes uses more CFM than a bedroom of the same footprint that only needs four.

How length, width, ceiling height, and ACH become cubic feet per minute

Required airflow in this calculator is the product of room air volume and desired air changes per hour, divided by sixty minutes. Length and width are the interior plan dimensions in feet; for a rectangular room they are the two wall-to-wall distances, and for an L-shaped or bay-windowed space they should come from a measured plan so volume is not understated.

Ceiling height is the vertical distance from finished floor to finished ceiling in feet; vaulted or tray ceilings should use the average height so the cubic footage matches the air that actually sits in the room. Volume is simply length times width times ceiling height, which is the cubic footage that the fan must replace.

Air changes per hour, often written ACH, is how many times that full volume should be exchanged every hour: a quiet bedroom might target two to four, a bathroom six to eight, a kitchen seven to eight, and a dusty workshop eight to ten or more. Multiplying volume by ACH gives cubic feet per hour; dividing by sixty converts that hourly volume into cubic feet per minute, the nameplate unit on exhaust fans, supply registers, and inline blowers.

A twenty-by-fifteen-foot room with an eight-foot ceiling and six air changes per hour therefore needs two hundred forty CFM, because twenty times fifteen times eight is two thousand four hundred cubic feet, times six is fourteen thousand four hundred cubic feet per hour, divided by sixty is two hundred forty.

What you send, what you get back, and how validation fails

A twelve-by-ten-foot room with a nine-foot ceiling and eight air changes per hour yields one hundred forty-four CFM, which is a typical small bathroom exhaust. Raise the ceiling or the ACH target and the airflow climbs because both volume and exchange rate increased. Validation failures name the offending field so a form can highlight length when someone types zero, or ach when a spreadsheet leaked a negative.

Wire the free browser form for retail floor staff and homeowners, then call the identical contract from your backend when you size catalog filters or contractor intake. Upper limits protect the isolate: length and width at most ten thousand feet, ceiling height at most one hundred feet, and ACH at most one hundred twenty.

Where a CFM calculator earns its keep

Home improvement retailers and marketplace listings need a quick CFM band so customers pick a bathroom fan or kitchen exhaust that can actually turn the listed room over instead of returning an underpowered unit after the first stuffy week. Property managers and short-term rental hosts estimate supplemental ventilation for windowless baths and converted attics before buying inline fans for guest season.

HVAC sales desks and insulation contractors use the same four-input model as a first-pass sanity check before committing to a full Manual J or ASHRAE 62.2 survey with occupancy, infiltration tests, and duct friction. Builders and interior designers working on studio conversions, garden rooms, and garage workshops want a volume-aware number that does not pretend every room has an eight-foot ceiling or the same air-change target.

If you later need a unit conversion from CFM to litres per second, cooling BTU from room size, or HVAC tonnage, treat those as separate search intents and landings rather than overloading this CFM page. The tool is a volume-and-ACH rule of thumb, not a substitute for a licensed ventilation design on a whole house or a commercial fit-out.

Bathroom and kitchen exhaust shopping

Homeowners enter room length, width, ceiling height, and a target ACH to pick an exhaust fan whose nameplate CFM covers the required airflow without guessing from square footage alone.

Contractor intake and catalog filters

HVAC desks and e-commerce configurators map room dimensions and ACH to a CFM band so product filters and first-pass quotes stay consistent with the published calculator.

How is required CFM calculated from room size and air changes?

CFM equals length (ft) times width (ft) times ceiling height (ft) times air changes per hour, divided by 60. That is room volume in cubic feet times ACH, converted from cubic feet per hour into cubic feet per minute.

What air changes per hour should I use?

Typical residential targets: bedrooms about 2–4 ACH, living rooms 3–4, bathrooms 6–8, kitchens 7–8, and workshops 8–10 or more. The field is a positive number, so you can pass a code-required or measured ACH instead of a closed list.

What happens if a dimension is zero or negative?

Length, width, ceiling height, and air changes per hour must all be positive; a non-positive dimension cannot size required airflow and is not billed.

Is this a full ASHRAE or Manual J ventilation design?

No. It is the standard volume-and-ACH rule of thumb for first-pass fan sizing. Occupancy, infiltration, duct friction, and climate-zone tables are out of scope and belong on other landings.

What ceiling height should I enter for a vaulted ceiling?

Enter the average height of the room. That way the volume matches the air that actually sits in the space, and the fan is sized for the real room rather than for its lowest or highest point.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/build/cfm

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/build/cfm \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"length":20,"width":15,"ceiling_height":8,"ach":6}'
{
  "length": 20,
  "width": 15,
  "ceiling_height": 8,
  "ach": 6
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "build.cfm",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

max_length10000
min_length1e-9
max_width10000
min_width1e-9
max_ceiling_height100
min_ceiling_height1e-9
max_ach120
min_ach1e-9
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Identical inputs always produce identical CFM; there is no network, no clock, and no model drift between the public page and the API.

How length, width, ceiling height, and ACH become cubic feet per minute

Every arithmetic step is deterministic floating-point math with stable rounding: the same four positives always produce the same JSON. Missing fields, non-finite numbers, and any dimension that is zero or negative fail early with invalid_input and are not charged.

What you send, what you get back, and how validation fails

Send four required numeric fields. length is a finite positive number for interior room length in feet. width is a finite positive number for interior room width in feet. ceiling_height is a finite positive number for ceiling height in feet. ach is a finite positive number for desired air changes per hour. Strings that parse as finite numbers are accepted the same as JSON numbers, and aliases such as length_ft, room_width, height, and air_changes_per_hour are recognized so existing forms do not need a rename. On success the response echoes the cleaned inputs, the computed volume in cubic feet, the constant sixty minutes per hour, the required cfm value, a unit of CFM, the formula string, and a method tag. Pricing for successful API calls is the published base of $0.002 per item; validation failures do not consume prepaid balance.

Where a CFM calculator earns its keep

E-commerce configurators and chat agents call the API to map length, width, ceiling height, and ACH into a CFM recommendation that stays identical to the public calculator page. Because this capability is a pure parse engine, API pricing is the published base of $0.002 per successful item and failed validation does not consume balance.

Rental and property-manager ventilation checks

Hosts and facilities teams size supplemental fans for windowless baths and converted attics before guest season, using the same contract the public widget runs.

What does the CFM calculator cost?

The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.

Read the full KIT documentation →