Calculating the correct amount of concrete is critical for any construction project, whether you are pouring a new patio, driveway, or footings. Ordering too little leads to cold joints and structural weaknesses, while ordering too much results in wasted money and disposal issues.
Step-by-Step Calculation
Measure Dimensions: Determine the length and width of your area in feet. If you have extra inches, convert them to decimal feet (e.g., 6 inches = 0.5 feet).
Determine Thickness: Most residential walkways are 4 inches thick, while driveways meant for heavy vehicles should be 5 to 6 inches thick.
Calculate Cubic Feet: Multiply Length × Width × Thickness (in feet). For a 4-inch slab, multiply by 0.333.
Convert to Cubic Yards: Since concrete is sold by the cubic yard, divide your total cubic feet by 27.
Project Examples
Standard Patio (10′ x 10′ @ 4″): Requires approximately 1.23 cubic yards (including 10% waste).
Typical Walkway (3′ x 20′ @ 4″): Requires approximately 0.82 cubic yards (including 10% waste).
Double Driveway (20′ x 20′ @ 6″): Requires approximately 8.15 cubic yards (including 10% waste).
Why the Waste Factor Matters
In the construction industry, it is standard practice to add a 5% to 10% waste factor. This accounts for variations in the subgrade (ground not being perfectly level), form deflection, and spillage during the pour. It is always better to have a small amount left over than to run short when the cement truck is on-site.
function calculateConcrete() {
// Get inputs
var lFt = parseFloat(document.getElementById('calc_length_ft').value) || 0;
var lIn = parseFloat(document.getElementById('calc_length_in').value) || 0;
var wFt = parseFloat(document.getElementById('calc_width_ft').value) || 0;
var wIn = parseFloat(document.getElementById('calc_width_in').value) || 0;
var thicknessIn = parseFloat(document.getElementById('calc_thickness').value) || 0;
var pricePerYd = parseFloat(document.getElementById('calc_price_yard').value) || 0;
var wastePercent = parseFloat(document.getElementById('calc_waste').value) || 0;
// Total dimensions in feet
var totalLength = lFt + (lIn / 12);
var totalWidth = wFt + (wIn / 12);
var totalThickness = thicknessIn / 12;
// Calculate Volume in Cubic Feet
var volCuFt = totalLength * totalWidth * totalThickness;
// Add Waste
volCuFt = volCuFt * (1 + (wastePercent / 100));
// Convert to Cubic Yards
var volCuYd = volCuFt / 27;
// Bag Yields (Approximate)
// 80lb bag = 0.60 cu ft
// 60lb bag = 0.45 cu ft
var bags80 = Math.ceil(volCuFt / 0.6);
var bags60 = Math.ceil(volCuFt / 0.45);
// Total Cost
var totalCost = volCuYd * pricePerYd;
// Display Results
document.getElementById('concrete_results').style.display = 'block';
document.getElementById('res_yards').innerText = volCuYd.toFixed(2);
document.getElementById('res_feet').innerText = volCuFt.toFixed(2);
document.getElementById('res_bags80').innerText = bags80;
document.getElementById('res_bags60').innerText = bags60;
document.getElementById('res_cost').innerText = totalCost.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
}