Whether you are pouring a patio, a driveway, or a shed foundation, calculating the correct amount of concrete is the most critical step in the planning process. Ordering too little can result in a catastrophic "cold joint" where new wet concrete meets dry concrete, while ordering too much is a waste of money and resources. This calculator helps you determine the exact volume in cubic yards and the number of premix bags required for your project.
The Concrete Calculation Formula
Concrete is measured by volume. To find the amount required, you need to calculate the cubic footage of the area and then convert it to cubic yards (the standard unit for ordering ready-mix trucks).
The basic formula is:
Step 1: Multiply Length (ft) × Width (ft) to get the Square Footage.
Step 2: Convert Thickness from inches to feet by dividing by 12.
Step 4: Divide Cubic Feet by 27 to get Cubic Yards.
Understanding Thickness Requirements
Different projects require different slab thicknesses. Choosing the right depth ensures structural integrity:
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 foundations or areas with heavy machinery.
Bagged Concrete vs. Ready-Mix Truck
Should you buy bags or order a truck? This calculator provides estimates for both.
Premix Bags (60lb or 80lb): Ideal for small projects under 1 cubic yard (approx. 45-50 bags). If your project requires more than a yard, the physical labor of mixing by hand becomes difficult.
Ready-Mix Truck: Best for projects over 1-2 cubic yards. It guarantees a consistent mix and saves hours of labor. Note that many suppliers have a minimum order (often 3 to 5 yards) or charge a "short load" fee.
Why Include a Waste Margin?
In the calculator above, we include an option for waste margin. Professional contractors typically add 5% to 10% extra material. This accounts for:
Spillage during transport or wheelbarrowing.
Uneven subgrade (dips in the ground) that increase volume.
Settling of the concrete after pouring.
Form bowing under the weight of wet concrete.
function calculateConcrete() {
// 1. Get Input Values
var len = document.getElementById('slabLength').value;
var wid = document.getElementById('slabWidth').value;
var thick = document.getElementById('slabThickness').value;
var wasteStr = document.getElementById('slabWaste').value;
var priceStr = document.getElementById('slabPrice').value;
// 2. Validate Inputs
// Convert to float
var L = parseFloat(len);
var W = parseFloat(wid);
var T = parseFloat(thick);
var waste = parseFloat(wasteStr);
var price = parseFloat(priceStr);
var errorBox = document.getElementById('calcError');
var resultBox = document.getElementById('calcResults');
// Check if valid numbers
if (isNaN(L) || isNaN(W) || isNaN(T) || L <= 0 || W <= 0 || T 0) {
var totalCost = totalCubicYards * price;
document.getElementById('resCost').innerHTML = '$' + totalCost.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('costRow').style.display = 'flex';
} else {
document.getElementById('costRow').style.display = 'none';
}
// 4. Update Output Elements
document.getElementById('resYards').innerHTML = totalCubicYards.toFixed(2) + ' Cubic Yards';
document.getElementById('resFeet').innerHTML = totalCubicFeet.toFixed(2) + ' cu ft';
document.getElementById('resBags80').innerHTML = bags80 + ' bags';
document.getElementById('resBags60').innerHTML = bags60 + ' bags';
}