Estimate volume, bags, and cost for your concrete project.
Project Totals
Total Volume (Cubic Yards):–
Total Volume (Cubic Feet):–
80lb Bags Needed (Pre-mix):–
60lb Bags Needed (Pre-mix):–
Estimated Cost (Ready Mix Truck):–
Estimated Cost (80lb Bags):–
How to Calculate Concrete for Slabs, Driveways, and Patios
Whether you are pouring a simple patio, a garage floor, or a full driveway, getting the math right is the most critical step in concrete work. Ordering too little concrete results in a "cold joint" which weakens the structure, while ordering too much wastes money. This calculator helps you determine the exact volume in cubic yards and cubic feet, accounting for standard waste margins.
The Concrete Volume Formula
Concrete is measured by volume. The basic formula to determine the amount of concrete needed for a rectangular slab is:
Volume = Length × Width × Thickness
However, since length and width are usually measured in feet and thickness in inches, you must convert the units. To get Cubic Feet:
Convert thickness to feet: Thickness (inches) ÷ 12
To convert Cubic Feet to Cubic Yards (the standard unit for ordering ready-mix trucks), divide the total cubic feet by 27.
Standard Thickness Guide
Choosing the right thickness ensures your slab can handle the load:
4 Inches: Standard for walkways, patios, and residential garage floors (passenger cars).
5-6 Inches: Recommended for driveways accommodating heavier vehicles, trucks, or RVs.
8+ Inches: Heavy-duty commercial aprons or areas with heavy machinery.
Bags vs. Ready-Mix Truck
Should you mix it yourself or call a truck?
Pre-Mixed Bags (60lb or 80lb): Ideal for small projects under 1 cubic yard (e.g., setting posts, small sidewalk pads). It is labor-intensive as it requires physical mixing.
Ready-Mix Truck: Best for projects over 1-2 cubic yards. It guarantees a consistent mix and saves immense physical labor, though companies often have a "short load" fee for orders under 4-5 yards.
Why Include a Waste Margin?
No sub-grade is perfectly flat, and forms can bow slightly under the weight of wet concrete. It is industry standard to add a 5% to 10% safety margin to your order. This calculator automatically applies the percentage you select to ensure you don't run short during the pour.
function calculateConcrete() {
// Get Inputs
var length = parseFloat(document.getElementById('slabLength').value);
var width = parseFloat(document.getElementById('slabWidth').value);
var thickInch = parseFloat(document.getElementById('slabThickness').value);
var wastePercent = parseFloat(document.getElementById('wasteFactor').value);
var costYard = parseFloat(document.getElementById('pricePerYard').value);
var costBag = parseFloat(document.getElementById('pricePerBag').value);
// Validation
if (isNaN(length) || isNaN(width) || isNaN(thickInch)) {
alert("Please enter valid numbers for Length, Width, and Thickness.");
return;
}
if (length <= 0 || width <= 0 || thickInch 0) {
totalCostTruck = totalVolYards * costYard;
showCost = true;
}
if (!isNaN(costBag) && costBag > 0) {
totalCostBags = bags80 * costBag;
showCost = true;
}
// Update UI
document.getElementById('resYards').innerHTML = totalVolYards.toFixed(2);
document.getElementById('resFeet').innerHTML = totalVolFeet.toFixed(2);
document.getElementById('resBags80').innerHTML = bags80;
document.getElementById('resBags60').innerHTML = bags60;
if (showCost) {
document.getElementById('costSection').style.display = 'block';
if (!isNaN(costYard) && costYard > 0) {
document.getElementById('resCostTruck').innerHTML = "$" + totalCostTruck.toFixed(2);
} else {
document.getElementById('resCostTruck').innerHTML = "N/A";
}
if (!isNaN(costBag) && costBag > 0) {
document.getElementById('resCostBags').innerHTML = "$" + totalCostBags.toFixed(2);
} else {
document.getElementById('resCostBags').innerHTML = "N/A";
}
} else {
document.getElementById('costSection').style.display = 'none';
}
document.getElementById('results').style.display = 'block';
}