2026 DIY PATIO TOOLKIT
Quick Patio Calculator →

Base Gravel & Bedding Sand Calculator – Tons & Bags

Free gravel patio calculator for rectangle, L-shaped and circular patios, with an optional fire-pit or garden cutout. Get crushed-stone base in cubic yards and tons (with compaction), plus 50 lb bedding sand bags, for your exact paver patio area.

Units

Your Inputs

30 sec
Patio shape
Patio shape
Patio size
ft
ft
Fire pit / cutout
Layer depths
Material density
tons/cu yd

Default loose bulk density: 1.40 tons/cu yd. Actual density varies by aggregate type, moisture, and supplier. Used only to convert order volume to tons — edit to match your supplier.

Your Result

Live Estimate

Updated live
Base volume (L × W × D)3.7 cu yd
Compaction / order allowance+15% (×1.15)
Order volume to buy4.26 cu yd
Gravel tons to order5.96 tons
Truck / dump loads1 × 12-ton load
Bedding sand bags50 × 50 lb

Base volume is pure geometry — patio area × base depth. We then apply a separate 15% compaction / ordering allowance to get the volume to buy, and convert that order volume to tons using a default loose bulk density of 1.40 tons/cu yd (editable — actual density varies by aggregate type, moisture, and supplier). Truck loads assume 12 tons each, and bedding sand uses a 1" ICPI screed depth.

Transparent Math

How Our Formulas Work

The calculator uses standard estimating assumptions for material volume, waste, coverage and ordering allowances. Actual quantities vary by material, supplier, site conditions and installation method. We use real material bulk densities and compaction coefficients, so your orders match actual site needs. ⌈x⌉ means rounded up to the next whole unit.

Patio Footprint

Rectangle ......... L × W L-shaped .......... A + B Circle ............ πr² Net paved = Footprint − cutout

Worked example: Example: 20 ft × 15 ft = 300 sq ft of patio

Pro rule of thumb: For an L, add the two rectangles. For a circle, use half the diameter as the radius r.

1 · Base Volume (geometric)

Base yd³ = (Area × (Depth in ÷ 12)) ÷ 27

Worked example: Example: (300 sq ft × 4 in ÷ 12) ÷ 27 = 3.70 cu yd

Pro rule of thumb: Pure geometry — the space your base occupies, from area and depth alone. No allowance or density is mixed in.

2 · Compaction / Order Allowance

Order yd³ = Base yd³ × 1.15

Worked example: Example: 3.70 cu yd × 1.15 = 4.26 cu yd

Pro rule of thumb: Crushed stone settles about 15% when tamped, so you buy 15% more volume than the finished base occupies. Shown separately, never hidden in the base volume.

3 · Density → Tons

Tons = Order yd³ × Density Loose bulk density default = 1.40 tons/yd³

Worked example: Example: 4.26 cu yd × 1.40 = 5.96 tons

Pro rule of thumb: Density is a separate, editable assumption. Default loose bulk density: 1.40 tons/cu yd — actual density varies by aggregate type, moisture, and supplier, so edit it to match your stone.

4 · Truck Loads

Loads = ⌈Tons ÷ 12⌉

Worked example: Example: ⌈5.96 ÷ 12⌉ = 1 truck load

Pro rule of thumb: A standard dump truck hauls about 12 tons; loads round up to whole trucks.

Bedding Sand Bags

Bags (50 lb) = ⌈(Area × (Sand in ÷ 12)) ÷ 0.5⌉

Worked example: Example: ⌈(300 sq ft × 1 in ÷ 12) ÷ 0.5⌉ = 50 bags

Pro rule of thumb: A 50 lb bag of concrete sand ≈ 0.5 ft³, and the 1" default matches the ICPI / ASTM C33 screed bed.

Planning Estimate

Results are estimates based on the information and assumptions provided. Actual material quantities may vary with site conditions, material specifications, installation method, waste, and supplier measurements. For construction-critical decisions, verify quantities against your supplier's specifications and any local requirements before purchasing or building.

Cut buffer: 8% running bond → 20% curved / borders.

Crushed stone: +15% compaction allowance, ≈ 1.40 tons/yd³ loose bulk density.

Bedding sand: 50 lb bag ≈ 0.5 ft³, default 1″ screed bed.

Joint sand: one 50 lb bag ≈ 75 sq ft of 1/8″ joints.

Edge & fabric: 6 ft strips, spikes ≈ every 1.4 ft; fabric +10% for seams.

Prices: 2026 local-market averages (USD · CAD · GBP · EUR · INR · AUD · JPY) — override in "local prices".