#concrete-calculator-plugin {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
max-width: 800px;
margin: 0 auto;
color: #333;
line-height: 1.6;
}
#concrete-calculator-plugin .calc-box {
background: #f8f9fa;
border: 1px solid #e9ecef;
border-radius: 8px;
padding: 30px;
margin-bottom: 40px;
box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}
#concrete-calculator-plugin h2 {
color: #2c3e50;
margin-top: 0;
margin-bottom: 20px;
font-size: 24px;
border-bottom: 2px solid #e67e22;
padding-bottom: 10px;
display: inline-block;
}
#concrete-calculator-plugin .input-group {
margin-bottom: 20px;
}
#concrete-calculator-plugin label {
display: block;
margin-bottom: 8px;
font-weight: 600;
color: #495057;
}
#concrete-calculator-plugin input[type="number"] {
width: 100%;
padding: 12px;
border: 1px solid #ced4da;
border-radius: 4px;
font-size: 16px;
box-sizing: border-box;
transition: border-color 0.2s;
}
#concrete-calculator-plugin input[type="number"]:focus {
border-color: #e67e22;
outline: none;
}
#concrete-calculator-plugin .row {
display: flex;
gap: 20px;
flex-wrap: wrap;
}
#concrete-calculator-plugin .col-half {
flex: 1;
min-width: 200px;
}
#concrete-calculator-plugin button {
background-color: #e67e22;
color: white;
border: none;
padding: 15px 30px;
font-size: 18px;
font-weight: bold;
border-radius: 4px;
cursor: pointer;
width: 100%;
transition: background-color 0.2s;
margin-top: 10px;
}
#concrete-calculator-plugin button:hover {
background-color: #d35400;
}
#concrete-calculator-plugin #calc-results {
margin-top: 30px;
display: none;
background: white;
border: 1px solid #dee2e6;
border-radius: 6px;
overflow: hidden;
}
#concrete-calculator-plugin .result-header {
background: #2c3e50;
color: white;
padding: 15px;
font-weight: bold;
text-align: center;
}
#concrete-calculator-plugin .result-body {
padding: 20px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
}
#concrete-calculator-plugin .result-item {
text-align: center;
padding: 15px;
background: #f1f3f5;
border-radius: 4px;
}
#concrete-calculator-plugin .result-value {
display: block;
font-size: 24px;
font-weight: bold;
color: #e67e22;
}
#concrete-calculator-plugin .result-label {
font-size: 14px;
color: #6c757d;
}
#concrete-calculator-plugin .article-content h3 {
color: #2c3e50;
margin-top: 30px;
}
#concrete-calculator-plugin .article-content ul {
padding-left: 20px;
}
#concrete-calculator-plugin .article-content li {
margin-bottom: 10px;
}
@media (max-width: 600px) {
#concrete-calculator-plugin .result-body {
grid-template-columns: 1fr;
}
}
How to Calculate Concrete for Your Project
Accurately calculating the amount of concrete needed for a pour is essential to avoid running out mid-job or overspending on materials. Whether you are pouring a patio, a driveway, or footings, the math relies on determining the volume of the space in cubic yards.
The Concrete Formula
The standard formula for calculating concrete volume is:
Length (ft) × Width (ft) × Depth (ft) = Cubic Feet
Since concrete is sold by the Cubic Yard, you must divide the total cubic feet by 27 (since there are 27 cubic feet in one cubic yard).
Note: Don't forget to convert your depth from inches to feet by dividing by 12 before multiplying!
Understanding Pre-Mix Bag Yields
If you are using pre-mixed bags from a hardware store for smaller projects, you need to know the yield of each bag:
- 80lb Bag: Yields approximately 0.60 cubic feet.
- 60lb Bag: Yields approximately 0.45 cubic feet.
Our calculator automatically performs these conversions and rounds up to the nearest whole bag.
Why Include a Safety Margin?
Professional contractors always include a "waste" or safety margin, typically between 5% and 10%. This accounts for:
- Spillage during the pour.
- Uneven subgrade (ground) depth.
- Settling of the concrete.
- Some concrete remaining inside the mixer or wheelbarrow.
For a standard 4-inch slab on a well-compacted base, 5% is usually sufficient. For uneven ground or complex shapes, consider 10%.
function calculateConcrete() {
// Get input values
var length = parseFloat(document.getElementById('conc_length').value);
var width = parseFloat(document.getElementById('conc_width').value);
var depthInches = parseFloat(document.getElementById('conc_depth').value);
var wastePercent = parseFloat(document.getElementById('conc_waste').value);
// Validation
if (isNaN(length) || length <= 0 || isNaN(width) || width <= 0 || isNaN(depthInches) || depthInches <= 0) {
alert("Please enter valid positive numbers for Length, Width, and Depth.");
return;
}
if (isNaN(wastePercent) || wastePercent < 0) {
wastePercent = 0;
}
// Calculation Logic
// 1. Convert depth to feet
var depthFeet = depthInches / 12;
// 2. Calculate Cubic Feet
var cubicFeet = length * width * depthFeet;
// 3. Add Waste
var totalCubicFeet = cubicFeet * (1 + (wastePercent / 100));
// 4. Convert to Cubic Yards
var cubicYards = totalCubicFeet / 27;
// 5. Calculate Bags
// Standard yields: 80lb = 0.6 cu ft, 60lb = 0.45 cu ft
var bags80 = Math.ceil(totalCubicFeet / 0.60);
var bags60 = Math.ceil(totalCubicFeet / 0.45);
// Display Results
document.getElementById('res_yards').innerHTML = cubicYards.toFixed(2);
document.getElementById('res_bags80').innerHTML = bags80;
document.getElementById('res_bags60').innerHTML = bags60;
// Show result container
document.getElementById('calc-results').style.display = 'block';
}