Landscape gravel calculator
A 200 square foot bed covered 2 inches deep takes 1.2346 cubic yards of decorative gravel, or 1.7284 short tons at the default density of 1.4 tons per cubic yard. Enter the bed area and depth to know what to order. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Area
- 200
- Depth
- 2
- Area sqft
- 200
- Depth inches
- 2
- Density tons per yd3
- 1.4
- Volume cu ft
- 33.3333
This landscape gravel calculator turns a decorative bed’s plan area and a target gravel layer depth into the cubic yards of stone you should order and the short tons that bulk yards typically quote on the delivery ticket. Homeowners, landscape crews, and HOA maintenance teams routinely under-order when they forget that depth is measured in inches while bulk decorative gravel is sold by the cubic yard, or they mis-estimate tons because the quarry’s density sheet never matches a mental guess. The engine accepts area in square feet, depth in inches, and an optional bulk density in short tons per cubic yard (default one point four, a common figure for dry crushed decorative stone). Volume in cubic feet is area times depth over twelve; cubic yards divide that result by twenty-seven; tons multiply yards by density. The response is fully deterministic with no network calls, no sampling, and no date-dependent shortcuts.
What the calculator returns and how landscape gravel volume is defined
Landscape gravel volume here is the bulk decorative aggregate needed to cover a flat bed or border area to a uniform depth, expressed both in cubic feet and in cubic yards, plus a short-ton weight derived from bulk density. Cubic yards are the unit bulk suppliers use for dump-truck or super-sack orders of pea gravel, crushed granite, river rock fines, and similar landscape products; cubic feet help you cross-check bag labels when a small job stays on the retail aisle.
The conversion is exact in the identity used by every landscape take-off sheet: one cubic yard equals twenty-seven cubic feet, and depth in inches must be divided by twelve before multiplying by area in square feet. Equivalently, cubic yards equal area times depth in inches divided by three hundred twenty-four, because twelve times twenty-seven is three hundred twenty-four.
Weight in short tons multiplies that cubic-yard figure by the supplier’s bulk density in tons per cubic yard; the default of one point four approximates many dry decorative crushed stones, but wet rock, rounded river gravel, or dense basalt may sit higher, and lightweight lava or shell products may sit lower. Treat the result as a planning estimate and round up slightly for irregular beds, edging that will also receive stone, or a modest waste allowance your supplier recommends.
Where landscape gravel estimates fit for DIY, quotes, and software
DIY gardeners meet this problem when a front-border refresh needs one and a half to three inches of decorative gravel over weed fabric, when a new xeriscape bed is measured in feet but the bulk yard quotes tons, or when bagged product at the store must be compared against a dump-truck delivery of the same yardage.
Trade estimators use the same identity across dozens of beds: measure plan area, pick a depth from the plant and hardscape schedule, convert to yards for the delivery truck, and multiply by the quarry density sheet for tons so the gate scale and the material take-off stay aligned. Teachers and vocational trainers can pre-generate answer keys for modest bed sizes without trusting opaque mobile apps that switch units mid-form or forget that depth is inches while area is square feet and bulk weight is tons per yard.
Developers call the same contract from scripts to seed deterministic test vectors for landscape calculators, to normalise user-entered bed sizes before a cart suggests yardage or tonnage, or to satisfy programming-challenge statements that demand cubic yards and tons rather than a hand-waved “about two yards.” Product tools use the rewrite when a homeowner types two hundred square feet and two inches and the UI must show yardage and a clean ton total before checkout.
What you can do with it
Decorative front-border refresh
Enter bed area in square feet and a one-and-a-half to three inch depth to know cubic yards for bulk delivery and tons for the yard ticket.
Contractor multi-bed gravel quotes
Feed measured bed areas, specified gravel depths, and supplier density from a hardscape schedule to produce reproducible yardage and tonnage for bids.
FAQ
How is landscape gravel volume and tonnage calculated?
Cubic feet = area (sq ft) × depth (inches) / 12. Cubic yards = cubic feet / 27 (or area × depth / 324). Tons = cubic yards × bulk density in tons per cubic yard (default 1.4).
What happens if area, depth, or density is zero or negative?
Non-positive inputs cannot define a physical gravel layer or material density, so the tool never invents yardage or tons.
What density should I use for decorative gravel?
Use your supplier’s bulk density in short tons per cubic yard when available. The default 1.4 is a common planning figure for dry crushed decorative stone; wet or denser rock may need a higher value.
Does this add compaction, waste, or slope correction?
No. It returns pure geometric volume and density-based tons only.
Is the landscape gravel calculator free?
The browser tool is free and runs locally.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/home/landscape-gravel \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"area":200,"depth":2}'const res = await fetch("https://api.kit.forhosting.com/home/landscape-gravel", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"area": 200,
"depth": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/home/landscape-gravel",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"area": 200,
"depth": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/home/landscape-gravel", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"area":200,"depth":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"area":200,"depth":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/home/landscape-gravel", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"area": 200,
"depth": 2
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "home.landscape_gravel",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
What the calculator returns and how landscape gravel volume is defined
The calculator multiplies area by depth over twelve for cubic feet, divides by twenty-seven for cubic yards, multiplies by density for tons, and returns JSON that echoes area_sqft, depth_inches, density_tons_per_yd3, volume_cu_ft, volume_cu_yd, tons, unit tags, the method tag, and a short formula string. There is no brand database, no slope correction, no compaction or waste factor, and no shopping cart: the page answers only the volume and tonnage questions with stable numbers suitable for worksheets, contractor quotes, and API consumers that must match goldens run after run.
How inputs are read, validated, and kept reproducible
Always convert irregular beds to plan square feet first—length times width for rectangles, or the sum of simple shapes—before calling, because the solver never triangulates polygons or reads CAD files. Preferred fields are area for bed surface in square feet and depth for gravel thickness in inches, plus optional density in short tons per cubic yard when you are not using the default one point four. Aliases such as bed_area, sqft, and square_feet for area, depth_inches, inches, thickness, and gravel_depth for depth, and tons_per_yd, tons_per_cu_yd, bulk_density, or density_tons for density are accepted so spreadsheets, query strings, and typed forms can reuse the same contract without renaming columns. Every numeric field must be finite; non-positive area, depth, or density is rejected with invalid_input so a zero-depth form field cannot silently claim free stone and a zero density cannot invent a zero-weight order. An optional precision field, with aliases decimals and dp, chooses how many decimal places to expose for areas, volumes, and tons, defaulting to four and capped at fifteen so JSON goldens stay stable across engines. Pair the free browser run on this page with the priced API when you need the identical mathematical result inside an automated pipeline without re-implementing the landscape gravel formula yourself.
Where landscape gravel estimates fit for DIY, quotes, and software
On this page the work runs entirely in your browser; through the API each successful lookup costs $0.002, failed validation is not charged, and nothing is stored after the response returns. That split — free interactive exploration and a priced, identical API — matches the rest of the KIT tier-A catalog and lets you move from a backyard demo to an automated quoting pipeline without changing the mathematical result. Pair it with unit converters when your tape measure is in metres, with mulch or topsoil endpoints when the same bed will receive mixed finishes, and with other home or geometry helpers when you are building a small lab of free, deterministic planning tools for outdoor projects.
Integration use cases
Golden fixtures for landscape apps
Developers generate known-good cubic-yard and ton cases plus deliberate non-positive input rejections for unit tests and CI.