Carpet Repair Cost Estimator
ANA›Life Services Authority›National Calculator Authority›Carpet Repair 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; } }
Carpet Repair Cost Estimator
Estimate your carpet repair costs based on damage type, affected area, carpet quality, and local labor rates.
Damage Type
Patch / Cut-out Replacement Re-stretching / Buckling Fix Seam Repair Burn / Stain Spot Repair Full Room Re-installation
Affected Area (sq ft)
Carpet Grade / Quality
Economy ($1–$2/sq ft) Mid-Range ($2–$4/sq ft) Premium ($4–$7/sq ft)
Labor Rate ($/hr)
Replace Padding?
No Yes (+$0.50–$1.00/sq ft)
Furniture Moving Required?
No Yes (+$50–$150 flat fee)
Calculate Fill in the fields above and click Calculate.
function carCalc() { const damageType = document.getElementById('car-damage-type').value; const area = parseFloat(document.getElementById('car-area').value); const carpetGrade = document.getElementById('car-carpet-grade').value; const laborRate = parseFloat(document.getElementById('car-labor-rate').value); const padding = document.getElementById('car-padding').value; const furniture = document.getElementById('car-furniture').value; const resultEl = document.getElementById('car-result');
// --- Input Validation --- if (isNaN(area) || area ⚠ Please enter a valid affected area (sq ft).'; return; } if (isNaN(laborRate) || laborRate 300) { resultEl.innerHTML = '⚠ Please enter a labor rate between $20 and $300/hr.'; return; } if (area > 5000) { resultEl.innerHTML = '⚠ Area seems too large. Please enter a value ≤ 5,000 sq ft.'; return; }
// --- Carpet Material Cost ($/sq ft) --- const materialCostMap = { economy : { low: 1.00, high: 2.00 }, mid : { low: 2.00, high: 4.00 }, premium : { low: 4.00, high: 7.00 } }; const matRange = materialCostMap[carpetGrade];
// --- Damage-type multipliers & labor hours --- // Each damage type uses a fraction of the total area for material // and has an estimated labor-hours-per-sq-ft range. const damageMap = { patch : { matFraction: 1.00, laborLow: 0.10, laborHigh: 0.20, minLaborHrs: 1.0, label: 'Patch / Cut-out Replacement' }, restretch : { matFraction: 0.00, laborLow: 0.05, laborHigh: 0.10, minLaborHrs: 1.5, label: 'Re-stretching / Buckling Fix' }, seam : { matFraction: 0.10, laborLow: 0.15, laborHigh: 0.25, minLaborHrs: 1.0, label: 'Seam Repair' }, burn : { matFraction: 0.20, laborLow: 0.08, laborHigh: 0.15, minLaborHrs: 0.5, label: 'Burn / Stain Spot Repair' }, full : { matFraction: 1.00, laborLow: 0.12, laborHigh: 0.20, minLaborHrs: 2.0, label: 'Full Room Re-installation' } }; const dmg = damageMap[damageType];
// --- Material Cost --- const matLow = area * dmg.matFraction * matRange.low; const matHigh = area * dmg.matFraction * matRange.high;
// --- Labor Cost --- const laborHrsLow = Math.max(dmg.minLaborHrs, area * dmg.laborLow); const laborHrsHigh = Math.max(dmg.minLaborHrs, area * dmg.laborHigh); const laborLow = laborHrsLow * laborRate; const laborHigh = laborHrsHigh * laborRate;
// --- Padding Cost --- let padLow = 0, padHigh = 0; if (padding === 'yes') { padLow = area * 0.50; padHigh = area * 1.00; }
// --- Furniture Moving Cost --- let furnLow = 0, furnHigh = 0; if (furniture === 'yes') { furnLow = 50; furnHigh = 150; }
// --- Totals --- const totalLow = matLow + laborLow + padLow + furnLow; const totalHigh = matHigh + laborHigh + padHigh + furnHigh; const totalMid = (totalLow + totalHigh) / 2;
// --- Cost per sq ft --- const perSqFtLow = totalLow / area; const perSqFtHigh = totalHigh / area;
function fmt(n) { return '$' + n.toFixed(2).replace(/\B(?=(\d{3})+(?!\d))/g, ','); }
resultEl.innerHTML = '### Estimated Carpet Repair Cost ' + '' + 'Component' + 'Low' + 'High' + (dmg.matFraction > 0 ? 'Material (' + dmg.label + ')' + '' + fmt(matLow) + '' + '' + fmt(matHigh) + '' : '') + 'Labor (' + laborHrsLow.toFixed(1) + '–' + laborHrsHigh.toFixed(1) + ' hrs @ ' + fmt(laborRate) + '/hr)' + '' + fmt(laborLow) + '' + '' + fmt(laborHigh) + '' + (padding === 'yes' ? 'Padding Replacement' + '' + fmt(padLow) + '' + '' + fmt(padHigh) + '' : '') + (furniture === 'yes' ? 'Furniture Moving' + '' + fmt(furnLow) + '' + '' + fmt(furnHigh) + '' : '') + '' + 'TOTAL ESTIMATE' + '' + fmt(totalLow) + '' + '' + fmt(totalHigh) + '' + '' + 'Midpoint Estimate: ' + fmt(totalMid) + ' | Cost per sq ft: ' + fmt(perSqFtLow) + ' – ' + fmt(perSqFtHigh) + '
' + 'Estimates are for budgeting purposes. Get 2–3 local quotes for accuracy.
'; }
#### Formula
Total Cost = Material Cost + Labor Cost + Padding Cost (optional) + Furniture Moving (optional) Material Cost = Area (sq ft) × Material Fraction (by damage type) × Carpet Grade Rate ($/sq ft) • Patch / Full Re-install: 100% of area uses new material • Seam Repair: ~10% of area; Burn/Stain: ~20%; Re-stretch: 0% (no new carpet) Labor Cost = max(Minimum Hours, Area × Labor Hours/sq ft) × Labor Rate ($/hr) • Patch: 0.10–0.20 hrs/sq ft, min 1.0 hr • Re-stretch: 0.05–0.10 hrs/sq ft, min 1.5 hrs • Seam Repair: 0.15–0.25 hrs/sq ft, min 1.0 hr • Burn/Stain: 0.08–0.15 hrs/sq ft, min 0.5 hr • Full Re-install: 0.12–0.20 hrs/sq ft, min 2.0 hrs Padding Cost = Area × $0.50–$1.00/sq ft (if replacing padding) Furniture Moving = $50–$150 flat fee (if required)
#### Assumptions & References
More Calculators
- Service Entrance Wire Size Calculator
- Motor Starting Current Calculator
- Circuit Breaker Sizing Calculator
- Brute Force Attack Time Calculator
- GFCI and AFCI Placement Calculator
- Hash Collision Probability Calculator
- Vocabulary Growth Rate Calculator
- Phoenix Cooling Load Calculator (Manual J Estimate)
- Ventilation Rate Calculator (ASHRAE 62.2)
- Seattle Heat Pump Sizing Calculator
- Humidity and Dew Point Calculator for Seattle Climate
- HVAC Equipment Lifespan and Replacement Cost Estimator
Read Next
Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...