*Calculations include a standard 5-10% waste buffer. Bag counts are rounded up to the nearest whole bag.
How to Calculate Concrete for Your Project
Planning a patio, driveway, or shed foundation requires accurate measurements to ensure you order enough concrete without overspending. This Concrete Calculator helps you determine exactly how much ready-mix concrete or how many pre-mixed bags (60lb or 80lb) you need for your slab.
The Concrete Formula
To calculate the volume of concrete required for a slab, you need to determine the cubic footage and then convert it to cubic yards, which is the standard unit for ordering from a truck delivery service.
The math works like this:
Step 1: Convert the thickness from inches to feet (Divide inches by 12).
Step 2: Multiply Length (ft) × Width (ft) × Thickness (ft) to get Cubic Feet.
Step 3: Divide the Cubic Feet by 27 to get Cubic Yards (since 1 cubic yard = 27 cubic feet).
Pre-Mixed Bags vs. Truck Delivery
If your project is small (typically under 1 cubic yard), buying pre-mixed bags from a hardware store is usually more economical. Standard sizes are 60lb and 80lb bags.
80lb bag yield: Approximately 0.60 cubic feet of cured concrete.
60lb bag yield: Approximately 0.45 cubic feet of cured concrete.
For larger projects requiring more than 2-3 cubic yards, ordering a ready-mix truck is often easier and cheaper per yard, though minimum order charges may apply.
Standard Slab Thicknesses
Choosing the right thickness is vital for the longevity of your concrete structure:
4 Inches: Standard for walkways, patios, and residential garage floors.
5-6 Inches: Recommended for driveways that hold heavier vehicles or RVs.
6+ Inches: Heavy-duty commercial applications or foundations.
function calculateConcrete() {
// Get input elements by ID
var lengthInput = document.getElementById("slabLength");
var widthInput = document.getElementById("slabWidth");
var thicknessInput = document.getElementById("slabThickness");
var quantityInput = document.getElementById("slabQuantity");
var priceInput = document.getElementById("pricePerYard");
// Get values
var length = parseFloat(lengthInput.value);
var width = parseFloat(widthInput.value);
var thickInches = parseFloat(thicknessInput.value);
var quantity = parseFloat(quantityInput.value) || 1;
var price = parseFloat(priceInput.value);
// Validation
if (isNaN(length) || isNaN(width) || isNaN(thickInches) || length <= 0 || width <= 0 || thickInches 0) {
document.getElementById("resCost").innerHTML = "$" + totalCost.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
costRow.style.display = "flex";
} else {
costRow.style.display = "none";
}
// Show Result Section
document.getElementById("concrete-result").style.display = "block";
// Scroll to results
document.getElementById("concrete-result").scrollIntoView({behavior: "smooth"});
}