Concrete Calculator: Slab & Footing Estimator
.cc-calculator-wrapper {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
max-width: 800px;
margin: 0 auto;
padding: 20px;
background: #f9f9f9;
border: 1px solid #e0e0e0;
border-radius: 8px;
}
.cc-input-group {
margin-bottom: 15px;
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.cc-field-container {
flex: 1 1 200px;
}
.cc-label {
display: block;
font-weight: 600;
margin-bottom: 5px;
color: #333;
font-size: 14px;
}
.cc-input {
width: 100%;
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
font-size: 16px;
box-sizing: border-box;
}
.cc-input:focus {
border-color: #0073aa;
outline: none;
}
.cc-btn {
background-color: #d35400;
color: white;
padding: 12px 24px;
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 16px;
font-weight: bold;
width: 100%;
transition: background-color 0.3s;
}
.cc-btn:hover {
background-color: #e67e22;
}
.cc-results {
margin-top: 25px;
padding: 20px;
background: #fff;
border-left: 5px solid #d35400;
display: none;
box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}
.cc-result-item {
margin-bottom: 10px;
font-size: 16px;
display: flex;
justify-content: space-between;
border-bottom: 1px solid #eee;
padding-bottom: 8px;
}
.cc-result-item strong {
color: #2c3e50;
}
.cc-highlight {
color: #d35400;
font-weight: 700;
font-size: 18px;
}
.cc-article-content {
margin-top: 40px;
line-height: 1.6;
color: #444;
}
.cc-article-content h2 {
color: #2c3e50;
border-bottom: 2px solid #eee;
padding-bottom: 10px;
}
.cc-article-content h3 {
color: #d35400;
margin-top: 25px;
}
.cc-table {
width: 100%;
border-collapse: collapse;
margin: 20px 0;
}
.cc-table th, .cc-table td {
border: 1px solid #ddd;
padding: 10px;
text-align: left;
}
.cc-table th {
background-color: #f2f2f2;
}
.cc-subtext {
font-size: 12px;
color: #666;
margin-top: 4px;
}
Concrete Slab Calculator
Calculate Concrete Required
Estimated Materials Needed
Total Volume (Cubic Yards):
0.00
Total Volume (Cubic Feet):
0.00
If using Pre-Mix Bags:
60lb Bags Required:
0
80lb Bags Required:
0
*Estimates include the selected waste margin. Always round up to the nearest whole bag.
How to Estimate Concrete for a Slab
Whether you are pouring a patio, a driveway, or a shed foundation, calculating the correct amount of concrete is crucial. Ordering too little results in expensive "short load" fees or cold joints, while ordering too much is a waste of money.
The Concrete Calculation Formula
Concrete is measured in Cubic Yards . To determine how much you need, you must calculate the volume of your slab in cubic feet and then convert it.
The formula is: $$Length (ft) \times Width (ft) \times Thickness (ft) = Cubic Feet$$
To get Cubic Yards, divide the Cubic Feet by 27 (since there are 27 cubic feet in one cubic yard).
Step-by-Step Calculation Example
Let's say you are pouring a patio that is 12 feet long , 10 feet wide , and 4 inches thick .
Convert Thickness to Feet: 4 inches ÷ 12 = 0.33 feet.
Calculate Volume: 12 ft × 10 ft × 0.33 ft = 39.6 Cubic Feet.
Convert to Yards: 39.6 ÷ 27 = 1.47 Cubic Yards.
Add Waste Margin: It is standard to add 5-10% for spillage and uneven subgrades. 1.47 × 1.05 = 1.54 Cubic Yards .
How Many Bags of Concrete Do I Need?
If you are using pre-mixed bags (like Quikrete or Sakrete) instead of a ready-mix truck, use these yields:
Bag Size
Yield (Cubic Feet)
Bags per Cubic Yard
60 lb bag
~0.45 cubic feet
60 bags
80 lb bag
~0.60 cubic feet
45 bags
Standard Slab Thicknesses
4 Inches: Standard for sidewalks, patios, and residential garage floors.
5-6 Inches: Recommended for driveways that hold heavier vehicles (trucks/SUVs).
6+ Inches: Heavy-duty foundations or commercial aprons.
function calculateConcrete() {
// 1. Get Elements
var lenFtInput = document.getElementById("ccLengthFt");
var lenInInput = document.getElementById("ccLengthIn");
var widFtInput = document.getElementById("ccWidthFt");
var widInInput = document.getElementById("ccWidthIn");
var thickInput = document.getElementById("ccThickness");
var wasteInput = document.getElementById("ccWaste");
var resContainer = document.getElementById("ccResultContainer");
var resYards = document.getElementById("resYards");
var resFeet = document.getElementById("resFeet");
var res60lb = document.getElementById("res60lb");
var res80lb = document.getElementById("res80lb");
// 2. Parse Values (handle empty strings as 0)
var lFt = parseFloat(lenFtInput.value) || 0;
var lIn = parseFloat(lenInInput.value) || 0;
var wFt = parseFloat(widFtInput.value) || 0;
var wIn = parseFloat(widInInput.value) || 0;
var thick = parseFloat(thickInput.value) || 0;
var wastePercent = parseFloat(wasteInput.value) || 0;
// 3. Validation
if ((lFt === 0 && lIn === 0) || (wFt === 0 && wIn === 0) || thick === 0) {
alert("Please enter valid dimensions for Length, Width, and Thickness.");
resContainer.style.display = "none";
return;
}
// 4. Logic Calculation
// Convert dimensions to decimal feet
var totalLengthFt = lFt + (lIn / 12);
var totalWidthFt = wFt + (wIn / 12);
var totalThickFt = thick / 12;
// Calculate Cubic Feet
var cubicFeet = totalLengthFt * totalWidthFt * totalThickFt;
// Apply Waste Margin
var wasteMultiplier = 1 + (wastePercent / 100);
var totalCubicFeet = cubicFeet * wasteMultiplier;
// Calculate Cubic Yards
var totalCubicYards = totalCubicFeet / 27;
// Calculate Bags
// Standard yields: 80lb bag ~= 0.6 cu ft, 60lb bag ~= 0.45 cu ft
var bags80 = Math.ceil(totalCubicFeet / 0.60);
var bags60 = Math.ceil(totalCubicFeet / 0.45);
// 5. Display Results
resYards.innerHTML = totalCubicYards.toFixed(2);
resFeet.innerHTML = totalCubicFeet.toFixed(2);
res60lb.innerHTML = bags60;
res80lb.innerHTML = bags80;
resContainer.style.display = "block";
}