Estimate volume, bags required, and material cost for your project.
0% (Exact)
5% (Recommended)
10% (Safe)
Total Volume (Cubic Yards):–
Total Volume (Cubic Feet):–
Premixed Bags Needed:
80lb Bags (Quikrete/Sakrete):–
60lb Bags:–
Estimated Material Cost:–
How to Calculate Concrete for Slabs and Patios
Planning a new driveway, patio, or shed base requires precise calculation to avoid running out of material mid-pour or overspending on ready-mix you don't need. This concrete calculator helps you determine exactly how much cement mix you need in cubic yards or premixed bags.
The Concrete Volume Formula
To calculate the concrete volume for a rectangular slab, you use the formula for volume: Length × Width × Thickness. However, because construction measurements mix units (feet for area, inches for thickness), the math requires conversion.
The standard formula used in our calculator is:
Step 1: Convert thickness from inches to feet (divide by 12).
If you aren't ordering a truck (ready-mix), you will likely use premixed bags like Quikrete or Sakrete found at hardware stores. The yield of these bags depends on their weight:
80lb Bag: Yields approximately 0.60 cubic feet.
60lb Bag: Yields approximately 0.45 cubic feet.
For the example above (40 cubic feet), you would calculate bags as follows: 40 ÷ 0.60 = 67 bags (80lb size).
Why Add a Waste Margin?
Professional contractors always order more concrete than the exact mathematical volume implies. This is called the "waste factor" or "margin of safety." We recommend selecting at least 5% to 10% extra in the calculator above to account for:
Uneven subgrade (dips in the ground make the slab thicker in spots).
Spillage during transport or pouring.
Form bowing (wooden forms bending outward under pressure).
Standard Concrete Thickness Guide
4 Inches: Standard for walkways, patios, and residential garage floors.
5-6 Inches: Recommended for driveways holding heavier vehicles or RVs.
6+ Inches: Heavy-duty commercial loads.
function calculateConcrete() {
// Get input values
var length = document.getElementById('slabLength').value;
var width = document.getElementById('slabWidth').value;
var depth = document.getElementById('slabDepth').value;
var waste = document.getElementById('wasteFactor').value;
var price = document.getElementById('pricePerYard').value;
// Validate inputs
if (length === "" || width === "" || depth === "") {
alert("Please enter valid Length, Width, and Thickness.");
return;
}
// Convert strings to floats
var l = parseFloat(length);
var w = parseFloat(width);
var d = parseFloat(depth);
var wastePct = parseFloat(waste);
var priceVal = parseFloat(price);
if (l <= 0 || w <= 0 || d 0) {
totalCost = cubicYards * priceVal;
// Format currency
costText = "$" + totalCost.toFixed(2);
}
// Display Results
document.getElementById('resYards').innerHTML = cubicYards.toFixed(2);
document.getElementById('resFeet').innerHTML = totalCubicFeet.toFixed(2);
document.getElementById('resBags80').innerHTML = bags80;
document.getElementById('resBags60').innerHTML = bags60;
document.getElementById('resCost').innerHTML = costText;
// Show results div
document.getElementById('results').style.display = "block";
}