A French drain is an effective solution for managing surface water and protecting your home's foundation. Calculating the correct amount of gravel is crucial to ensure efficient drainage and to prevent over-ordering materials.
The Calculation Formula
To find the volume of gravel, we follow these steps:
Step 2: Calculate Pipe Displacement. If you are using a 4-inch pipe, it occupies a specific volume of space that doesn't need gravel. We subtract this volume from the total.
Step 3: Add Waste Factor. Usually, 10-15% is added to account for settling, compaction into the soil, and uneven trench walls.
Step 4: Convert to Weight. Gravel is typically sold by the ton. Standard #57 drainage stone weighs approximately 1.4 tons per cubic yard.
Why Pipe Diameter Matters
Most residential French drains use a 4-inch perforated pipe. In a 100-foot run, a 4-inch pipe displaces roughly 8.7 cubic feet of space. Failing to account for this can lead to ordering more gravel than the trench can physically hold.
Practical Example
If you have a 50-foot trench that is 12 inches wide and you want to fill it with 18 inches of gravel using a 4-inch pipe:
Trench Volume: 50′ × 1′ × 1.5′ = 75 cubic feet.
Pipe Displacement: ~4.36 cubic feet.
Net Volume: 70.64 cubic feet (approx 2.62 cubic yards).
With 10% waste: 2.88 cubic yards.
Total Weight: ~4.03 Tons.
function calculateFrenchDrain() {
var length = parseFloat(document.getElementById('trenchLength').value);
var width = parseFloat(document.getElementById('trenchWidth').value) / 12; // convert inches to feet
var depth = parseFloat(document.getElementById('gravelDepth').value) / 12; // convert inches to feet
var pipeDia = parseFloat(document.getElementById('pipeDiameter').value);
var waste = parseFloat(document.getElementById('wasteFactor').value) / 100;
var density = parseFloat(document.getElementById('gravelDensity').value);
if (isNaN(length) || isNaN(width) || isNaN(depth) || length 0) {
var radiusFt = (pipeDia / 2) / 12;
pipeDispCuFt = Math.PI * Math.pow(radiusFt, 2) * length;
}
// Net Volume
var netVolCuFt = totalVolCuFt – pipeDispCuFt;
if (netVolCuFt < 0) netVolCuFt = 0;
var netVolCuYds = netVolCuFt / 27;
var weightTons = netVolCuYds * density;
var finalWeight = weightTons * (1 + waste);
// Display Results
document.getElementById('resTotalVol').innerText = totalVolCuFt.toFixed(2) + " Cu Ft";
document.getElementById('resPipeDisp').innerText = pipeDispCuFt.toFixed(2) + " Cu Ft";
document.getElementById('resNetVol').innerText = netVolCuYds.toFixed(2) + " Cu Yds";
document.getElementById('resWeight').innerText = weightTons.toFixed(2) + " Tons";
document.getElementById('resFinal').innerText = finalWeight.toFixed(2) + " Tons";
document.getElementById('fdResults').style.display = 'block';
// Smooth scroll to results
document.getElementById('fdResults').scrollIntoView({ behavior: 'smooth', block: 'nearest' });
}