#concrete-calculator-wrapper .calc-container { padding: 25px; background-color: #f9f9f9; }
#concrete-calculator-wrapper .calc-title { text-align: center; color: #333; margin-bottom: 20px; font-size: 24px; font-weight: bold; }
#concrete-calculator-wrapper .input-group { margin-bottom: 15px; }
#concrete-calculator-wrapper .input-row { display: flex; gap: 10px; align-items: flex-end; }
#concrete-calculator-wrapper label { display: block; margin-bottom: 5px; font-weight: 600; color: #555; font-size: 14px; }
#concrete-calculator-wrapper input, #concrete-calculator-wrapper select { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; font-size: 16px; }
#concrete-calculator-wrapper .half-width { width: 50%; }
#concrete-calculator-wrapper button.calc-btn { width: 100%; padding: 15px; background-color: #d35400; color: white; border: none; border-radius: 5px; font-size: 18px; font-weight: bold; cursor: pointer; transition: background 0.3s; margin-top: 10px; }
#concrete-calculator-wrapper button.calc-btn:hover { background-color: #a04000; }
#concrete-calculator-wrapper #calc-results { display: none; margin-top: 25px; padding: 20px; background-color: #fff; border: 1px solid #ddd; border-left: 5px solid #d35400; border-radius: 4px; }
#concrete-calculator-wrapper .result-item { margin-bottom: 15px; border-bottom: 1px solid #eee; padding-bottom: 10px; }
#concrete-calculator-wrapper .result-item:last-child { border-bottom: none; margin-bottom: 0; }
#concrete-calculator-wrapper .result-label { font-size: 14px; color: #666; }
#concrete-calculator-wrapper .result-value { font-size: 22px; font-weight: bold; color: #333; }
#concrete-calculator-wrapper .seo-content { padding: 30px; line-height: 1.6; color: #444; }
#concrete-calculator-wrapper .seo-content h2 { color: #2c3e50; margin-top: 0; }
#concrete-calculator-wrapper .seo-content h3 { color: #d35400; margin-top: 20px; }
#concrete-calculator-wrapper .seo-content ul { padding-left: 20px; }
#concrete-calculator-wrapper .error-msg { color: red; display: none; margin-top: 5px; font-size: 14px; }
How to Calculate Concrete for Your Project
Whether you are pouring a patio, a driveway, or a foundation footing, calculating the correct amount of concrete is crucial to the success of your project. Ordering too little can result in a "cold joint" and structural weakness, while ordering too much is a waste of money.
The Concrete Formula
Concrete is measured by volume, typically in Cubic Yards. The basic formula to determine the volume of a rectangular slab is:
Length × Width × Thickness = Volume
Step-by-Step Calculation Guide
- Step 1: Convert all dimensions to the same unit (usually feet). For example, if your slab is 4 inches thick, divide 4 by 12 to get 0.333 feet.
- Step 2: Multiply Length × Width × Thickness to get Cubic Feet.
- Step 3: Divide the total Cubic Feet by 27 (since there are 27 cubic feet in 1 cubic yard).
Understanding Pre-Mix Bags
For smaller DIY projects, you might use pre-mixed bags of concrete (like Quikrete or Sakrete) rather than a ready-mix truck. Here are the standard yields:
- 80lb Bag: Yields approximately 0.60 cubic feet.
- 60lb Bag: Yields approximately 0.45 cubic feet.
Our calculator automatically determines how many of these bags you will need based on your total volume requirements.
Why Include a Waste Factor?
Ground preparation is rarely perfect. Uneven subgrades, spillage during the pour, and settling can account for volume loss. It is industry standard to add a 5% to 10% safety margin (waste factor) to your order to ensure you don't run short in the middle of the job.
function calculateConcrete() {
// Get inputs
var lFt = parseFloat(document.getElementById('concLenFt').value) || 0;
var lIn = parseFloat(document.getElementById('concLenIn').value) || 0;
var wFt = parseFloat(document.getElementById('concWidFt').value) || 0;
var wIn = parseFloat(document.getElementById('concWidIn').value) || 0;
var thick = parseFloat(document.getElementById('concThick').value) || 0;
var qty = parseFloat(document.getElementById('concQty').value) || 1;
var waste = parseFloat(document.getElementById('concWaste').value);
var errorDiv = document.getElementById('errorDisplay');
var resultDiv = document.getElementById('calc-results');
// Basic validation
if ((lFt === 0 && lIn === 0) || (wFt === 0 && wIn === 0) || thick === 0) {
errorDiv.style.display = 'block';
resultDiv.style.display = 'none';
return;
} else {
errorDiv.style.display = 'none';
}
// Normalize to feet
var totalLenFeet = lFt + (lIn / 12);
var totalWidFeet = wFt + (wIn / 12);
var totalThickFeet = thick / 12;
// Calculate Volume in Cubic Feet (Single Slab)
var cubicFeetPerItem = totalLenFeet * totalWidFeet * totalThickFeet;
// Total Cubic Feet with Quantity and Waste
var totalCubicFeet = cubicFeetPerItem * qty * waste;
// Convert to Cubic Yards
var totalCubicYards = totalCubicFeet / 27;
// Calculate Bags (Yields: 80lb ~ 0.60 cuft, 60lb ~ 0.45 cuft)
// Note: These yields are approximations for standard pre-mix concrete
var bags80 = Math.ceil(totalCubicFeet / 0.60);
var bags60 = Math.ceil(totalCubicFeet / 0.45);
// Display Results
document.getElementById('resYards').innerHTML = totalCubicYards.toFixed(2) + " cu. yd.";
document.getElementById('resFeet').innerHTML = totalCubicFeet.toFixed(2) + " cu. ft.";
document.getElementById('resBags60').innerHTML = bags60 + " bags";
document.getElementById('resBags80').innerHTML = bags80 + " bags";
resultDiv.style.display = 'block';
}