Concrete Slab Calculator

Enter slab length, width and thickness to get cubic yards, cubic feet and the number of 40, 60 or 80 lb bags needed.

Your estimate

Results update as you type. Round up when ordering.

Based on premixed concrete bags (e.g. Quikrete, Sakrete): 80 lb ≈ 0.60 cu ft, 60 lb ≈ 0.45, 40 lb ≈ 0.30. Brands vary slightly — check the label.

  • Formula checked against manufacturer specs
  • Rounded up to whole units
  • Runs in your browser

How to calculate concrete for a slab

Concrete is ordered by volume. Multiply length × width × thickness, keeping every measurement in feet (divide inches by 12). That gives cubic feet; divide by 27 to get cubic yards, the unit ready-mix suppliers use.

Example: a 10 × 10 ft patio, 4 in thick: 10 × 10 × 0.333 = 33.3 cu ft ÷ 27 = 1.23 cu yd. Adding 10% waste gives about 1.36 cu yd.

Bags vs. ready-mix truck

Typical pre-mixed bag yields: 80 lb ≈ 0.60 cu ft, 60 lb ≈ 0.45 cu ft, 40 lb ≈ 0.30 cu ft (check your bag label—yields vary slightly by brand). For jobs over about 1 cubic yard (45 × 80 lb bags), a ready-mix delivery is usually cheaper and gives a more uniform pour.

Recommended thickness

  • Walkways and patios: 4 in
  • Driveways for passenger cars: 4–5 in; heavier vehicles: 6 in
  • Shed bases: 4 in, thickened at the edges

Why add waste?

Uneven subgrade, form flex and spillage commonly consume 5–10% extra. Running short mid-pour creates a cold joint, so it is cheaper to order a little more.

✓ Formula reviewed and tested · Updated Oct 2026

Related calculators

FAQ

How accurate is the concrete slab calculator?

It uses the standard formula shown on this page and rounds bags, boxes and pieces up to whole units. Product sizes vary by brand, so confirm with the label or your supplier before you buy.

Should I buy extra material?

Yes. A 5–10% allowance covers cuts, spills and uneven surfaces; running short mid-job usually costs more than a few leftovers.

Is this calculator free?

Yes. Every PorchMath calculator is free, needs no account and runs entirely in your browser.