Concrete Volume Calculator

Calculate the exact amount of concrete needed for a slab, column or footing. Results are given in cubic yards (for ready-mix ordering), cubic metres and number of 60 lb pre-mix bags. A 10% waste allowance is automatically included.

ft
ft
in
Cubic yards
2.72 yd³
Includes 10% waste
Cubic metres
2.08 m³
60 lb bags
163 bags
Cubic feet
73.33 ft³

How it works

Concrete is ordered by volume. For slabs, multiply length x width x thickness (converting inches to feet). For columns, use the cylinder formula π r² h. A 10% waste factor is added to account for spills, irregular forms and settling.

Formula
Slab: L x W x (thickness/12) | Column: π x r² x h | Add 10% for waste

Example. A 20 ft x 10 ft slab at 4 inches thick needs about 2.47 cubic yards or approximately 66 bags of 60 lb concrete.

Frequently asked questions

When should I use ready-mix vs bags?

For large pours (over 1 cubic yard), ready-mix concrete delivered by truck is faster, cheaper and gives more consistent quality. For small projects, pre-mix bags are convenient. Roughly 1 cubic yard = 54 bags of 60 lb mix.

Why is 10% waste added?

Irregular formwork, spillage, mixing losses and the concrete settling mean you typically need 5-15% more than the exact calculated volume. 10% is the standard buffer contractors use.

Related calculators

Embed this calculator

Free to use on any site. Please keep the credit link.

<iframe
  id="letmecalc-concrete-calculator"
  src="https://letmecalc.com/embed/construction/concrete-calculator"
  title="Concrete Calculator"
  width="100%"
  height="620"
  style="border:0;max-width:100%"
  loading="lazy"
></iframe>
<p><a href="https://letmecalc.com/construction/concrete-calculator" target="_blank" rel="noopener">Concrete Calculator</a> by letmecalc</p>
<script>
(function () {
  var f = document.getElementById("letmecalc-concrete-calculator");
  window.addEventListener("message", function (e) {
    if (e.origin !== "https://letmecalc.com") return;
    if (!f || e.source !== f.contentWindow) return;
    var d = e.data;
    if (!d || d.source !== "letmecalc-embed" || d.type !== "resize") return;
    if (typeof d.height === "number" && d.height > 0) {
      f.style.height = d.height + "px";
    }
  });
})();
</script>