function showInputs(shape) {
var slabDiv = document.getElementById('slabInputs');
var columnDiv = document.getElementById('columnInputs');
if (shape === 'slab') {
slabDiv.classList.remove('hidden');
columnDiv.classList.add('hidden');
} else if (shape === 'column') {
slabDiv.classList.add('hidden');
columnDiv.classList.remove('hidden');
}
document.getElementById('concreteResult').innerHTML = "; // Clear results on shape change
}
function calculateConcrete() {
var resultDiv = document.getElementById('concreteResult');
var selectedShape = document.querySelector('input[name="shape"]:checked').value;
var volumeCubicFeet = 0;
var isValid = true;
if (selectedShape === 'slab') {
var length = parseFloat(document.getElementById('slabLength').value);
var width = parseFloat(document.getElementById('slabWidth').value);
var thickness = parseFloat(document.getElementById('slabThickness').value);
if (isNaN(length) || isNaN(width) || isNaN(thickness) || length <= 0 || width <= 0 || thickness <= 0) {
isValid = false;
} else {
var thicknessInFeet = thickness / 12;
volumeCubicFeet = length * width * thicknessInFeet;
}
} else if (selectedShape === 'column') {
var diameter = parseFloat(document.getElementById('columnDiameter').value);
var height = parseFloat(document.getElementById('columnHeight').value);
if (isNaN(diameter) || isNaN(height) || diameter <= 0 || height <= 0) {
isValid = false;
} else {
var radius = diameter / 2;
var area = Math.PI * radius * radius;
volumeCubicFeet = area * height;
}
}
if (!isValid) {
resultDiv.innerHTML = 'Please enter valid, positive numbers for all dimensions.';
return;
}
var volumeCubicYards = volumeCubicFeet / 27;
// It's common to add a waste factor (5-10%)
var volumeWithWaste = volumeCubicYards * 1.075;
// Calculate number of 80lb bags (an 80lb bag yields approx 0.6 cubic feet)
var bags80lb = Math.ceil(volumeCubicFeet / 0.60);
// Calculate number of 60lb bags (a 60lb bag yields approx 0.45 cubic feet)
var bags60lb = Math.ceil(volumeCubicFeet / 0.45);
var resultHTML = '
Estimated Concrete Needed
';
resultHTML += '' + volumeCubicYards.toFixed(2) + ' cubic yards';
resultHTML += '(This is ' + volumeCubicFeet.toFixed(2) + ' cubic feet)';
resultHTML += '';
resultHTML += 'Recommended Order: ' + volumeWithWaste.toFixed(2) + ' cubic yards';
resultHTML += '(Includes ~7.5% for waste, spillage, and uneven grade)';
resultHTML += '';
resultHTML += 'For smaller projects, you would need approximately:';
resultHTML += '' + bags80lb + ' x 80 lb bags OR ' + bags60lb + ' x 60 lb bags';
resultDiv.innerHTML = resultHTML;
}
Accurately Plan Your Project with Our Concrete Calculator
Planning a new patio, driveway, or foundation? One of the most critical first steps is determining the exact amount of concrete you'll need. Ordering too little can cause costly delays and create weak points in your structure, while ordering too much is a waste of money and material. This calculator, designed for projects supplied by trusted names like Dolese, helps you get a precise estimate for your specific needs.
How to Calculate Concrete Volume
This tool simplifies the process, but it's helpful to understand the math behind it. Concrete is measured and ordered in cubic yards. Our calculator takes your project's dimensions (in feet and inches) and converts them into the total cubic yards required.
Rectangular Slabs (Patios, Floors, Walls): The formula is Length (ft) × Width (ft) × Thickness (ft). Since thickness is usually measured in inches, we first convert it to feet by dividing by 12.
Round Columns or Footings: The formula is π (pi) × Radius (ft)² × Height (ft). The radius is simply half of the diameter.
After calculating the volume in cubic feet, we divide by 27 to get the final volume in cubic yards (since 1 cubic yard = 3′ × 3′ × 3′ = 27 cubic feet).
Example Calculation: A Small Patio Slab
Let's say you're pouring a small patio that is 10 feet long, 8 feet wide, and 4 inches thick.
In this case, you would need just under 1 cubic yard of concrete. Our calculator also recommends ordering a bit extra (around 7.5%) to account for any spillage or uneven ground, bringing the recommended total to about 1.06 cubic yards.
Why You Should Always Order Extra
It is a standard industry practice to add a "waste factor" of 5-10% to your total concrete order. No ground is perfectly level, forms can bow slightly, and some concrete is always lost to spillage during the pour. Having a little extra on hand is far better than running short mid-project, which can create a "cold joint"—a weak spot where fresh concrete is poured against already hardened concrete.
Ready to Order from Dolese?
This calculator provides an excellent estimate for planning and budgeting. When you're ready to place an order, we recommend contacting a Dolese representative directly. They can confirm your quantities and help you choose the right concrete mix (specified by PSI strength, aggregate size, and slump) for your specific application, ensuring a durable, long-lasting result. Be sure to have your final measurements ready when you call.