How the estimates are calculated

A plain-language description of what the calculators on this site do with your measurements, where every number they rely on comes from, how results are rounded, and where the estimates can fall short.

The short version

Every estimate is area times depth. The calculators work out the area of each shape you enter, multiply by its depth to get a volume, add the waste allowance once to the total, and convert that padded volume into cubic yards, cubic metres, tons (using the material's density) and bags (using each bag's volume or yield). Everything runs in your browser; the same inputs always give the same shopping list, which is what makes the share link work.

Units

Internally every length is in feet, every area in square feet, every volume in cubic feet and every weight in pounds. Whatever you type (inches, feet-and-inches like 4' 6", millimetres, centimetres or metres, with or without a unit) is converted to feet before any arithmetic, and the results are converted back for display. The conversion factors are fixed: 27 cubic feet per cubic yard, 35.3147 cubic feet per cubic metre, 28.3168 litres per cubic foot, 2,000 lb per US (short) ton and 2,204.62 lb per metric tonne. Tons on this site are US short tons unless they say tonnes.

Areas

  • Rectangle: length x width.
  • Circle: π x (diameter ÷ 2)².
  • Triangle: base x height ÷ 2, where the height is measured square to the base.
  • Ring (a bed around a tree): the outer circle's area minus the inner circle's.
  • Known area: whatever square footage you enter, for shapes you have measured another way.

An irregular bed is handled by splitting it into these shapes, or by averaging its width and entering it as a rectangle or a known area. The diagram beside each area is drawn from the same numbers, so a swapped dimension shows.

Volume, waste and the shopping list

Each area's volume is its area times its depth (its own depth if you set one, otherwise the depth set for the material). The volumes are summed, and the waste allowance is applied once to that total: volume with waste = volume x (1 + waste percent ÷ 100). Every quantity on the shopping list (cubic yards, cubic metres, litres, pounds, tons, tonnes, bag counts and costs) is computed from the volume with waste, so the list agrees with itself. The per-area breakdown shows the raw volumes without waste, so they add up to the total before the allowance.

Weights

Weight is volume with waste times the material's bulk density in pounds per cubic foot. Tons are pounds divided by 2,000, tonnes are pounds divided by 2,204.62. A material whose density varies too much to state (some mulches, pine straw, bagged blends) has no density in the data, and the calculators then show no weight rather than a made-up one. Bulk density is the weight of the loose material, air gaps included; it is not the density of the solid rock.

Bags

The bag count for a size is the volume with waste divided by the bag's volume or yield, rounded up to a whole bag. Mulch and soil bags state a volume (2 cu ft, 0.75 cu ft) and the calculator uses it as printed. Sand, gravel and concrete are sold by weight, and the volume per bag is the maker's published figure where one exists; where a bag's volume has to be derived from its weight and the material's density, the data says so in the bag's label. Concrete bag yields are the volume of mixed concrete the maker publishes for each bag size.

Concrete

  • Slab: the shape's area x thickness.
  • Footing: length x width x depth x count.
  • Post hole: the cylinder's volume (π x (diameter ÷ 2)² x depth) minus the post's volume over the same depth (side² x depth for a square post, π x (diameter ÷ 2)² x depth for a round one), x count.
  • Column: π x (diameter ÷ 2)² x height x count.
  • Stairs: solid blocks stacked on a flat base; step i from the top is width x run x (rise x i), so the total is width x rise x run x steps x (steps + 1) ÷ 2.

The ready-mix order is the cubic yards with waste rounded up to the next quarter yard, which is how suppliers bill. Bag counts are rounded up as above.

Pavers

Each paver's footprint is (paver length + joint) x (paver width + joint), which gives every paver half a joint on each side. Each area's count is its area divided by the footprint, rounded up on its own (offcuts from one area rarely finish another), and the counts are summed; the count to buy adds the waste percentage to that sum and rounds up again; pallets are the count to buy divided by the pieces per pallet you enter, rounded up. The base and the bedding sand are ordinary bulk estimates over the same areas at the base and sand depths, with the same waste percentage and the densities of the base and sand materials; a depth set on an individual area is ignored here, because the dig below the pavers is the same everywhere. The default depths, 4 in of compacted base under pedestrian areas and 1 in of bedding sand, follow the installation guidance of the Interlocking Concrete Pavement Institute (now part of the Concrete Masonry and Hardscapes Association); driveways need 6 in or more.

Fences

Each run is divided by the post spacing and rounded up to whole sections; a run has one more post than sections, and posts are counted run by run (so a corner shared by two runs is counted twice, which is the conservative choice; the result says so when there is more than one run). Each gate adds one post: a gate hangs between two posts, and one of them is already a line post of the run. Rails are sections x rails per section, with no waste added. Pickets are the total fence length less the gate openings, divided by (picket width + gap), rounded up, and the waste percentage is applied to the pickets only, for the count to buy; a picket width of 0 means a panel fence with no pickets. Concrete is the post-hole formula above, applied to every post including the gate posts, and reported in bags. When prices are given, the materials total covers the posts, rails, pickets to buy and the first bag size that has a price.

Checks and warnings

Every job is checked before anything is computed. Bad input (a missing shape, a negative length, a ring whose hole is bigger than the ring, a post that does not fit its hole, gates longer than the fence) produces an error and no result, never a partial one. Input that is legal but unusual produces a result with a warning:

  • a depth over 2 ft for a bulk material, which is almost always inches typed into a feet field;
  • a slab thinner than 2 in or thicker than 12 in;
  • a paver joint wider than 1 in;
  • fence post spacing outside 4 to 10 ft;
  • more than one fence run, as a reminder that shared corner posts are counted twice.

Any single dimension over 10,000 ft is rejected as a typo, as is a known area over 10,000 x 10,000 ft, and an estimate holds at most 50 areas, 50 concrete elements or 50 fence runs.

Where the numbers come from

Every density, typical depth and bag size the calculators use is in one data file, and each entry has the source it was read from and the date. Sources are manufacturers' own data sheets and product pages, retailer listings (for the weight and volume printed on a bag), university extension publications, and standards, industry or government bodies; other calculator sites are never used as a source. Where two sources disagree, the midpoint is stored and the note says so. This is the complete list:

Materials, densities and typical depths used by the calculators
MaterialCategorylb per cu ftTons per cu ydTypical depthBag sizesNotes
Hardwood bark mulch (shredded)Mulch160.213 in2 cu ft bag, 3 cu ft bagDerived from a bagged weight: Timberline shredded hardwood mulch is listed at 31 lb per 2 cu ft bag (15.5 lb/ft³, about 420 lb per cubic yard). Bagged mulch is dried for shipping; bulk mulch from a yard holds rain and can weigh half again as much. Extension services agree on 2-4 in: Illinois says 2-3 in for composted material and 3-4 in for coarse mulch; Clemson says fine wood and bark mulches no more than 2-3 in, coarse nuggets up to 4 in. Keep it off trunks and stems.
Pine bark mulch (nuggets)Mulch——3 in2 cu ft bagNo maker or readable listing publishes a weight for bagged pine bark nuggets, and bulk weight swings with moisture, so weights are not shown. It is lighter than shredded hardwood. Clemson: a 2-3 in layer of pine bark controls weeds, and coarse pine bark nuggets let air through so they can go as deep as 4 in. Illinois: coarse mulches 3-4 in.
Cedar mulch (shredded)Mulch——3 in2 cu ft bagNo readable source publishes a bag weight for shredded cedar (the big-box listings that sell it hide their spec tables), so weights are not shown rather than guessed. Cedar is lighter than hardwood, so the hardwood figure would overstate it. Extension services agree on 2-4 in: Illinois says 2-3 in for composted material and 3-4 in for coarse mulch; Clemson says fine wood and bark mulches no more than 2-3 in, coarse nuggets up to 4 in. Keep it off trunks and stems.
Dyed / colored wood mulchMulch220.303 in2 cu ft bag, 3 cu ft bagDerived from a bagged weight: Landscape Select dyed black shredded hardwood is listed at 44.3 lb per 2 cu ft bag (22 lb/ft³, about 600 lb per cubic yard). Colored mulch is ground whole wood, so it is denser than bark mulch; other brands and colors will differ. Extension services agree on 2-4 in: Illinois says 2-3 in for composted material and 3-4 in for coarse mulch; Clemson says fine wood and bark mulches no more than 2-3 in, coarse nuggets up to 4 in. Keep it off trunks and stems.
Rubber mulchMulch260.352 in0.8 cu ft bag, 1.55 cu ft bag (40 lb)Derived from maker and retailer weights that agree: GroundSmart 20.465 lb per 0.8 cu ft bag (25.6 lb/ft³), RubberMulch.com 40 lb per 1.55 cu ft bag (25.8) and 2,000 lb per 77 cu ft pallet (26.0); 26 lb/ft³ (about 700 lb per cubic yard) is stored. It does not absorb water. Makers disagree slightly: GroundSmart says install and maintain 1.5-2 in in landscape beds; RubberMulch.com says 2-3 in. 2 in is stored. Playground fall surfacing is a separate, deeper spec.
Pine straw (bales)Mulch——3 inBale (approx. 25 lb, 3 cu ft)Sold by the bale, not by weight or volume: LSU AgCenter says bales run 25-51 lb and hold 3-6 cu ft, so no single density applies. LSU AgCenter: an initial 3 in layer for shrubs and trees, about 0.5 lb per square foot; a 25 lb, 3 cu ft bale covers about 50 sq ft at 3 in. Clemson: 2-3 in of pine needles. Settles fast; top up with 1 in a year, when a bale goes about three times as far.
CompostSoil and compost400.542 in1 cu ft bag, 1.5 cu ft bag, 40 lb bag (≈1 cu ft, derived from density)Oregon State (EM 9217): screened compost at 50% moisture is about 1,000 lb per cubic yard, very wet compost over 1,500; WSU uses 1,150 lb per cubic yard at 50% moisture. The midpoint of the two rules of thumb, 40 lb/ft³ (1,080 lb/yd³), is stored. Oregon State (EM 9308): 3-4 in on new beds, 1-2 in worked in before a lawn, 1/4-1 in a year on established beds. Illinois: 2-3 in when used as mulch. 2 in is stored as the middle case.
Topsoil (screened)Soil and compost781.056 in0.75 cu ft bag, 1 cu ft bag, 40 lb bag (0.75 cu ft per the listing)From soil bulk density: SDSU Extension puts ideal density under 1.4 g/cm³ for loams and under 1.1 for clays, with 1.33 g/cm³ at 50% pore space; Cornell converts at 62.4 lb/ft³ per g/cm³, so 1.1-1.4 g/cm³ is 69-87 lb/ft³ and the midpoint, 78 lb/ft³ (about 1.05 tons per cubic yard), is stored. Wet or stony loads run heavier; bagged topsoil is a lighter peat blend (Timberline lists 38.5 lb per cu ft). Penn State: a minimum of 4-6 in of settled topsoil to establish a lawn. Use less to top-dress or fill low spots.
Garden soil mix (bagged)Soil and compost——3 in0.75 cu ft bag, 1 cu ft bag, 1.5 cu ft bag, 2 cu ft bagScotts does not publish bag weights for Miracle-Gro Garden Soil (it varies with moisture), and bagged mixes are mostly composted forest products, far lighter than mineral topsoil, so weights are not shown. Scotts Miracle-Gro: spread 2-3 in of garden soil and mix into the top 6-8 in of native soil; four 1 cu ft bags cover 24 sq ft at 2 in, six bags at 3 in.
Pea gravel (3/8 in)Gravel and stone931.263 in0.5 cu ft bag, 50 lb bag (≈0.54 cu ft, derived from density)Derived from bagged weights: Vigoro lists 48 lb and Pavestone 45 lb per 0.5 cu ft bag (96 and 90 lb/ft³); the midpoint, 93 lb/ft³ (about 1.25 tons per cubic yard), is stored. Quikrete All-Purpose Gravel (3/8 in top size) comes in 50 lb bags with no stated yield, so its bag count uses this density. Utah State: inorganic mulch such as gravel 2-3 in deep. For a path, go at least 3 in so the stones lock together. CPSC: at least 9 in compressed for playground fall surfacing.
Crushed stone #57 (3/4 in, clean)Gravel and stone1001.353 in0.5 cu ft bagFHWA (HRT-15-034, Table 7) measured AASHTO No. 57 at 95.4 lb/ft³ minimum (loose, funnel-placed) and 108.7 lb/ft³ maximum (vibrated). Stone arrives loose, so 100 lb/ft³ (1.35 tons per cubic yard) is stored; it will weigh and settle toward the high end once compacted. Utah State: inorganic mulch 2-3 in as a ground cover. As a drainage, French-drain or driveway layer, use the depth the project calls for.
Crusher run / road base (3/4 in minus)Gravel and stone1031.394 in0.5 cu ft bag, 50 lb bag (0.5 cu ft per Sakrete and Quikrete)Bagged paver base is the closest off-the-shelf analog: Quikrete HardScapes Paver Base is 50 lb per 0.5 cu ft (100 lb/ft³), Sakrete Paver Base yields 0.5 cu ft per 50 lb bag (100 lb/ft³; Sakrete describes it as a bedding sand) and Home Depot lists Pavestone Paver Base at 52.86 lb per 0.5 cu ft (106 lb/ft³). The midpoint, 103 lb/ft³ (about 1.4 tons per cubic yard loose), is stored. It compacts, so order by loose volume and compact in lifts. CMHA Tech Spec 2: at least 4 in compacted under patios and walks, 6 in under residential driveways, 8-10 in under streets; thicker over clay or in freeze-thaw climates.
Decomposed granite (1/4 in minus)Gravel and stone901.223 in0.5 cu ft bagDerived from bagged weights that disagree: Classic Stone lists 42 lb and EarthEssentials by Quikrete 48 lb per 0.5 cu ft bag (84 and 96 lb/ft³); the midpoint, 90 lb/ft³ (about 1.2 tons per cubic yard loose), is stored. It compacts noticeably when installed. Kafka Granite: 3 in compacted for a standard or stabilized pedestrian path (2 in only with a wax-polymer mix), 4 in where vehicles will drive.
River rock (1-3 in)Gravel and stone921.243 in0.5 cu ft bagDerived from bagged weights that disagree: Vigoro river pebbles list 50 lb and Oldcastle 0.5-3 in decorative rock 42 lb per 0.5 cu ft bag (100 and 84 lb/ft³); the midpoint, 92 lb/ft³ (about 1.25 tons per cubic yard), is stored. Larger, rounder stone packs looser. Utah State: inorganic mulch 2-3 in. Use at least the size of the largest stone so the ground does not show through, so 3 in for 1-3 in rock.
Paver base (compacted 3/4 in minus aggregate)Paver base1031.394 in0.5 cu ft bag, 50 lb bag (0.5 cu ft per Sakrete and Quikrete)Same material and sources as crusher run: Quikrete HardScapes Paver Base 50 lb per 0.5 cu ft (100 lb/ft³), Sakrete Paver Base 50 lb = 0.5 cu ft (100 lb/ft³), Pavestone Paver Base 52.86 lb per 0.5 cu ft (106 lb/ft³); midpoint 103 lb/ft³ stored. Figures are for loose material as bought. CMHA Tech Spec 2: minimum compacted base of 4 in for sidewalks, patios and pedestrian areas over well-drained soil, 6 in for residential driveways, 8-10 in for residential streets. Enter the compacted depth; the waste allowance covers compaction.
Bedding sand (ASTM C33 concrete sand)Sand1001.351 in50 lb bag (0.5 cu ft, derived from density), 60 lb bag (0.6 cu ft per Sakrete)Sakrete data sheets: Natural Play Sand 50 lb yields 0.5 cu ft and Multi-Purpose Sand 60 lb yields 0.6 cu ft, both 100 lb/ft³ (1.35 tons per cubic yard). Quikrete All-Purpose Sand meets ASTM C33 but publishes no yield, so its 50, 60 and 70 lb bags use this density. CMHA Tech Spec 2 and 9: screed bedding sand to a nominal 1 in (25 mm), uncompacted, over the compacted base. Never use it to make up a low base.
Polymeric jointing sandSand1001.351 in50 lb bag (≈0.5 cu ft, derived from density), 40 lb pail (≈0.4 cu ft, derived from density)Graded sand with a polymer binder; the plain-sand density of 100 lb/ft³ (Sakrete sand data sheets) is used only to turn bag weight into volume. Buy by coverage, not by the yard. Fills joints the full depth of the paver, so the depth entered should be the paver thickness. Coverage per 50 lb bag (Quikrete calculator, 2x4x8 in brick): about 40 sq ft at 1/4 in joints, 22 sq ft at 1/2 in, 12 sq ft at 1 in, 8 sq ft at 2 in. Sakrete PermaSand: a 40 lb pail covers 30-45 sq ft at 1/4 in joints in 2 in pavers; joints 1/4-1.5 in wide.
Play sand (washed, screened)Sand1001.359 in50 lb bag (0.5 cu ft per Sakrete), 60 lb bag (0.6 cu ft, derived from density)Sakrete Natural Play Sand data sheet: a 50 lb bag yields 0.5 cu ft (covers 6 sq ft at 1 in) and a 60 lb bag covers 7 sq ft at 1 in, so about 100 lb/ft³. Quikrete Premium Play Sand is also sold in 50 lb bags. CPSC Public Playground Safety Handbook: never use less than 9 in of loose-fill under play equipment, and because loose fill compresses at least 25%, fill to 12 in to end up with 9. A sandbox needs only as much as the box holds.
Concrete mix (premixed bags, 4,000 psi)Concrete1401.89—40 lb bag (0.30 cu ft), 50 lb bag (0.375 cu ft), 60 lb bag (0.45 cu ft), 80 lb bag (0.60 cu ft), 90 lb bag (0.67 cu ft)Unit weight of the placed concrete, not of the dry bag: Quikrete lists approximately 140 lb/ft³ (ASTM C138). Used only for the weight of a finished slab or footing.
Fast-setting concrete (posts, no mixing)Concrete———50 lb bag (0.375 cu ft), 60 lb bag (0.45 cu ft)Poured dry into the hole and watered in place, so neither density nor delivered weight applies. Quikrete: two 50 lb bags set a 3 in square post in a 9 in hole 30 in deep; dig the hole three times the post width and one third the post height. Sakrete (10 in hole): 1.25 bags at 12 in deep, 2 at 18 in, 2.5 at 24 in, 3 at 30 in.

Sources

Prices

The typical US price ranges quoted on some pages (28 ranges on file) are hints for scale, not quotes. Unlike the material data, they come from national cost guides and store listings, each with the date it was current, and they vary by region, season and quantity. The cost comparison in the calculators uses only the prices you enter from your own supplier and store.

Rounding

  • The engine keeps full precision and only trims floating-point noise (to the ninth decimal), so 0.1 x 3 reads 0.3. Rounding for display happens after every calculation, never before. In the worked examples and tables on these pages, cubic yards are shown to two decimals below 10 and one above, and weights and tons to one or two decimals.
  • Bag counts, paver counts, pallets, posts, rails, pickets and sections are always rounded up to whole units, ignoring float noise just above a whole number, so 27.000000000000004 bags is 27, not 28.
  • Ready-mix concrete is rounded up to the next 0.25 cubic yard, which is how suppliers bill.
  • Bulk suppliers sell in half-yard or whole-yard steps; the pages say so, but the calculators show the computed figure and leave the final rounding to you and your supplier.

Limits

  • The geometry is exact for the shapes you enter; real beds are not those shapes. Measure carefully and use the waste allowance.
  • Depth is the largest source of error. A 3 in layer spread by hand lands between 2 and 4 in, and a compacted base needs more loose material than its finished thickness.
  • Densities are planning figures. Moisture, fines, rock type and compaction all move them by several percent or more, and a supplier's own tons-per-yard figure for their own stone is better than any table.
  • Typical depths are the common guidance for ordinary conditions. Structural work (footings, slabs that carry vehicles, retaining walls, fence posts in frost) is governed by your local code and site conditions, and the calculators do not replace them.
  • Fence runs are independent straight lines: the posts where two runs meet are counted once per run, and the pickets for a gate itself are not counted.
  • Bag yields assume the water content on the bag; nominal bag volumes assume the bag is full. Settling in transit means a "2 cu ft" bag spreads to a little less.

How the engine is tested

The calculation engine is separate from the pages and has over 150 automated tests. Unit parsing and formatting are tested on fractions, feet-and-inches, metric input, unicode fractions and decimal commas, and a length that is formatted and parsed again must come back on the same 1/16 in or 0.1 mm grid. The estimators are checked against hand-worked examples (areas of each shape, volumes with and without waste, bag counts at the rounding boundaries, post volumes subtracted from holes, ready-mix rounding to the quarter yard, paver counts with and without joints, fence sections, posts and pickets for runs that divide evenly and runs that do not), against an independent re-implementation of the arithmetic over seeded random jobs, and with hostile input (NaN, infinities, huge numbers, duplicate ids) that must produce an error rather than a crash or a wrong number. The worked examples on the pages are computed by the same engine when the site is built, and a page whose example the engine rejects does not build.

What is stored, and where

Your most recent project is kept in this browser's local storage so it is there when you come back on the same device. Nothing is sent to a server; the site has no database of projects. The share link is the only portable copy, and anyone with it can see the inputs, including any prices you entered. The privacy policy has the rest.

Use of AI

Parts of the code and text on this site, including the guides and the first draft of the materials data, were drafted with AI assistance (Claude, made by Anthropic) and reviewed and edited by the site's owner, who is responsible for everything published here. Every density, depth and bag yield is listed above with the source it was read from, so anyone can check it against that source, and the engine's behaviour is checked by the tests described above. If you find an error, please report it; corrections are listed in the changelog.