HVAC Equipment Replacement Cost Estimator

ANALife Services AuthorityNational 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

#### Assumptions & References

(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

Read Next

Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...

References