Calculate the appropriate HVAC duct size based on airflow and velocity requirements.
Round
Rectangular
Recommended Duct Size
Understanding HVAC Duct Sizing
Properly sized HVAC ductwork is crucial for an efficient and comfortable home or building. Undersized ducts can restrict airflow, leading to reduced heating and cooling performance, increased energy consumption, and premature wear on your HVAC equipment. Oversized ducts can lead to noise issues and inefficient air distribution.
This calculator helps determine the appropriate dimensions for your ductwork based on two key parameters: the required airflow (measured in Cubic Feet per Minute, CFM) and the target air velocity (measured in Feet Per Minute, FPM).
The Math Behind Duct Sizing
The fundamental principle used in duct sizing is the relationship between airflow, velocity, and the cross-sectional area of the duct. The core formula is derived from the continuity equation in fluid dynamics:
Airflow (CFM) = Area (sq ft) * Velocity (FPM)
To find the required cross-sectional area of the duct, we rearrange this formula:
Area (sq ft) = Airflow (CFM) / Velocity (FPM)
Calculating Area
First, the calculator determines the required cross-sectional area in square feet. For example, if you need 400 CFM and your target velocity is 700 FPM:
Area = 400 CFM / 700 FPM = 0.5714 sq ft
Converting to Square Inches
Since duct dimensions are typically measured in inches, we convert the area from square feet to square inches (1 sq ft = 144 sq inches):
Area (sq inches) = Area (sq ft) * 144
Using our example: 0.5714 sq ft * 144 sq in/sq ft = 82.28 sq inches
Determining Duct Dimensions
Once the required cross-sectional area in square inches is known, the calculator determines the appropriate duct dimensions:
Round Ducts: The area of a circle is π * radius² or π * (diameter/2)². We solve for the diameter:
Area = π * (Diameter²/4) Diameter² = (4 * Area) / π Diameter = sqrt((4 * Area) / π) For our example (82.28 sq inches):
Diameter = sqrt((4 * 82.28) / 3.14159) = sqrt(104.8) ≈ 10.24 inches
The calculator would then typically recommend a standard duct size close to this, often rounding up to the nearest available size like 10″ or 12″.
Rectangular Ducts: The area of a rectangle is Width * Height. For a given required area, there are many possible width and height combinations. This calculator works best when one dimension (either width or height) is known or limited by installation constraints (e.g., joist space). If a width is provided, it calculates the required height:
Height = Area / Width If no specific dimension is provided, it might suggest a square duct (Width = Height) or a common aspect ratio. For simplicity, if a width is entered, it calculates the corresponding height. Let's assume a maximum available width of 12 inches:
Height = 82.28 sq inches / 12 inches ≈ 6.86 inches
This would suggest a 12″ x 7″ or 12″ x 8″ duct.
Friction Rate (Alternative Method)
While this calculator uses airflow and velocity, another common method for duct sizing involves friction rate (inches of water gauge per 100 feet of duct). HVAC designers often use ductulator wheels or software that considers friction rate along with airflow to determine appropriate duct sizes, balancing system performance and installation costs.
When to Use This Calculator
This calculator is useful for:
DIY Homeowners: Planning a new duct system or replacing sections.
HVAC Technicians: Performing initial assessments or verifying existing ductwork.
Building Designers: Estimating duct requirements during the design phase.
Disclaimer: This calculator provides an estimation based on common industry guidelines. For critical applications or complex systems, always consult with a qualified HVAC professional and refer to ACCA (Air Conditioning Contractors of America) Manual D for detailed residential duct design.
function calculateDuctSize() {
var airflow = parseFloat(document.getElementById("airflow").value);
var velocity = parseFloat(document.getElementById("velocity").value);
var ductType = document.getElementById("ductType").value;
var rectWidth = parseFloat(document.getElementById("rectWidth").value);
var rectHeight = parseFloat(document.getElementById("rectHeight").value);
var resultDiv = document.getElementById("result");
var calculatedSizeDiv = document.getElementById("calculatedSize");
var unitOfMeasureDiv = document.getElementById("unitOfMeasure");
var notesDiv = document.getElementById("notes");
// Clear previous results
resultDiv.style.display = "none";
calculatedSizeDiv.textContent = "";
unitOfMeasureDiv.textContent = "";
notesDiv.textContent = "";
// Validate inputs
if (isNaN(airflow) || airflow <= 0) {
alert("Please enter a valid positive number for Required Airflow.");
return;
}
if (isNaN(velocity) || velocity D = sqrt(4*Area/pi)
var diameterInches = Math.sqrt((4 * areaSqIn) / Math.PI);
recommendedSize = diameterInches.toFixed(2);
displayUnit = "inches (Diameter)";
calculationNotes = "This is the theoretical diameter. Round up to the nearest standard duct size.";
// Set dimensions for rectangular input to be hidden if round is selected
document.getElementById("rectangular-dimensions").style.display = "none";
} else if (ductType === "rectangular") {
document.getElementById("rectangular-dimensions").style.display = "flex"; // Show rect dimensions
if (!isNaN(rectWidth) && rectWidth > 0) {
var calculatedHeightInches = areaSqIn / rectWidth;
recommendedSize = rectWidth.toFixed(2) + '" x ' + calculatedHeightInches.toFixed(2) + '"';
displayUnit = "inches (Width x Height)";
calculationNotes = "Based on your provided width. Ensure the height fits installation constraints.";
} else if (!isNaN(rectHeight) && rectHeight > 0) {
var calculatedWidthInches = areaSqIn / rectHeight;
recommendedSize = calculatedWidthInches.toFixed(2) + '" x ' + rectHeight.toFixed(2) + '"';
displayUnit = "inches (Width x Height)";
calculationNotes = "Based on your provided height. Ensure the width fits installation constraints.";
} else {
// If neither width nor height is provided, suggest a square duct
var sideLength = Math.sqrt(areaSqIn);
recommendedSize = sideLength.toFixed(2) + '" x ' + sideLength.toFixed(2) + '"';
displayUnit = "inches (Square)";
calculationNotes = "Suggesting a square duct. Adjust dimensions as needed for installation.";
}
}
calculatedSizeDiv.textContent = recommendedSize;
unitOfMeasureDiv.textContent = displayUnit;
notesDiv.textContent = calculationNotes;
resultDiv.style.display = "block";
}
// Handle showing/hiding rectangular dimensions based on selection
document.getElementById("ductType").addEventListener("change", function() {
var rectDiv = document.getElementById("rectangular-dimensions");
if (this.value === "rectangular") {
rectDiv.style.display = "flex";
} else {
rectDiv.style.display = "none";
}
});