Foundation Repair Cost Estimator
ANA›Life Services Authority›National Calculator Authority›Foundation 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; } }
Foundation Repair Cost Estimator
Estimate your foundation repair costs based on damage type, severity, home size, and regional labor factors.
Damage / Repair Type
Minor Crack Sealing (hairline cracks) Major Crack Repair (structural cracks) Steel Pier / Underpinning (per pier) Slab Jacking / Mudjacking Bowing Wall Anchors Interior Waterproofing System Full Foundation Replacement
Damage Severity
Mild – cosmetic / early-stage Moderate – noticeable settling or cracking Severe – significant structural movement
Home Footprint / Affected Area (sq ft)
Number of Piers Needed
Site Access Difficulty
Easy – open yard, no obstacles Moderate – some landscaping / tight spaces Difficult – limited access, heavy landscaping
Regional Labor Cost Index
Low – rural / Midwest / South Average – suburban US High – Northeast / West Coast / major metros
Include Permit & Inspection Fee?
Yes No
Calculate Repair Cost
Fill in the fields above and click Calculate.
(function() {
// Base costs per repair type // piering: cost per pier; others: cost per sq ft of affected/home area const BASE = { crack_minor: { perSqft: 3.50, label: "Minor Crack Sealing", unit: "sq ft" }, crack_major: { perSqft: 12.00, label: "Major Crack Repair", unit: "sq ft" }, piering: { perPier: 1400, label: "Steel Pier / Underpinning", unit: "pier" }, slabjack: { perSqft: 6.00, label: "Slab Jacking / Mudjacking", unit: "sq ft" }, wall_anchor: { perSqft: 5.50, label: "Bowing Wall Anchors", unit: "sq ft" }, waterproofing: { perSqft: 9.00, label: "Interior Waterproofing System", unit: "sq ft" }, full_replace: { perSqft: 55.00, label: "Full Foundation Replacement", unit: "sq ft" } };
const PERMIT_FEE = 650; // flat average permit + inspection cost (USD)
function showHideFields(type) { const sqftGroup = document.getElementById('fou-sqft-group'); const piersGroup = document.getElementById('fou-piers-group'); if (type === 'piering') { sqftGroup.style.display = 'none'; piersGroup.style.display = ''; } else { sqftGroup.style.display = ''; piersGroup.style.display = 'none'; } }
window.fouCalc = function() { const type = document.getElementById('fou-damage-type').value; const severity = parseFloat(document.getElementById('fou-severity').value); const sqft = parseFloat(document.getElementById('fou-sqft').value); const piers = parseInt(document.getElementById('fou-piers').value, 10); const access = parseFloat(document.getElementById('fou-access').value); const region = parseFloat(document.getElementById('fou-region').value); const permit = parseInt(document.getElementById('fou-permit').value, 10);
showHideFields(type);
const resultEl = document.getElementById('fou-result');
// --- Input validation --- if (type !== 'piering') { if (isNaN(sqft) || sqft 10000) { resultEl.innerHTML = '⚠ Please enter a valid area between 100 and 10,000 sq ft.'; return; } } else { if (isNaN(piers) || piers 60) { resultEl.innerHTML = '⚠ Please enter between 1 and 60 piers.'; return; } }
const info = BASE[type];
// --- Core cost calculation --- let baseCost; if (type === 'piering') { // Base cost = piers × cost_per_pier baseCost = piers * info.perPier; } else { // Base cost = sq_ft × cost_per_sqft baseCost = sqft * info.perSqft; }
// Apply severity multiplier const severityCost = baseCost * severity;
// Apply access difficulty multiplier const accessCost = severityCost * access;
// Apply regional labor index const laborCost = accessCost * region;
// Permit fee (flat, not multiplied by region — it's a government fee) const permitCost = permit ? PERMIT_FEE : 0;
// Total const total = laborCost + permitCost;
// Contingency range ±15% const low = total * 0.85; const high = total * 1.15;
const fmt = v => '$' + v.toLocaleString('en-US', {minimumFractionDigits: 0, maximumFractionDigits: 0});
// Severity label const sevLabels = { '1': 'Mild', '1.35': 'Moderate', '1.75': 'Severe' }; const sevLabel = severity === 1.0 ? 'Mild' : severity === 1.35 ? 'Moderate' : 'Severe';
resultEl.innerHTML = ` ### Estimated Foundation Repair Cost
Repair Type\${info.label} Base Material & Labor\${fmt(baseCost)} Severity Adjustment (\${sevLabel} ×\${severity})\${fmt(severityCost)} Access Difficulty (×\${access})\${fmt(accessCost)} Regional Labor Index (×\${region})\${fmt(laborCost)} \${permit ? `Permit & Inspection\${fmt(permitCost)}` : ''} Total Estimate\${fmt(total)} Likely Range (±15%)\${fmt(low)} – \${fmt(high)}
⚠ This is a planning estimate. Obtain at least 3 contractor quotes before proceeding.
`; };
// Run on load with defaults fouCalc(); })();
#### Formula
For area-based repairs: Base Cost = Affected Area (sq ft) × Base Rate ($/sq ft) For pier-based repairs: Base Cost = Number of Piers × Cost per Pier ($1,400) Then: Adjusted Cost = Base Cost × Severity Multiplier × Access Multiplier × Regional Labor Index Total = Adjusted Cost + Permit Fee (if selected) Range = Total × 0.85 to Total × 1.15
Base Rates Used:
#### Assumptions & References
More Calculators
- Breathing Rate & Pattern Calculator
- EV Range vs Michigan Winter Temperature Calculator
- Derivative and Integral Step-by-Step Calculator
- Home Charging Station Installation Cost Estimator
- EV Range and Trip Planner Calculator
- Charging Speed and Time Calculator
- Air Scrubber Runtime Calculator
- Class Action Settlement Per-Member Payout Estimator
- Contingency Fee vs. Hourly Fee Cost Comparator
- Civil Penalty & Damages Estimator
- Nebraska Small Claims Court Limit Checker
- Nebraska Divorce Filing Cost Estimator
Read Next
Contingency Fee Vs Hourly Fee Cost Comparator ANA › Life Services Authority › National Calculator Authority › Contingency Fee vs.
Nebraska Small Claims Court Limit Checker ANA › Life Services Authority › National Calculator Authority › Nebraska Small Claims Court Limit Checker .calc-container {...
Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...