Choose the shape you are building, then enter the dimensions and the density of the concrete.
Table of Contents
-
What you can do on this page
-
What is this calculation used for?
-
How to Use
-
Formulas and figures
-
Symbols and terms
-
Good to know before you start
-
How to calculate it in Excel
-
How to calculate it in Google Sheets
-
How to calculate it in Python
-
How to write it in LaTeX and other math languages (copy and paste)
-
How to have ChatGPT do the calculation
-
DataChef Features
-
Related Features
-
NumberChef Calculators List
What you can do on this page
- Switch between five shapes (slab or wall, column or hole, circular slab or tube, curb and gutter, and stairs) and get the volume of concrete in cubic feet and cubic yards on the spot
- The weight (volume × density) is shown in pounds and tons. You can change the density; 144 lb/ft³ for plain concrete and 150 lb/ft³ for reinforced concrete are common values
- The result shows how many bags of concrete mix you need, rounded up, for the 80, 60 and 40 lb bags sold at US home improvement stores
- You can add 5% or 10% extra for waste from spills, forms that bulge and concrete soaking into the ground
- A plain-language explanation of the formulas and copy-and-paste formulas for Excel, Google Sheets and Python are all on this page
What is this calculation used for?
For example, a slab for one parking space (20 × 10 ft), 4 in thick, is \(20 \times 10 \times \tfrac{4}{12} \approx 66.67\) ft³, or about 2.47 yd³. It weighs \(66.67 \times 144 = 9600\) lb (4.8 tons), and would take 112 bags of 80 lb mix.
That tells you before you shop that mixing bags by hand is not realistic, so you can decide between ordering a ready-mix truck and doing it with bags.
A post hole 10 in across and 24 in deep takes \(\pi \times (5/12)^2 \times 2 \approx 1.09\) ft³, so about 2 bags of 80 lb mix per hole. Ten posts take about 10.9 ft³, about 1,570 lb, or 19 bags of 80 lb.
Knowing "about 2 bags per post" in advance saves extra trips to the store and leftover bags.
Ready-mix concrete is ordered by the cubic yard, and many suppliers take orders in steps of 1/4 or 1/2 yd³. If your volume is 2.47 yd³, adding 5-10% for waste gives 2.59 to 2.72 yd³, so you would order about 2.75 yd³.
Small orders often carry a short-load fee, so calculating the volume first is the starting point for comparing quotes.
For structures with the same cross-section along their length, such as a curb and gutter, you find the cross-sectional area from the drawing and multiply by the length. This is the same idea as a "quantity takeoff" in construction estimating.
A curb and gutter with a 6 in × 6 in curb and an 18 in wide, 6 in thick flag has a cross-section of \(0.5 \times 1 + 1.5 \times 0.5 = 1.25\) ft², so 100 ft takes 125 ft³ (about 4.63 yd³). The amount grows in step with the length.
For three steps in front of the house with an 11 in tread, a 7 in riser and a width of 48 in (no landing), the cross-section is \(\tfrac{11 \times 7}{144} \times 3 \approx 1.604\) ft² and the volume is \(1.604 \times 4 \approx 6.42\) ft³. That is about 924 lb, or 11 bags of 80 lb mix.
Steps are more solid than they look, so working out the volume with the formula keeps you from buying too much or too little.
Formulas and figures
Symbols and terms
Symbols
| \(V\) | vee | The volume of concrete, in cubic feet (ft³). Divide by 27 for cubic yards (yd³). |
| \(l\) | ell | The length - of the slab or wall, or of the stretch of curb and gutter. |
| \(w\) | double-u | The width - of the slab (the height for a wall), or the side-to-side width of the stairs. |
| \(h\) | aitch | The vertical dimension. Depending on the shape it is the slab thickness, the hole depth, the tube length or the curb height. |
| \(q\) | cue | The quantity - how many of the same thing you build. |
| \(\pi\) | pi | Pi (about 3.14159), used for the area and volume of circles and cylinders. |
| \(d\), \(d_{1}\), \(d_{2}\) | dee, dee one, dee two | The diameter. \(d_{1}\) is the outer diameter and \(d_{2}\) is the inner diameter (of the hollow). The radius is diameter ÷ 2. |
| \(b\) | bee | The curb depth (its horizontal thickness). |
| \(f\) | eff | The thickness of the gutter flag (the flat slab at the foot of the curb). |
| \(g\) | gee | The gutter width (the width of the gutter flag in front of the curb). |
| \(t\) | tee | The tread depth of the stairs (the surface you step on). |
| \(r\) | ar | The riser height of the stairs (the height of one step). |
| \(n\) | en | The number of steps. |
| \(p\) | pee | The depth of the platform (the flat landing behind the top step). It is 0 if there is none. |
| \(\rho\) | rho | The density (weight of 1 ft³, in lb/ft³). 144 for plain concrete and 150 for reinforced concrete are common values in the US. |
| \(m\) | em | The weight. It is found with \(m = V \times \rho\); divide pounds by 2,000 for (short) tons. |
| \(B\) | bee | The number of bags needed. It is found with \(B = \lceil V \div y \rceil\). |
| \(y\) | why | The yield per bag - how much concrete one bag makes: about 0.60 ft³ for 80 lb, 0.45 ft³ for 60 lb and 0.30 ft³ for 40 lb (see the bag label). |
| \(\lceil x \rceil\) | ceiling of x | The symbol for rounding up to a whole number (the ceiling function). (Example - \(\lceil 111.1 \rceil = 112\), \(\lceil 45 \rceil = 45\)) |
Terms
| ready-mix concrete | Concrete mixed at a plant and delivered still wet by a mixer truck. It is ordered by volume in cubic yards, often in steps of 1/4 or 1/2 yd³, so the volume you calculate on this page is the basis of your order. Small orders often carry a short-load fee. |
| bagged concrete mix | A bagged product with the cement, sand and gravel already blended. You just add water and mix. US home improvement stores sell 80, 60 and 40 lb bags. The yield (volume) per bag differs by brand, so check the bag label when you need many bags. |
| plain concrete | Concrete with no steel reinforcement. About 144 lb/ft³ is a common value for estimating its weight. |
| reinforced concrete | Concrete with steel reinforcing bars (rebar) inside. It is heavier because of the steel; about 150 lb/ft³ is a common value for estimating its weight. |
| density (unit weight) | The weight per unit of volume. Normal-weight concrete ranges from about 140 to 150 lb/ft³ depending on the aggregate (gravel and sand) and the mix. |
| slab | A flat, plate-shaped piece of concrete such as a floor, a patio or a driveway. On this page it also covers the base of a footing. |
| curb and gutter | A concrete structure poured in one piece - the curb that rises at the edge of the road and the gutter at its foot that carries rainwater. The same cross-section runs along its length, so the volume is "cross-sectional area × length". |
| riser height | The height of one step. The IRC limits it to 7 3/4 in for home stairs. |
| tread depth | The depth of the surface you step on. The IRC requires at least 10 in for home stairs. |
| waste | The concrete lost to spills, forms that bulge and soaking into the ground. It is common to order 5-10% more than the exact amount. |
Good to know before you start
Here is what helps you use the calculation on this page with real understanding, not just by pressing the button.
| Volume of a rectangular prism (Grade 5) |
|
| Area of a circle (Grade 7) |
|
| Converting units of length and volume (Grades 4–6) |
|
| Unit rates and density (Grades 6–8) |
|
| Rounding (Grades 3–4) |
|
| Algebraic expressions (Grades 6–7) |
|
How to calculate it in Excel
| Length (ft) | 9 |
| Width (ft) | 9 |
| Thickness (in) | 4 |
| Quantity | 1 |
| Volume (yd³) | =B1*B2*(B3/12)*B4/27 |
| Diameter (in) | 10 |
| Depth (in) | 24 |
| Quantity | 10 |
| Volume (ft³) | =PI()*(B1/2/12)^2*(B2/12)*B3 |
| Outer diameter (ft) | 10 |
| Inner diameter (ft) | 6 |
| Height or thickness (in) | 4 |
| Quantity | 1 |
| Volume (ft³) | =PI()*((B1/2)^2-(B2/2)^2)*(B3/12)*B4 |
| Curb depth (in) | 6 |
| Curb height (in) | 6 |
| Gutter flag thickness (in) | 6 |
| Gutter width (in) | 12 |
| Length (ft) | 30 |
| Volume (ft³) | =(B1*(B2+B3)+B4*B3)/144*B5 |
| Tread depth (in) | 11 |
| Riser height (in) | 7 |
| Number of steps | 3 |
| Platform depth (in) | 36 |
| Stair width (in) | 36 |
| Volume (ft³) | =(B1*B2*B3*(B3-1)/2+B4*B3*B2)*B5/1728 |
| Volume (ft³) | 27 |
| Density (lb/ft³) | 144 |
| Weight (lb) | =B1*B2 |
| Weight (tons) | =B3/2000 |
| 80 lb bags needed (0.6 ft³ each) | =ROUNDUP(B1/0.6,0) |
"PI()" is pi, and "ROUNDUP(value, 0)" rounds up to a whole number (the ⌈ ⌉ in the formulas).
With the example values, the first table gives 1 yd³, the second about 10.91 ft³ (10 post holes), the third about 16.76 ft³, the fourth 30 ft³ and the fifth about 20.56 ft³.
The sixth table gives a weight of 3,888 lb (1.944 tons) and 45 bags of 80 lb. For 60 lb bags, change 0.6 to 0.45; for 40 lb bags, change it to 0.3. Just replace the numbers in column B with your own.
How to calculate it in Google Sheets
| Length (ft) | 9 |
| Width (ft) | 9 |
| Thickness (in) | 4 |
| Quantity | 1 |
| Volume (yd³) | =B1*B2*(B3/12)*B4/27 |
| Diameter (in) | 10 |
| Depth (in) | 24 |
| Quantity | 10 |
| Volume (ft³) | =PI()*(B1/2/12)^2*(B2/12)*B3 |
| Outer diameter (ft) | 10 |
| Inner diameter (ft) | 6 |
| Height or thickness (in) | 4 |
| Quantity | 1 |
| Volume (ft³) | =PI()*((B1/2)^2-(B2/2)^2)*(B3/12)*B4 |
| Curb depth (in) | 6 |
| Curb height (in) | 6 |
| Gutter flag thickness (in) | 6 |
| Gutter width (in) | 12 |
| Length (ft) | 30 |
| Volume (ft³) | =(B1*(B2+B3)+B4*B3)/144*B5 |
| Tread depth (in) | 11 |
| Riser height (in) | 7 |
| Number of steps | 3 |
| Platform depth (in) | 36 |
| Stair width (in) | 36 |
| Volume (ft³) | =(B1*B2*B3*(B3-1)/2+B4*B3*B2)*B5/1728 |
| Volume (ft³) | 27 |
| Density (lb/ft³) | 144 |
| Weight (lb) | =B1*B2 |
| Weight (tons) | =B3/2000 |
| 80 lb bags needed (0.6 ft³ each) | =ROUNDUP(B1/0.6,0) |
How to calculate it in Python
import math
shape = "slab" # slab / column / tube / curb / stairs
density_lb_per_ft3 = 144 # concrete density (plain 144, reinforced 150 lb/ft3)
# enter lengths in feet (4 in = 4 / 12 ft)
if shape == "slab":
length_ft, width_ft, thickness_ft, quantity = 9, 9, 4 / 12, 1
volume_ft3 = length_ft * width_ft * thickness_ft * quantity
elif shape == "column":
diameter_ft, depth_ft, quantity = 10 / 12, 2, 1
volume_ft3 = math.pi * (diameter_ft / 2) ** 2 * depth_ft * quantity
elif shape == "tube":
outer_ft, inner_ft, height_ft, quantity = 10, 6, 4 / 12, 1
volume_ft3 = math.pi * ((outer_ft / 2) ** 2 - (inner_ft / 2) ** 2) * height_ft * quantity
elif shape == "curb":
curb_depth_ft, curb_height_ft, flag_thick_ft = 0.5, 0.5, 0.5
gutter_width_ft, length_ft, quantity = 1, 30, 1
section_ft2 = curb_depth_ft * (curb_height_ft + flag_thick_ft) + gutter_width_ft * flag_thick_ft
volume_ft3 = section_ft2 * length_ft * quantity
else: # stairs
run_ft, rise_ft, width_ft, platform_ft, steps = 11 / 12, 7 / 12, 3, 3, 3
section_ft2 = run_ft * rise_ft * steps * (steps - 1) / 2 + platform_ft * steps * rise_ft
volume_ft3 = section_ft2 * width_ft
volume_yd3 = volume_ft3 / 27
weight_lb = volume_ft3 * density_lb_per_ft3
weight_tons = weight_lb / 2000
# bags = volume / yield per bag, rounded up (80 lb: 0.6, 60 lb: 0.45, 40 lb: 0.3 ft3)
bags_80 = math.ceil(volume_ft3 / 0.6)
bags_60 = math.ceil(volume_ft3 / 0.45)
bags_40 = math.ceil(volume_ft3 / 0.3)
print(f"Volume: {volume_ft3:.4f} ft3 = {volume_yd3:.4f} yd3")
print(f"Weight: {weight_lb:.1f} lb ({weight_tons:.3f} tons)")
print(f"Bags: {bags_80} x 80 lb, {bags_60} x 60 lb or {bags_40} x 40 lb")
How to write it in LaTeX and other math languages (copy and paste)
V = l × w × h × q
V = l \times w \times h \times q
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>V</mi>
<mo>=</mo>
<mi>l</mi><mo>×</mo><mi>w</mi><mo>×</mo><mi>h</mi><mo>×</mo><mi>q</mi>
</mrow>
</math>
V = l * w * h * q
l*w*h*q
V := l*w*h*q;
V = l*w*h*q;
V = l × w × h × q
V = π × (d/2)² × h × q
V = \pi \left( \frac{d}{2} \right)^{2} \times h \times q
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>V</mi>
<mo>=</mo>
<mi>π</mi>
<msup>
<mrow><mo>(</mo><mfrac><mi>d</mi><mn>2</mn></mfrac><mo>)</mo></mrow>
<mn>2</mn>
</msup>
<mo>×</mo><mi>h</mi><mo>×</mo><mi>q</mi>
</mrow>
</math>
V = pi (d/2)^2 h q
Pi*(d/2)^2*h*q
V := Pi*(d/2)^2*h*q;
V = pi*(d/2)^2*h*q;
V = π × (d/2)^2 × h × q
V = π × ((d₁/2)² − (d₂/2)²) × h × q
V = \pi \left\{ \left( \frac{d_{1}}{2} \right)^{2} - \left( \frac{d_{2}}{2} \right)^{2} \right\} \times h \times q
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>V</mi>
<mo>=</mo>
<mi>π</mi>
<mrow>
<mo>(</mo>
<msup><mrow><mo>(</mo><mfrac><msub><mi>d</mi><mn>1</mn></msub><mn>2</mn></mfrac><mo>)</mo></mrow><mn>2</mn></msup>
<mo>−</mo>
<msup><mrow><mo>(</mo><mfrac><msub><mi>d</mi><mn>2</mn></msub><mn>2</mn></mfrac><mo>)</mo></mrow><mn>2</mn></msup>
<mo>)</mo>
</mrow>
<mo>×</mo><mi>h</mi><mo>×</mo><mi>q</mi>
</mrow>
</math>
V = pi ((d_1/2)^2 - (d_2/2)^2) h q
Pi*((d1/2)^2 - (d2/2)^2)*h*q
V := Pi*((d1/2)^2 - (d2/2)^2)*h*q;
V = pi*((d1/2)^2 - (d2/2)^2)*h*q;
V = π × ((d_1/2)^2 − (d_2/2)^2) × h × q
V = {b × (h + f) + g × f} × l
V = \left\{ b(h + f) + gf \right\} \times l
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>V</mi>
<mo>=</mo>
<mrow>
<mo>{</mo>
<mi>b</mi>
<mrow><mo>(</mo><mi>h</mi><mo>+</mo><mi>f</mi><mo>)</mo></mrow>
<mo>+</mo>
<mi>g</mi><mi>f</mi>
<mo>}</mo>
</mrow>
<mo>×</mo><mi>l</mi>
</mrow>
</math>
V = (b (h + f) + g f) l
(b*(h + f) + g*f)*l
V := (b*(h + f) + g*f)*l;
V = (b*(h + f) + g*f)*l;
V = (b(h + f) + gf) × l
V = (t × r × n(n−1)/2 + p × n × r) × w
V = \left( t \times r \times \frac{n(n-1)}{2} + p \times n \times r \right) \times w
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>V</mi>
<mo>=</mo>
<mrow>
<mo>(</mo>
<mi>t</mi><mo>×</mo><mi>r</mi><mo>×</mo>
<mfrac><mrow><mi>n</mi><mrow><mo>(</mo><mi>n</mi><mo>−</mo><mn>1</mn><mo>)</mo></mrow></mrow><mn>2</mn></mfrac>
<mo>+</mo>
<mi>p</mi><mo>×</mo><mi>n</mi><mo>×</mo><mi>r</mi>
<mo>)</mo>
</mrow>
<mo>×</mo><mi>w</mi>
</mrow>
</math>
V = (t r (n(n-1))/2 + p n r) w
(t*r*n*(n - 1)/2 + p*n*r)*w
V := (t*r*n*(n - 1)/2 + p*n*r)*w;
V = (t*r*n*(n - 1)/2 + p*n*r)*w;
V = (t × r × n(n − 1)/2 + p × n × r) × w
m = V × ρ
m = V \rho
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>m</mi>
<mo>=</mo>
<mi>V</mi>
<mo>×</mo>
<mi>ρ</mi>
</mrow>
</math>
m = V rho
V*rho
m := V*rho;
m = V*rho;
m = V × ρ
B = ⌈V ÷ y⌉
B = \left\lceil \frac{V}{y} \right\rceil
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>B</mi>
<mo>=</mo>
<mo>⌈</mo>
<mfrac><mi>V</mi><mi>y</mi></mfrac>
<mo>⌉</mo>
</mrow>
</math>
B = |~ V / y ~|
Ceiling[v/y]
B := ceil(V/y);
B = ceil(V/y);
B = ⌈V/y⌉
How to have ChatGPT do the calculation
You are a quantity calculation assistant for concrete work. Do the following calculation by actually running Python code, and base your answer only on the numbers from the execution result (do not answer by mental math or guessing). I am pouring a concrete slab 20 ft long, 10 ft wide and 4 inches thick. Use a density of 144 lb/ft³ (plain concrete). Find each of the following: 1. The volume of concrete (ft³ and yd³) 2. The weight (lb and US tons) 3. The number of bags of concrete mix needed, rounded up, for 80 lb bags (yield 0.6 ft³), 60 lb bags (0.45 ft³) and 40 lb bags (0.3 ft³) 4. The volume, weight and bags with 10% extra for waste Show the formulas you used and the numbers from the execution result.
How to Use
-
1Enter your numbersType the numbers you want to calculate with into the input fields
-
2CalculatePress the "Calculate" button
-
3Check the resultThe result appears on the spot. The same page also explains the idea behind the calculation and the formula
DataChef Features
No technical knowledge required.
Intuitive and user-friendly operation.
Can be used without registering personal information.
Automatic file deletion by clicking "download".
and rapid file conversion.
No attribution required.
No need to contact us for commercial use permission.
