Planning a patio, driveway, or shed foundation requires precise volume calculations to avoid ordering too little (causing cold joints) or too much (wasting money). The formula for concrete volume depends on converting all dimensions to a common unit, typically cubic feet, and then converting to cubic yards for truck orders.
Since thickness is usually measured in inches, you must divide the thickness by 12 first. For example, a 4-inch slab is 0.33 feet thick.
To get Cubic Yards (the unit sold by ready-mix trucks), divide the Cubic Feet by 27.
Pre-Mix Bags vs. Ready-Mix Truck
When should you mix it yourself versus calling a truck?
Bags (DIY): Best for projects under 1 cubic yard (approx. 45-50 bags of 80lb mix). Good for setting posts, small landings, or repairs.
Ready-Mix Truck: Best for projects over 1 cubic yard. It guarantees consistency and saves immense physical labor. Note that many suppliers have a "short load" fee for orders under 4-6 yards.
Standard Thickness Guide
Pro Tip: Always account for waste! Subgrades are rarely perfectly flat. We recommend adding 5-10% safety margin to ensure you don't run short during the pour.
4 Inches: Standard for residential sidewalks, patios, and shed bases.
5-6 Inches: Recommended for driveways carrying passenger vehicles or hot tubs.
8+ Inches: Heavy-duty commercial aprons or areas with heavy machinery.
How many bags of concrete do I need?
Yields vary slightly by brand, but generally:
80lb Bag: Yields approximately 0.60 cubic feet.
60lb Bag: Yields approximately 0.45 cubic feet.
Our calculator above automatically applies these yield rates to the total volume required for your project.
function calculateConcrete() {
// 1. Get Inputs
var len = document.getElementById('slabLength').value;
var wid = document.getElementById('slabWidth').value;
var thick = document.getElementById('slabThickness').value;
var wasteStr = document.getElementById('wastePct').value;
var priceStr = document.getElementById('pricePerYard').value;
// 2. Validate Inputs
if (len === "" || wid === "" || thick === "") {
alert("Please enter Length, Width, and Thickness.");
return;
}
var lengthFt = parseFloat(len);
var widthFt = parseFloat(wid);
var thickIn = parseFloat(thick);
var wastePct = parseFloat(wasteStr);
var price = parseFloat(priceStr);
if (isNaN(lengthFt) || isNaN(widthFt) || isNaN(thickIn) || lengthFt <= 0 || widthFt <= 0 || thickIn 0) {
totalCost = cubicYards * price;
showCost = true;
}
// 4. Output Results
document.getElementById('res-cuft').innerText = totalCubicFeet.toFixed(2) + " ft³";
document.getElementById('res-cuyd').innerText = cubicYards.toFixed(2) + " yd³";
document.getElementById('res-bags80').innerText = bags80 + " bags";
document.getElementById('res-bags60').innerText = bags60 + " bags";
var costRow = document.getElementById('cost-row');
if (showCost) {
document.getElementById('res-cost').innerText = "$" + totalCost.toFixed(2);
costRow.style.display = "flex";
} else {
costRow.style.display = "none";
}
// Show results area
document.getElementById('results-area').style.display = "block";
}