This page is generated from the calculator definitions themselves, so it cannot drift from what the tools actually compute. Everything below is also published on the individual calculator pages beside a worked example.
Volume
All area-based calculators use the same geometry:
Volume (ft³) = Length (ft) × Width (ft) × Depth (in) ÷ 12
Cubic yards = ft³ ÷ 27 · Cubic metres = ft³ × 0.0283168
Inputs accept feet, inches, yards, metres, centimetres and millimetres, and fractions such as 3 1/2. Conversion happens once, in one module, before any material math runs.
Weight and density
Weight = volume × density. Densities are loose, as-delivered values unless stated as compacted. They are defaults, shown on every ticket and editable in the calculator, because your quarry or plant will quote its own.
| Material | Density | Used by |
|---|---|---|
| hot-mix asphalt | 145 lb/ft³ | Asphalt |
| ¾″ minus / crusher run | 1.50 tons/yd³ | Crushed stone |
| 21A / CR-6 / ABC road base | 1.50 tons/yd³ | Crushed stone |
| #57 clean stone (¾″) | 1.40 tons/yd³ | Crushed stone |
| #8 / ⅜″ chips | 1.45 tons/yd³ | Crushed stone |
| Stone dust / screenings | 1.50 tons/yd³ | Crushed stone |
| #4 / 1½″ stone | 1.40 tons/yd³ | Crushed stone |
| Unscreened fill dirt | 1.30 tons/yd³ | Fill dirt |
| Screened fill | 1.25 tons/yd³ | Fill dirt |
| Clay fill (structural) | 1.40 tons/yd³ | Fill dirt |
| Sandy fill | 1.30 tons/yd³ | Fill dirt |
| Gravel fill / bank run | 1.50 tons/yd³ | Fill dirt |
| #57 stone (¾″) | 1.40 tons/yd³ | Gravel |
| Pea gravel (⅜″) | 1.40 tons/yd³ | Gravel |
| Crusher run / stone base | 1.50 tons/yd³ | Gravel |
| River rock 1–3″ | 1.35 tons/yd³ | Gravel |
| #8 chips / screenings | 1.45 tons/yd³ | Gravel |
| Decomposed granite | 1.45 tons/yd³ | Gravel |
| Coarse sand | 1.35 tons/yd³ | Gravel |
| #57 limestone (¾″ clean) | 1.45 tons/yd³ | Limestone |
| #8 limestone (⅜″) | 1.45 tons/yd³ | Limestone |
| ¾″ minus / crusher run | 1.50 tons/yd³ | Limestone |
| Screenings / limestone dust | 1.50 tons/yd³ | Limestone |
| #2 / #4 limestone (1½–2½″) | 1.40 tons/yd³ | Limestone |
| Rip rap (3–8″) | 1.30 tons/yd³ | Limestone |
| Shredded hardwood | 0.40 tons/yd³ | Mulch |
| Cedar / cypress | 0.35 tons/yd³ | Mulch |
| Pine bark nuggets | 0.30 tons/yd³ | Mulch |
| Dyed (black / brown / red) | 0.40 tons/yd³ | Mulch |
| Rubber mulch | 0.60 tons/yd³ | Mulch |
| ⅜″ pea gravel | 1.40 tons/yd³ | Pea gravel |
| ½″ pea gravel | 1.40 tons/yd³ | Pea gravel |
| ¼″ pea gravel (fine) | 1.45 tons/yd³ | Pea gravel |
| Mixed / river pea | 1.35 tons/yd³ | Pea gravel |
| ¾–1″ river rock | 1.40 tons/yd³ | River rock |
| 1–3″ river rock | 1.35 tons/yd³ | River rock |
| 3–5″ cobbles | 1.30 tons/yd³ | River rock |
| Mexican beach pebble | 1.45 tons/yd³ | River rock |
| Flat / slate river rock | 1.30 tons/yd³ | River rock |
| Masonry / mortar sand | 1.35 tons/yd³ | Sand |
| Concrete sand (coarse) | 1.40 tons/yd³ | Sand |
| Paver bedding sand | 1.40 tons/yd³ | Sand |
| Play sand (washed) | 1.35 tons/yd³ | Sand |
| Fill sand | 1.30 tons/yd³ | Sand |
| Screened topsoil | 1.10 tons/yd³ | Topsoil |
| Garden mix (soil + compost) | 1.00 tons/yd³ | Topsoil |
| Compost | 0.80 tons/yd³ | Topsoil |
| Fill dirt (unscreened) | 1.30 tons/yd³ | Topsoil |
Sources: manufacturer and quarry data sheets; the National Stone, Sand & Gravel Association and state DOT aggregate specifications for stone; the National Asphalt Pavement Association and typical mix-design sheets (2.35–2.45 specific gravity) for hot-mix asphalt; USDA NRCS soil bulk-density ranges for topsoil.
Bags and packaging
Bag counts are always rounded up to a whole bag; you cannot buy 0.4 of a bag. Bulk quantities are rounded to the step the material is sold in.
| Package | Yield | Bags per yd³ | Calculator |
|---|---|---|---|
| 50 lb cold-patch bag (≈0.4 ft³) | 0.40 ft³ | 67.5 | Asphalt |
| 50 lb bag (0.5 ft³) | 0.50 ft³ | 54.0 | Crushed stone |
| 40 lb bag (0.75 ft³) | 0.75 ft³ | 36.0 | Fill dirt |
| 50 lb bag (0.5 ft³) | 0.50 ft³ | 54.0 | Gravel |
| 50 lb bag (0.5 ft³) | 0.50 ft³ | 54.0 | Limestone |
| 2 ft³ bag | 2.00 ft³ | 13.5 | Mulch |
| 3 ft³ bag | 3.00 ft³ | 9.0 | Mulch |
| 50 lb bag (0.5 ft³) | 0.50 ft³ | 54.0 | Pea gravel |
| 50 lb bag (0.5 ft³) | 0.50 ft³ | 54.0 | River rock |
| 50 lb bag (0.5 ft³) | 0.50 ft³ | 54.0 | Sand |
| 40 lb bag (0.75 ft³) | 0.75 ft³ | 36.0 | Topsoil |
| 1 ft³ bag | 1.00 ft³ | 27.0 | Topsoil |
| 1.5 ft³ bag | 1.50 ft³ | 18.0 | Topsoil |
| 80 lb concrete mix | 0.6 ft³ | 45 | Concrete |
| 60 lb concrete mix | 0.45 ft³ | 60 | Concrete |
| 40 lb concrete mix | 0.3 ft³ | 90 | Concrete |
Sold by coverage
Materials sold by the square foot (sod) use area × (1 + waste) ÷ coverage per unit, rounded up, then grouped into pallets.
| Unit | Coverage | Calculator |
|---|---|---|
| 4 × 8 ft sheets (32 ft²) | 32.00 ft² | Drywall |
| 4 × 12 ft sheets (48 ft²) | 48.00 ft² | Drywall |
| Cartons (≈ 20 ft²) | 20.00 ft² | Flooring |
| Square feet to buy | 1.00 ft² | Flooring |
| R-13 kraft batts, 15″ × 93″ (≈ 97 ft²/bag) | 96.90 ft² | Insulation |
| R-15 batts, 15″ × 93″ (≈ 68 ft²/bag) | 67.80 ft² | Insulation |
| R-19 batts, 15″ × 93″ (≈ 49 ft²/bag) | 48.90 ft² | Insulation |
| R-30 batts, 15″ × 48″ (≈ 58 ft²/bag) | 58.70 ft² | Insulation |
| R-38 batts, 15″ × 48″ (≈ 43 ft²/bag) | 42.70 ft² | Insulation |
| Gallons (350 ft² each) | 350.00 ft² | Paint |
| Quarts (87 ft² each) | 87.50 ft² | Paint |
| 4 × 8 ft sheets (32 ft²) | 32.00 ft² | Plywood & OSB |
| 4 × 10 ft sheets (40 ft²) | 40.00 ft² | Plywood & OSB |
| Bundles (33⅓ ft²) | 33.33 ft² | Roofing |
| Squares (100 ft²) | 100.00 ft² | Roofing |
| Rolls (2×5 ft, 10 ft²) | 10.00 ft² | Sod |
| Slabs (16×24 in, 2.67 ft²) | 2.67 ft² | Sod |
| Big rolls (4×50 ft, 200 ft²) | 200.00 ft² | Sod |
Concrete bag yields follow the manufacturer data sheets for standard 4,000 psi mix (Quikrete, Sakrete). Ready-mix is rounded up to ¼ yd³ because that is how plants ticket it; the calculator recommends ready-mix at or above 1 yd³ after waste.
Waste and order rounding
| Calculator | Default waste / settling | Order rounded up to |
|---|---|---|
| Asphalt | 5% | 0.25 ton |
| Crushed stone | 20% | 0.25 ton |
| Fill dirt | 20% | 1 yd³ |
| Gravel | 5% | 0.25 ton |
| Limestone | 10% | 0.25 ton |
| Mulch | 0% | 0.5 yd³ |
| Pea gravel | 5% | 0.25 ton |
| River rock | 5% | 0.25 ton |
| Sand | 5% | 0.25 ton |
| Topsoil | 10% | 0.5 yd³ |
Waste is applied on top of the net quantity and is shown as its own line so it can be changed. Asphalt tickets also report loose haul volume at 1.25 × compacted volume.
Cost estimates
Cost pages price the rounded order quantity, not the net volume, because that is what you pay for. Each cost page shows three columns: low, typical and high, taken as roughly the 20th, 50th and 80th percentile of published national cost guides and supplier price lists, re-checked monthly. Delivery is a flat per-load fee with a minimum; labor is priced per square foot, ton or yard as the trade quotes it. Every cost page lists its sources, and entering your own quote replaces the range entirely. Regional labor indexes are planned; until then treat the ranges as national.
Testing
The calculation library is pure TypeScript with no dependencies and an automated test suite covering unit-conversion round trips, hand-checked examples, the 45-bags-per-yard concrete identity, the 13.5-bags-per-yard mulch identity, zero and negative inputs, absurdly large inputs and bag rounding. The tests run on every change before the site deploys.
Reporting an error
If a result disagrees with your supplier's math, send the inputs. Corrections ship the day they are verified and this page updates automatically.