Flex Duct Calculator

Flex Duct Size Calculator

Calculate the required flexible duct diameter and airflow velocity.

Cubic Feet per Minute needed for the room.
Residential standard is typically 0.10 or 0.08.
Distance from the plenum to the register.

Calculation Results

Calculated Diameter:

in

Recommended Round Size:

Velocity (FPM):

Total Static Loss:

Warning: Air velocity exceeds 700 FPM. This may cause excessive duct noise in residential settings.

Understanding Flex Duct Sizing and Airflow

Correctly sizing a flexible duct is critical for HVAC efficiency and home comfort. Unlike rigid metal ducts, flexible ducts have a higher internal friction due to the helical wire structure and the potential for "sag" or "compression." If a flex duct is undersized, the HVAC system will struggle to move air, leading to higher energy bills, frozen evaporator coils, and noisy registers.

Key Variables in the Calculation

  • CFM (Cubic Feet per Minute): The volume of air required for a specific room. Typically, you need about 400 CFM per ton of cooling.
  • Friction Rate: This represents the resistance to airflow. While 0.10 is the common design standard for residential systems, many designers use 0.08 or 0.05 to account for the additional turbulence found in flexible piping.
  • Velocity (FPM): Feet Per Minute. For residential branches, it is best to keep velocity below 600-700 FPM to ensure quiet operation.

Standard Flex Duct Sizing Chart (at 0.10 Friction)

Duct Diameter Approx. CFM Capacity Max Room Size (Approx)
6 Inches 100 CFM 150 sq. ft.
8 Inches 200 CFM 300 sq. ft.
10 Inches 400 CFM 600 sq. ft.
12 Inches 600 CFM 900 sq. ft.

Installation Tips for Best Performance

To ensure your ductwork performs according to these calculations, follow these industry-standard installation rules:

  1. Keep it Taught: Flex duct should be pulled tight. Every 4% of compression (longitudinal slack) can increase friction loss by up to 20%.
  2. Wide Bends: Ensure all turns have a radius at least equal to the diameter of the duct. Sharp 90-degree bends in flex duct kill airflow.
  3. Support: Support the duct every 4 feet using straps that are at least 1.5 inches wide to prevent "pinching" or "sagging."
  4. Seal Joints: Use UL-181 listed mastic or tape at all connections to the plenum and boots.
Note: This calculator is for estimation purposes based on the Equal Friction Method. Always consult a licensed HVAC professional for Manual D design.
function calculateFlexDuct() { var cfm = parseFloat(document.getElementById('inputCFM').value); var friction = parseFloat(document.getElementById('inputFriction').value); var length = parseFloat(document.getElementById('inputLength').value); var resDiameter = document.getElementById('resDiameter'); var resCommercial = document.getElementById('resCommercial'); var resVelocity = document.getElementById('resVelocity'); var resLoss = document.getElementById('resLoss'); var warningBox = document.getElementById('warningBox'); if (isNaN(cfm) || cfm <= 0 || isNaN(friction) || friction <= 0) { alert("Please enter valid positive numbers for Airflow and Friction Rate."); return; } // Duct sizing formula based on equal friction method // D = 3.92 * (CFM^1.9 / friction)^0.199 // This is derived from the Darcy-Weisbach equation for air var diameter = 3.92 * Math.pow(Math.pow(cfm, 1.9) / friction, 0.199); // Calculate Commercial/Standard Size (Even numbers) var standardSizes = [4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 20]; var recommendedSize = standardSizes[standardSizes.length – 1]; for (var i = 0; i = diameter) { recommendedSize = standardSizes[i]; break; } } // Calculate Velocity using the recommended round size // Area in sq ft = PI * (r/12)^2 var radiusInFeet = (recommendedSize / 2) / 12; var areaSqFt = Math.PI * Math.pow(radiusInFeet, 2); var velocity = cfm / areaSqFt; // Calculate Total Static Pressure Loss for the run var totalLoss = 0; if (!isNaN(length) && length > 0) { totalLoss = (friction * length) / 100; } // Display Results resDiameter.innerHTML = diameter.toFixed(2) + ' in'; resCommercial.innerHTML = recommendedSize + '" Round Flex'; resVelocity.innerHTML = Math.round(velocity) + ' FPM'; resLoss.innerHTML = (totalLoss > 0) ? totalLoss.toFixed(3) + ' " w.c.' : "–"; // Warning Logic if (velocity > 700) { warningBox.style.display = 'block'; } else { warningBox.style.display = 'none'; } }

Leave a Reply

Your email address will not be published. Required fields are marked *