ForHosting KIT · Home, food & hobbies

Duct size calculator

400 CFM at 700 FPM calls for a 12-inch round duct, the next stock size above the exact diameter, plus a rectangular equivalent at a 1.5 width-to-height ratio. The real velocity at that size is shown too. 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
Airflow cfm
400
Velocity fpm
700
Aspect ratio
1.5
You get
Free area sqft
0.5714285714
Free area sqin
82.2857142857
Round diameter in
10.2356936939
Recommended round in
12

A duct size calculator turns the supply airflow you must deliver and the air speed you will tolerate into a concrete free area and stock duct dimensions.

How free area and duct diameter come from CFM and velocity

Supply air ducts are first sized by the velocity method: the volume of air you must move, in cubic feet per minute, divided by the design face velocity, in feet per minute, yields the free cross-sectional area in square feet. That free area is the geometric contract of the duct—round, rectangular, or oval—before fittings, friction rate, and available static pressure refine the selection.

For a circular cross-section the area equals pi times the square of the radius, so rearranging gives diameter in feet as twice the square root of free area over pi, and diameter in inches as twenty-four times that same square root. This calculator applies exactly that identity and then maps the exact diameter up to the next common commercial round size (four through sixty inches in the usual steps) so you can buy stock pipe or flex that is not undersized for the target velocity.

Because upsizing the duct slightly lowers the actual velocity for the same CFM, the response also reports actual velocity at the recommended round diameter so you can confirm the run stays in a quiet band. Rectangular equivalents use an optional aspect ratio of width over height: height in feet is the square root of free area divided by the ratio, and width is the ratio times height, converted to inches for shop drawings.

Default velocity of seven hundred feet per minute suits quiet residential supply mains; branches often run lower, while commercial mains may run higher. Default aspect ratio of one point five produces a moderately flat rectangular duct when round stock is not practical. This is first-pass sizing guidance, not a full equal-friction Manual D design with fitting equivalent lengths, duct material roughness, or system static pressure; treat the output as a transparent starting point and verify against manufacturer tables and code when the job requires stamped design.

Practical tips, limits, and related searches

Start from the design CFM for the zone or run from your load calculation or equipment schedule, not from register face velocity alone. Choose a lower target FPM when noise is critical (bedrooms, living rooms) and a higher FPM when space is tight and a slightly louder main is acceptable; remember that lower velocity always needs a larger free area for the same airflow. Use the recommended round size for flex and spiral, and the rectangular pair when you must snake through joists with a flat plenum.

Keep dimensions inside the published absolute range so products cannot overflow into non-finite results the solver must reject. Prefer this capability when you already know CFM and only need a transparent free area and stock size; if your source is a multi-branch tree, call once per run and sum areas with care for simultaneous diversity.

Size a bedroom supply branch

Homeowners and techs enter room CFM and a quiet target FPM to get free area, recommended round diameter, and actual velocity before ordering flex.

Why default velocity to 700 FPM?

About 700 feet per minute is a common quiet residential supply-main target. Lower FPM for quieter branches; higher FPM when space is limited and more noise is acceptable.

How are rectangular duct sides calculated?

With free area A and aspect ratio r = W/H, height is 12×√(A/r) inches and width is r times height.

What size duct do I need for 400 CFM?

A 12-inch round duct at the default 700 FPM. The exact diameter comes out a little over 10 inches, and the calculator rounds up to the next stock size so the run is never undersized for the target speed.

What air velocity should I use for bedrooms?

A lower one than for a main trunk. Quiet rooms such as bedrooms and living rooms call for a lower target speed, which needs a larger duct for the same airflow; a higher speed saves space but makes the run louder.

Is this result a complete duct design?

No. It is first-pass sizing by the velocity method, without fittings, duct roughness or system static pressure. Check it against manufacturer tables and local code whenever the job needs a stamped design.

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/home/duct-size

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/home/duct-size \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"airflow_cfm":400}'
{
  "airflow_cfm": 400
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "home.duct_size",
  "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.

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.

Non-positive airflow is rejected with a clear invalid_input error instead of inventing a duct from zero flow.

How to call the API and what comes back

Velocity and aspect ratio, when provided, must also be positive and within limits. Prefer sending numbers rather than pre-formatted strings when you control the client; when you must send strings, avoid unit suffixes or thousand separators that would fail the finite-number pattern. Send a JSON body with required airflow_cfm in cubic feet per minute (aliases cfm, airflow, q, flow, volume_flow, supply_cfm) and optional velocity_fpm in feet per minute (aliases velocity, fpm, v, target_velocity, air_velocity; default seven hundred) and aspect_ratio as width over height (aliases ratio, wh_ratio, width_height_ratio, ar; default one point five). Airflow must be a finite positive number within the published absolute range so intermediate products remain finite in IEEE double precision on the Worker and in the browser. Non-positive airflow is the primary hard error this capability advertises: zero or negative CFM cannot define a free area and returns invalid_input. On success the response echoes rounded airflow_cfm, velocity_fpm, and aspect_ratio; publishes free_area_sqft and free_area_sqin; round_diameter_in as the exact circular diameter; recommended_round_in as the next standard catalog size; actual_velocity_at_recommended_fpm; rect_width_in and rect_height_in for the rectangular equivalent; unit labels; formula as the human-readable equation string; message as a short English summary; and steps as an ordered array of substitution lines. Failed validation—missing airflow, non-finite numbers, non-positive CFM or velocity or aspect ratio, or values outside absolute limits—returns invalid_input and is never charged. Pricing is a flat $0.002 per successful request with unit item.

Practical tips, limits, and related searches

When teaching or writing tests, pair a default seven-hundred-FPM four-hundred-CFM branch with a high-velocity commercial case, and include a deliberate zero or negative CFM to prove the invalid_input path. This landing targets people searching for a duct size calculator, supply air duct CFM to diameter, HVAC free area from velocity, or round versus rectangular duct sizing online; it is not a return-duct specialty tool with different velocity rules, not a friction-loss calculator, not a fitting library, and not an insulation or sheet-metal gauge estimator. Failed tasks that return invalid_input do not consume prepaid balance, which keeps exploratory scripts cheap when you deliberately send airflow zero to verify error handling. Round-trip checks are easy: recompute CFM divided by FPM, rebuild diameter from twenty-four times the square root of area over pi, and confirm the published free_area_sqft and round_diameter_in match within the same twelve-decimal rounding used for all numeric fields.

Estimate rectangular plenum sides

Installers set aspect_ratio for a flat joist bay and read rect_width_in and rect_height_in that match the same free area as the round solution.

Golden fixtures for HVAC apps

Developers generate known-good CFM/FPM cases plus deliberate non-positive airflow rejections for unit tests and continuous integration.

How do I size a supply duct from CFM and velocity?

Send positive airflow_cfm and optional velocity_fpm (default 700). Free area is CFM/FPM; round diameter is 24×√(A/π); recommended_round_in is the next standard size at or above that diameter.

What happens if airflow_cfm is zero or negative?

The task fails with invalid_input. Non-positive CFM cannot define free area, so the request is rejected and not billed.

What does the duct size 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 →