Please enter valid positive numbers for all fields.
Slab Area:0 sq ft
Volume (Cubic Feet):0 cu ft
Required Concrete (Cubic Yards):0 cu yd
80lb Bags Needed (Pre-mix):0 bags
Estimated Material Cost:$0.00
How to Calculate Concrete Slab Costs
Planning a patio, driveway, or shed foundation requires accurate measurements to ensure you order enough concrete without overspending. This Concrete Slab Calculator helps homeowners and contractors estimate the volume of concrete required in cubic yards, as well as the estimated material cost.
The Concrete Calculation Formula
To determine the amount of concrete needed for a slab, you must calculate the volume in cubic feet and then convert it to cubic yards, which is the standard unit for ordering ready-mix concrete.
Step 1: Calculate Area. Multiply Length (feet) × Width (feet) to get Square Footage.
Step 2: Account for Thickness. Convert your slab thickness from inches to feet by dividing by 12. (e.g., 4 inches ÷ 12 = 0.33 feet).
Step 3: Calculate Volume. Multiply Area × Thickness (in feet) to get Cubic Feet.
Step 4: Convert to Cubic Yards. Divide Cubic Feet by 27 (since there are 27 cubic feet in one cubic yard).
Why Include a Waste Margin?
Professional concrete finishers always order slightly more concrete than the exact mathematical volume implies. This "waste margin" accounts for:
Spillage during the pour.
Uneven subgrade (ground) depth.
Settling of the formwork.
A safety margin of 5% to 10% is standard for rectangular slabs on flat ground. For complex shapes or uneven terrain, consider adding 15%.
Standard Slab Thicknesses
Choosing the right thickness depends on the project:
4 Inches: Standard for residential sidewalks, patios, and garage floors for passenger cars.
5-6 Inches: Recommended for driveways holding heavier trucks, RVs, or heavy machinery.
function calculateConcrete() {
var lengthInput = document.getElementById("slabLength");
var widthInput = document.getElementById("slabWidth");
var thickInput = document.getElementById("slabThickness");
var priceInput = document.getElementById("pricePerYard");
var wasteInput = document.getElementById("wasteFactor");
var length = parseFloat(lengthInput.value);
var width = parseFloat(widthInput.value);
var thickness = parseFloat(thickInput.value);
var price = parseFloat(priceInput.value);
var wastePercent = parseFloat(wasteInput.value);
var errorDiv = document.getElementById("errorMsg");
var resultsDiv = document.getElementById("resultsArea");
// Validation
if (isNaN(length) || length <= 0 ||
isNaN(width) || width <= 0 ||
isNaN(thickness) || thickness 0) {
totalCost = totalYardsNeeded * price;
}
// Display Results
document.getElementById("resArea").innerText = areaSqFt.toFixed(2) + " sq ft";
document.getElementById("resCuFt").innerText = volumeCuFt.toFixed(2) + " cu ft";
// Round yards to 2 decimal places for display
document.getElementById("resCuYards").innerText = totalYardsNeeded.toFixed(2) + " cu yd";
document.getElementById("resBags").innerText = bagsNeeded + " bags (80lb)";
if (totalCost > 0) {
document.getElementById("resCost").innerText = "$" + totalCost.toFixed(2);
} else {
document.getElementById("resCost").innerText = "Enter price to calculate";
}
resultsDiv.style.display = "block";
}