HVAC Equipment Replacement Cost Estimator
ANA›Life Services Authority›National Calculator Authority›HVAC Equipment Replacement Cost Estimator — Estimate replacement costs based on WV labor rates and system type
.calc-container { max-width: 640px; margin: 2rem 0; padding: 1.5rem; background: #fff; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.06); font-family: system-ui, -apple-system, sans-serif; } .calc-container h3 { font-family: Georgia, serif; font-size: 1.15rem; color: #1a1a1a; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; flex-wrap: wrap; } .calc-row label { min-width: 160px; font-size: 0.9rem; color: #333; font-weight: 500; } .calc-row input[type="number"], .calc-row select { flex: 1; min-width: 120px; max-width: 200px; padding: 0.5rem 0.6rem; border: 1px solid #ccc; border-radius: 4px; font-size: 0.9rem; font-family: system-ui, sans-serif; color: #1a1a1a; background: #fafaf8; } .calc-row input:focus, .calc-row select:focus { outline: none; border-color: var(--ac, #3d5a80); box-shadow: 0 0 0 2px rgba(26,74,138,0.12); } .calc-row .unit { font-size: 0.82rem; color: #888; min-width: 30px; } .calc-btn { display: inline-block; margin-top: 0.5rem; padding: 0.55rem 1.5rem; background: var(--ac, #3d5a80); color: #fff; border: none; border-radius: 4px; font-size: 0.9rem; font-weight: 600; cursor: pointer; font-family: system-ui, sans-serif; } .calc-btn:hover { opacity: 0.9; } .calc-result { margin-top: 1.25rem; padding: 1rem 1.25rem; background: #f0f6fc; border-left: 3px solid var(--ac, #3d5a80); border-radius: 0 6px 6px 0; display: none; } .calc-result.visible { display: block; } .calc-result-label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: #666; margin-bottom: 0.25rem; } .calc-result-value { font-size: 1.6rem; font-weight: 700; color: var(--ac, #3d5a80); } .calc-result-detail { font-size: 0.85rem; color: #555; margin-top: 0.5rem; line-height: 1.5; } .calc-note { margin-top: 1rem; font-size: 0.8rem; color: #888; font-style: italic; } .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 0.75rem; } .calc-grid-item { padding: 0.6rem 0.8rem; background: #f8f9fa; border-radius: 4px; border: 1px solid #eee; } .calc-grid-item .label { font-size: 0.75rem; color: #888; text-transform: uppercase; letter-spacing: 0.04em; } .calc-grid-item .value { font-size: 1.1rem; font-weight: 600; color: #1a1a1a; } @media (max-width: 720px) { .calc-row { flex-direction: column; align-items: flex-start; gap: 0.3rem; } .calc-row label { min-width: auto; } .calc-row input[type="number"], .calc-row select { max-width: 100%; width: 100%; } .calc-grid { grid-template-columns: 1fr; } } .calc-chart { margin: 1rem 0; text-align: center; } .calc-chart svg { max-width: 100%; height: auto; } .calc-chart-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem 1.2rem; margin-top: 0.6rem; font-size: 0.8rem; color: #555; } .calc-chart-legend span { display: inline-flex; align-items: center; gap: 0.3rem; } .calc-chart-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; font-style: normal; } .calc-related { max-width: 640px; margin: 2rem 0 1rem; padding: 1.25rem 1.5rem; background: #f8f9fa; border: 1px solid #e8e8e8; border-radius: 8px; } .calc-related h3 { font-family: Georgia, serif; font-size: 1rem; color: #1a1a1a; margin: 0 0 0.75rem; padding-bottom: 0.4rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-related-list { list-style: none; padding: 0; margin: 0 0 0.75rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem 1.5rem; } .calc-related-list li a { font-size: 0.88rem; color: var(--ac, #3d5a80); text-decoration: none; } .calc-related-list li a:hover { text-decoration: underline; } .calc-browse-all { margin: 0.5rem 0 0; font-size: 0.9rem; font-weight: 600; } .calc-browse-all a { color: var(--ac, #3d5a80); text-decoration: none; } .calc-browse-all a:hover { text-decoration: underline; } @media (max-width: 720px) { .calc-related-list { grid-template-columns: 1fr; } }
HVAC Equipment Replacement Cost Estimator
Estimate replacement costs for common HVAC systems using West Virginia labor rates and equipment pricing benchmarks.
System Type
Central Air Conditioner Heat Pump (Split System) Gas Furnace Mini-Split (Ductless) Boiler (Hot Water/Steam) Package Unit (Rooftop)
System Capacity (Tons for AC/HP/Mini-Split; BTU/hr ÷ 1000 for Furnace/Boiler)
1.5 Tons / 18,000 BTU 2 Tons / 24,000 BTU 2.5 Tons / 30,000 BTU 3 Tons / 36,000 BTU 3.5 Tons / 42,000 BTU 4 Tons / 48,000 BTU 5 Tons / 60,000 BTU
Efficiency Tier
Standard (Min. Code) Mid-Efficiency High-Efficiency (ENERGY STAR)
Ductwork Condition
Existing — Good Condition (No Work Needed) Existing — Needs Minor Repairs New Ductwork Required
Estimated Labor Hours
Include Permit & Inspection Fee?
Yes No
Include Old Equipment Disposal?
Yes No
Calculate Replacement Cost
Your estimate will appear here.
#### Formula
Total Replacement Cost = Equipment Cost + Labor Cost + Ductwork Cost + Permit Fee + Disposal Fee
- Equipment Cost = Base Unit Price × Capacity Multiplier × Efficiency Multiplier
- Labor Cost = Labor Hours × WV Blended HVAC Labor Rate ($75/hr)
- Ductwork Cost = $0 (good) | $400–$800 (repairs) | $1,500–$4,000 (new, by system size)
- Permit Fee = $150 flat (WV average residential HVAC permit)
- Disposal Fee = $75–$150 depending on system type
#### Assumptions & References
- WV blended HVAC technician labor rate: $75/hr (Bureau of Labor Statistics, WV HVAC wage data 2023–2024)
(function() {
// WV labor rate per hour var WV_LABOR_RATE = 75;
// Base equipment costs by system type (mid-size, standard efficiency baseline) var BASE_EQUIPMENT = { central_ac: 1400, heat_pump: 1800, gas_furnace: 900, mini_split: 1100, boiler: 2200, package_unit: 2800 };
// Capacity multipliers (relative to 2.5-ton / 30k BTU baseline) var CAPACITY_MULT = { "1.5": 0.78, "2": 0.88, "2.5": 1.00, "3": 1.12, "3.5": 1.22, "4": 1.35, "5": 1.55 };
// Efficiency multipliers var EFFICIENCY_MULT = { standard: 1.00, mid: 1.18, high: 1.38 };
// Ductwork costs [min, max] var DUCT_COSTS = { existing_good: [0, 0], existing_repair: [400, 800], new: [1500, 4000] };
// New duct cost scales with capacity var DUCT_CAPACITY_SCALE = { "1.5": 0.70, "2": 0.82, "2.5": 1.00, "3": 1.15, "3.5": 1.28, "4": 1.42, "5": 1.65 };
// Disposal fees by system type var DISPOSAL_FEES = { central_ac: 100, heat_pump: 125, gas_furnace: 75, mini_split: 75, boiler: 150, package_unit: 150 };
var PERMIT_FEE = 150;
window.hvaUpdateFields = function() { var sys = document.getElementById('hva-system-type').value; var ductGroup = document.getElementById('hva-duct-group'); // Mini-splits and boilers don't use traditional ductwork if (sys === 'mini_split' || sys === 'boiler') { ductGroup.style.display = 'none'; } else { ductGroup.style.display = ''; } };
window.hvaCalc = function() { var resultEl = document.getElementById('hva-result');
var sys = document.getElementById('hva-system-type').value; var cap = document.getElementById('hva-capacity').value; var eff = document.getElementById('hva-efficiency').value; var ductCond = document.getElementById('hva-ductwork').value; var laborHours = parseFloat(document.getElementById('hva-labor-hours').value); var permit = document.getElementById('hva-permit').value; var disposal = document.getElementById('hva-disposal').value;
// --- Validation --- if (isNaN(laborHours) || laborHours 80) { resultEl.innerHTML = '⚠ Please enter labor hours between 1 and 80.'; return; }
// --- Equipment Cost --- var baseEquip = BASE_EQUIPMENT[sys]; var capMult = CAPACITY_MULT[cap]; var effMult = EFFICIENCY_MULT[eff]; var equipCost = baseEquip * capMult * effMult;
// --- Labor Cost --- var laborCost = laborHours * WV_LABOR_RATE;
// --- Ductwork Cost --- var ductCost = 0; if (sys !== 'mini_split' && sys !== 'boiler') { var ductRange = DUCT_COSTS[ductCond]; var ductScale = DUCT_CAPACITY_SCALE[cap]; var ductMin = ductRange[0] * ductScale; var ductMax = ductRange[1] * ductScale; ductCost = (ductMin + ductMax) / 2; // use midpoint for estimate }
// --- Permit --- var permitCost = (permit === 'yes') ? PERMIT_FEE : 0;
// --- Disposal --- var disposalCost = (disposal === 'yes') ? DISPOSAL_FEES[sys] : 0;
// --- Totals --- var subtotal = equipCost + laborCost + ductCost + permitCost + disposalCost; // ±15% range for estimate band var lowEst = subtotal * 0.85; var highEst = subtotal * 1.15;
// --- Format helpers --- function fmt(n) { return '$' + n.toFixed(0).replace(/\B(?=(\d{3})+(?!\d))/g, ','); }
var sysLabels = { central_ac: 'Central Air Conditioner', heat_pump: 'Heat Pump (Split System)', gas_furnace: 'Gas Furnace', mini_split: 'Mini-Split (Ductless)', boiler: 'Boiler', package_unit: 'Package Unit (Rooftop)' };
var effLabels = { standard: 'Standard (Min. Code)', mid: 'Mid-Efficiency', high: 'High-Efficiency (ENERGY STAR)' };
var ductLabels = { existing_good: 'Existing — Good (No Work)', existing_repair: 'Existing — Minor Repairs', new: 'New Ductwork' };
- var ductRow = (sys !== 'mini_split' && sys !== 'boiler')
- ? 'Ductwork (' + ductLabels[ductCond] + ')' + fmt(ductCost) + ''
- 'DuctworkN/A (no ducts)';
var permitRow = 'Permit & Inspection' + (permit === 'yes' ? fmt(permitCost) : 'Not included') + ''; var disposalRow = 'Old Equipment Disposal' + (disposal === 'yes' ? fmt(disposalCost) : 'Not included') + '';
resultEl.innerHTML = '### Estimated Replacement Cost ' + '' + fmt(lowEst) + ' – ' + fmt(highEst) + '
' + 'Midpoint estimate: ' + fmt(subtotal) + '
' +
'' + '' + '' + 'Cost Component' + 'Amount' + '' + '' + '' + 'System Type' + sysLabels[sys] + '' + 'Capacity' + cap + ' Tons' + 'Efficiency Tier' + effLabels[eff] + '' + 'Equipment Cost' + fmt(equipCost) + '' + 'Labor (' + laborHours + ' hrs × $' + WV_LABOR_RATE + '/hr WV rate)' + fmt(laborCost) + '' + ductRow + permitRow + disposalRow + 'Estimated Total (Midpoint)' + fmt(subtotal) + '' + 'Estimated Range (±15%)' + fmt(lowEst) + ' – ' + fmt(highEst) + '' + '' + '' +
'' + 'ⓘ This is a budgetary estimate. Get 2–3 licensed WV HVAC contractor quotes for accurate pricing. ' + 'Costs vary by brand, site access, refrigerant type, and local market conditions.' + '
'; };
// Initialize field visibility window.hvaUpdateFields();
})();
More Calculators
- New Jersey Home Improvement Contract Value Threshold Checker
- NH Contractor Bond Amount Calculator
- New Jersey Contractor License Fee Calculator
- New Hampshire Sales Tax Calculator for Construction Materials
- New Jersey Contractor Insurance Cost Estimator
- New Jersey Permit Cost Estimator
Read Next
Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...