Please enter valid positive numbers for dimensions.
Total Volume (Cu. Yards):0.00
Total Volume (Cu. Feet):0.00
80lb Bags Needed:0
60lb Bags Needed:0
*Estimates include selected waste margin. Always round up to the nearest whole bag.
How to Calculate Concrete for Slabs and Patios
Planning a DIY concrete project requires precise measurements to ensure you order enough material without excessive waste. Whether you are pouring a patio, a driveway, or a shed foundation, understanding how to calculate concrete volume is the first critical step.
The Concrete Volume Formula
Concrete is sold by volume, typically in Cubic Yards for truck deliveries or Cubic Feet for pre-mix bags. To find the volume of a rectangular slab, use the following logic:
Volume = Length × Width × Thickness
However, since length and width are usually measured in feet and thickness in inches, you must convert the thickness to feet first:
Step 3: To get Cubic Yards, divide Cubic Feet by 27.
How Many Bags of Concrete Do I Need?
If you are using pre-mixed bags (like Quikrete or Sakrete) for smaller projects, you don't need a truck. The yield of a bag depends on its weight:
80lb Bag: Yields approximately 0.60 cubic feet.
60lb Bag: Yields approximately 0.45 cubic feet.
To calculate the number of bags, simply divide your total required Cubic Feet by the yield of the bag size you intend to buy.
Why Include a Waste Margin?
Professional contractors always calculate a "waste margin" or "spillage factor." This calculator includes an option for 5% or 10% extra material. This is crucial because:
Excavation sites are rarely perfectly level, meaning some spots may be deeper than measured.
Spillage occurs during mixing and pouring.
Concrete forms may bow slightly outward under the weight of the wet mix.
For a standard square patio, a 5% safety margin is usually sufficient. for irregular shapes or uneven ground, calculate for 10%.
Standard Slab Thicknesses
4 Inches: Standard for residential sidewalks, patios, and steps.
5-6 Inches: Recommended for driveways and areas supporting heavy vehicles or machinery.
function calculateConcrete() {
// 1. Get DOM elements
var lenInput = document.getElementById('slabLength');
var widInput = document.getElementById('slabWidth');
var thickInput = document.getElementById('slabThickness');
var wasteInput = document.getElementById('wasteFactor');
var resultBox = document.getElementById('result');
var errorMsg = document.getElementById('errorMsg');
var resYards = document.getElementById('resYards');
var resFeet = document.getElementById('resFeet');
var res80lb = document.getElementById('res80lb');
var res60lb = document.getElementById('res60lb');
// 2. Parse values
var length = parseFloat(lenInput.value);
var width = parseFloat(widInput.value);
var thicknessInches = parseFloat(thickInput.value);
var wastePercent = parseFloat(wasteInput.value);
// 3. Validation logic
if (isNaN(length) || isNaN(width) || isNaN(thicknessInches) || length <= 0 || width <= 0 || thicknessInches <= 0) {
errorMsg.style.display = 'block';
resultBox.style.display = 'none';
return;
}
// 4. Hide error if valid
errorMsg.style.display = 'none';
// 5. Calculation Logic
// Convert thickness to feet
var thicknessFeet = thicknessInches / 12;
// Calculate cubic feet (raw)
var cubicFeetRaw = length * width * thicknessFeet;
// Add waste margin
var cubicFeetTotal = cubicFeetRaw * (1 + wastePercent);
// Convert to Cubic Yards (1 yard = 27 cubic feet)
var cubicYardsTotal = cubicFeetTotal / 27;
// Calculate Bags
// 80lb bag yields approx 0.6 cubic feet
// 60lb bag yields approx 0.45 cubic feet
var bags80 = Math.ceil(cubicFeetTotal / 0.6);
var bags60 = Math.ceil(cubicFeetTotal / 0.45);
// 6. Update Output
resFeet.innerHTML = cubicFeetTotal.toFixed(2);
resYards.innerHTML = cubicYardsTotal.toFixed(2);
res80lb.innerHTML = bags80;
res60lb.innerHTML = bags60;
// 7. Show result container
resultBox.style.display = 'block';
}