Calculate cubic yards and premix bags needed for your project.
0% (Exact)
5% (Recommended)
10% (Safe)
Estimated Materials Needed
Total Volume (Cubic Yards):–
Total Volume (Cubic Feet):–
80lb Bags (Premix):–
60lb Bags (Premix):–
Estimated Truck Cost:–
How to Calculate Concrete for a Slab
Planning a patio, driveway, or walkway requires precise measurements to ensure you order enough concrete without overspending. The math behind concrete volume is straightforward but requires converting all measurements to a standard unit.
The Formula: Volume = Length × Width × Thickness
Since concrete is typically sold in cubic yards, but dimensions are often measured in feet and inches, the following steps are used:
Convert the thickness (inches) into feet by dividing by 12.
Multiply Length (ft) × Width (ft) × Thickness (ft) to get Cubic Feet.
Divide Cubic Feet by 27 (since there are 27 cubic feet in one cubic yard) to get Cubic Yards.
Standard Slab Thicknesses
Choosing the right depth for your concrete slab depends on its intended use:
4 Inches: Standard for walkways, patios, and residential garage floors.
5-6 Inches: Recommended for driveways that host heavier vehicles (SUVs, trucks).
6+ Inches: Heavy-duty applications, such as commercial loading docks or dumpster pads.
Premix Bags vs. Ready-Mix Truck
If your project is small (under 1-2 cubic yards), using premix bags from a hardware store is often more economical. For larger projects, ordering a ready-mix truck is usually cheaper per yard and saves significant labor.
Rule of Thumb:
One cubic yard equals approximately 45 bags of 80lb concrete.
One cubic yard equals approximately 60 bags of 60lb concrete.
Why Include a Waste Factor?
We highly recommend adding a 5% to 10% safety margin to your order. This accounts for:
Uneven subgrade (dirt) depth.
Spillage during the pour.
Settling of the formwork.
It is far better to have a small amount of leftover concrete than to run short halfway through your pour!
function calculateConcrete() {
// 1. Get input values
var length = document.getElementById('slabLength').value;
var width = document.getElementById('slabWidth').value;
var depth = document.getElementById('slabDepth').value;
var wasteStr = document.getElementById('wasteFactor').value;
var priceStr = document.getElementById('pricePerYard').value;
// 2. Validate inputs
if (length === "" || width === "" || depth === "") {
alert("Please enter values for Length, Width, and Depth.");
return;
}
var L = parseFloat(length);
var W = parseFloat(width);
var D = parseFloat(depth);
var wastePercent = parseFloat(wasteStr);
if (isNaN(L) || isNaN(W) || isNaN(D)) {
alert("Please enter valid numbers.");
return;
}
// 3. Calculation Logic
// Convert depth inches to feet
var depthInFeet = D / 12;
// Calculate Cubic Feet
var cubicFeetRaw = L * W * depthInFeet;
// Apply Waste Factor
var cubicFeetTotal = cubicFeetRaw * (1 + (wastePercent / 100));
// Calculate Cubic Yards (1 Yard = 27 Cubic Feet)
var cubicYards = cubicFeetTotal / 27;
// Calculate Bags
// Approx yield: 80lb bag = 0.6 cu ft, 60lb bag = 0.45 cu ft
var bags80 = Math.ceil(cubicFeetTotal / 0.6);
var bags60 = Math.ceil(cubicFeetTotal / 0.45);
// Calculate Cost if provided
var totalCost = 0;
var showCost = false;
if (priceStr !== "") {
var pricePerYard = parseFloat(priceStr);
if (!isNaN(pricePerYard)) {
totalCost = cubicYards * pricePerYard;
showCost = true;
}
}
// 4. Display Results
document.getElementById('res-yards').innerHTML = cubicYards.toFixed(2);
document.getElementById('res-feet').innerHTML = cubicFeetTotal.toFixed(2);
document.getElementById('res-bags80').innerHTML = bags80 + " bags";
document.getElementById('res-bags60').innerHTML = bags60 + " bags";
if (showCost) {
document.getElementById('cost-row').style.display = "flex";
document.getElementById('res-cost').innerHTML = "$" + totalCost.toFixed(2);
} else {
document.getElementById('cost-row').style.display = "none";
}
document.getElementById('calc-results').style.display = "block";
}