Water Damage Cost Estimator
ANA›Life Services Authority›National Calculator Authority›Water Damage Cost Estimator
.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; } }
Water Damage Cost Estimator
Estimate the total cost of water damage restoration based on affected area, damage category, water class, and material types involved.
Affected Area (sq ft)
Water Damage Category
Category 1 – Clean Water (burst pipe, rain) Category 2 – Grey Water (appliance overflow, toilet overflow w/o feces) Category 3 – Black Water (sewage, floodwater)
Water Damage Class
Class 1 – Minimal absorption (part of one room) Class 2 – Significant absorption (entire room, carpet/pad) Class 3 – Greatest absorption (walls, ceilings, insulation) Class 4 – Specialty drying (hardwood, concrete, plaster)
Flooring Type
Carpet Hardwood Tile / Vinyl Concrete / Unfinished
Drywall Affected?
No Yes – Partial (up to 4 ft high) Yes – Full Wall Height
Mold Remediation Needed?
No Yes – Minor (surface mold) Yes – Extensive (structural mold)
Contents Restoration Needed?
No Yes – Minor (few items) Yes – Significant (furniture, electronics)
Estimate Cost
function watCalc() { var area = parseFloat(document.getElementById('wat-area').value); var category = parseInt(document.getElementById('wat-category').value); var cls = parseInt(document.getElementById('wat-class').value); var flooring = document.getElementById('wat-flooring').value; var drywall = parseInt(document.getElementById('wat-drywall').value); var mold = parseInt(document.getElementById('wat-mold').value); var contents = parseInt(document.getElementById('wat-contents').value);
var errors = []; if (isNaN(area) || area 100000) errors.push("Affected area seems unrealistically large (max 100,000 sq ft).");
if (errors.length > 0) { document.getElementById('wat-result').innerHTML = '⚠ ' + errors.join('⚠ ') + ''; return; }
// --- Base extraction & drying cost ($/sq ft) --- // Source: IICRC S500 standard, HomeAdvisor, Angi national averages // Base rate by category var categoryRate = { 1: 3.75, 2: 6.50, 3: 10.00 }; // Class multiplier var classMultiplier = { 1: 1.0, 2: 1.35, 3: 1.75, 4: 2.10 };
var baseCostPerSqFt = categoryRate[category] * classMultiplier[cls]; var extractionDryingCost = baseCostPerSqFt * area;
// --- Flooring removal & replacement cost ($/sq ft) --- var flooringCost = 0; var flooringRates = { carpet: 4.50, hardwood: 12.00, tile: 7.00, concrete: 1.50 }; // Category 1 Class 1: flooring may be salvageable; otherwise replace var flooringDamageMultiplier = (category === 1 && cls === 1) ? 0.4 : 1.0; flooringCost = flooringRates[flooring] * area * flooringDamageMultiplier;
// --- Drywall repair cost --- // Partial = 4 ft height assumed, full = 8 ft height // Perimeter estimated as 4 * sqrt(area) for a square room approximation var perimeter = 4 * Math.sqrt(area); var drywallCostPerSqFt = 2.50; // removal + replacement avg var drywallCost = 0; if (drywall === 1) { drywallCost = perimeter * 4 * drywallCostPerSqFt; // 4 ft height } else if (drywall === 2) { drywallCost = perimeter * 8 * drywallCostPerSqFt; // 8 ft height }
// --- Mold remediation cost --- // Source: EPA guidelines, HomeAdvisor mold remediation averages var moldCost = 0; if (mold === 1) { moldCost = Math.max(500, area * 2.00); // minor: $2/sq ft, min $500 } else if (mold === 2) { moldCost = Math.max(2000, area * 6.00); // extensive: $6/sq ft, min $2,000 }
// --- Contents restoration cost --- var contentsCost = 0; if (contents === 1) contentsCost = 500; else if (contents === 2) contentsCost = 2500;
// --- Structural drying equipment rental (dehumidifiers, air movers) --- // Estimated 3–7 days depending on class; ~$75/day per unit, ~1 unit per 150 sq ft var dryingDays = [0, 3, 5, 7, 10][cls] || 5; var units = Math.ceil(area / 150); var equipmentCost = units * dryingDays * 75;
// --- Subtotal --- var subtotal = extractionDryingCost + flooringCost + drywallCost + moldCost + contentsCost + equipmentCost;
// --- Overhead & profit margin (20%) --- var overhead = subtotal * 0.20; var total = subtotal + overhead;
// --- Low / High range (±20%) --- var low = total * 0.80; var high = total * 1.20;
var flooringLabel = { carpet: 'Carpet', hardwood: 'Hardwood', tile: 'Tile/Vinyl', concrete: 'Concrete' }; var categoryLabel = { 1: 'Category 1 (Clean)', 2: 'Category 2 (Grey)', 3: 'Category 3 (Black)' }; var classLabel = { 1: 'Class 1', 2: 'Class 2', 3: 'Class 3', 4: 'Class 4' };
var html = '### 💧 Water Damage Cost Estimate '; html += ''; html += 'Cost ComponentEstimated Cost'; html += 'Water Extraction & Drying (' + area.toLocaleString() + ' sq ft × $' + baseCostPerSqFt.toFixed(2) + ')$' + extractionDryingCost.toLocaleString('en-US',{minimumFractionDigits:0,maximumFractionDigits:0}) + ''; html += 'Drying Equipment (' + units + ' units × ' + dryingDays + ' days)$' + equipmentCost.toLocaleString('en-US',{minimumFractionDigits:0,maximumFractionDigits:0}) + ''; html += 'Flooring Removal & Replacement (' + flooringLabel[flooring] + ')$' + flooringCost.toLocaleString('en-US',{minimumFractionDigits:0,maximumFractionDigits:0}) + ''; if (drywallCost > 0) html += 'Drywall Repair$' + drywallCost.toLocaleString('en-US',{minimumFractionDigits:0,maximumFractionDigits:0}) + ''; if (moldCost > 0) html += 'Mold Remediation$' + moldCost.toLocaleString('en-US',{minimumFractionDigits:0,maximumFractionDigits:0}) + ''; if (contentsCost > 0) html += 'Contents Restoration$' + contentsCost.toLocaleString('en-US',{minimumFractionDigits:0,maximumFractionDigits:0}) + ''; html += 'Overhead & Profit (20%)$' + overhead.toLocaleString('en-US',{minimumFractionDigits:0,maximumFractionDigits:0}) + ''; html += 'Total Estimated Cost$' + total.toLocaleString('en-US',{minimumFractionDigits:0,maximumFractionDigits:0}) + ''; html += ''; html += '📊 Typical Range: $' + low.toLocaleString('en-US',{minimumFractionDigits:0,maximumFractionDigits:0}) + ' – $' + high.toLocaleString('en-US',{minimumFractionDigits:0,maximumFractionDigits:0}) + ' (±20% based on regional labor rates and contractor pricing)
'; html += 'Inputs: ' + area.toLocaleString() + ' sq ft | ' + categoryLabel[category] + ' | ' + classLabel[cls] + ' | ' + flooringLabel[flooring] + ' flooring
';
document.getElementById('wat-result').innerHTML = html; }
#### Formula
Total Cost = (Extraction & Drying + Equipment + Flooring + Drywall + Mold + Contents) × 1.20
- Extraction & Drying = Area (sq ft) × Category Base Rate × Class Multiplier
- Category Base Rates: Cat 1 = $3.75/sq ft | Cat 2 = $6.50/sq ft | Cat 3 = $10.00/sq ft
- Class Multipliers: Class 1 = 1.0× | Class 2 = 1.35× | Class 3 = 1.75× | Class 4 = 2.10×
- Equipment = ⌈Area ÷ 150⌉ units × Drying Days × $75/day (Class 1=3d, 2=5d, 3=7d, 4=10d)
- Flooring: Carpet $4.50 | Hardwood $12.00 | Tile $7.00 | Concrete $1.50 per sq ft
- Drywall: Estimated perimeter (4√Area) × height (4 ft partial / 8 ft full) × $2.50/sq ft
- Mold: Minor = max($500, $2/sq ft) | Extensive = max($2,000, $6/sq ft)
- Contents: Minor = $500 flat | Significant = $2,500 flat
- Overhead & Profit: 20% applied to subtotal
#### Assumptions & References
- Water damage categories (1–3) and classes (1–4) follow IICRC S500 Standard for Professional Water Damage Restoration.
- Base extraction and drying rates sourced from HomeAdvisor and Angi national cost data (2023–2024 averages: $1,300–$5,600 for typical residential claims).
- Flooring replacement costs based on RSMeans residential cost data and national contractor averages.
- Mold remediation costs aligned with EPA mold remediation guidelines and industry averages ($500–$30,000 depending on scope).
More Calculators
- Home Renovation ROI Calculator
- Investment Portfolio Risk Assessment Calculator
- Rainwater Runoff and Drainage Calculator
- Roof Age and Remaining Lifespan Calculator
- Home Inspection Cost Estimator
- Transfer Switch Load Calculator
- HOA Fee Budget Calculator
- Pool Maintenance Cost Estimator
- Pool Salt System Calculator
- Pool Evaporation & Water Loss Calculator
- Pool Turnover Rate Calculator
- Pool Energy Cost Calculator
Read Next
Study Time Planner ANA › Life Services Authority › National Calculator Authority › Study Time Planner .calc-container { max-width: 640px; margin:...