Square feet to cubic yards
1000 square feet covered 3 inches deep is 250 cubic feet, a little over 9 cubic yards. Enter the area you measured and the depth on the spec to order bulk material by the yard. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Area
- 1,000
- Depth
- 3
- Depth unit
- In
- Depth ft
- 0.25
- Volume ft3
- 250
- Volume yd3
- 9.2592592593
This square-feet-to-cubic-yards converter turns a plan area measured in square feet and a material depth into the bulk volume you should order. Contractors, landscapers, and homeowners routinely mix units: beds, driveways, and slabs are measured in square feet, while fill, gravel, concrete, mulch, and soil are sold by the cubic yard. The engine multiplies area in square feet by depth converted to feet, which yields cubic feet, then divides by twenty-seven because one cubic yard is exactly twenty-seven cubic feet. Depth defaults to inches, the unit printed on most landscape and slab specs, and can be sent in feet when your drawing already uses that unit.
How square feet and depth turn into cubic yards
Square feet measure a flat plan: a patio, a driveway, a garden bed, a slab, or any other rectangle or traced area whose length times width is already known. Cubic yards measure a volume of material that fills that plan to a uniform depth. You cannot convert an area into a volume without a thickness, so this converter always asks for both: area in square feet and depth of the layer.
Depth is inches by default because landscape sheets, gravel guides, and residential slab notes almost always say two inches, three inches, or four inches rather than a fraction of a foot. Cubic feet are the intermediate: area times depth in feet. Cubic yards divide that result by twenty-seven, the exact identity that one yard cubed is three feet times three feet times three feet.
Equivalently, when depth is in inches, cubic yards equal area times depth divided by three hundred twenty-four, because twelve times twenty-seven is three hundred twenty-four.
Where a generic ft²-to-yd³ conversion fits, and what it is not
Homeowners meet this calculation when a patio base, a raised bed, or a driveway overlay is measured in square feet but the yard quotes fill, gravel, or soil by the cubic yard, and they need both yardage for the truck and cubic feet to compare against bag labels. Trade estimators use the same identity across many materials: measure plan area, pick a specified depth, convert to yards for delivery, and apply their own waste or compaction after the pure geometry is known.
Teachers and vocational trainers can pre-generate answer keys for modest areas without trusting opaque mobile apps that switch units mid-form or forget that depth is inches while area is square feet. Developers call the same contract from scripts to seed deterministic test vectors for take-off tools, to normalise user-entered areas before a cart suggests a bulk quantity, or to satisfy programming-challenge statements that demand cubic yards rather than a hand-waved guess.
This is not a mulch bag calculator, not a gravel tonnage estimator, not a topsoil density helper, and not a sand weight tool: those landings ask for bags, bulk density, or a named product and answer a different search. On this page the work is the unit conversion alone.
What you can do with it
Patio, slab, and driveway take-offs
Enter the square-foot plan and a depth in inches or feet to know cubic yards of base, fill, or concrete before you call the yard.
Landscape bulk orders
Convert bed or path area and a specified layer thickness into cubic yards for a dump-truck order, plus cubic feet to compare with bagged product.
FAQ
How do I convert square feet to cubic yards?
Send a positive area in square feet and a positive depth. Cubic feet equal area times depth in feet; cubic yards equal cubic feet divided by 27.
What depth unit should I use?
Inches are the default because landscape and slab notes usually quote two, three, or four inches.
What happens if area or depth is zero or negative?
Both area and depth must be strictly positive numbers; a zero layer cannot define a material volume and is not billed.
Does this calculator pick mulch, gravel, or topsoil bags?
No. It only converts square feet and depth into cubic yards and cubic feet. Material-specific bag, density, or tonnage estimators are separate landings with different inputs.
What does the square feet to cubic yards converter cost?
It is free in your browser on this page.
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/build/ft2-yd3 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"area":1000,"depth":3}'const res = await fetch("https://api.kit.forhosting.com/build/ft2-yd3", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"area": 1000,
"depth": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/build/ft2-yd3",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"area": 1000,
"depth": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/build/ft2-yd3", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"area":1000,"depth":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"area":1000,"depth":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/build/ft2-yd3", 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": 1000,
"depth": 3
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "build.ft2_yd3",
"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
Zero and negative area or depth are rejected as invalid_input instead of a hollow zero volume. Use it on this page at no charge, or call the API at $0.002 per successful request.
What square feet to cubic yards means and what the response contains
When the drawing is already in feet, send depth_unit as ft and the engine skips the divide-by-twelve step. The JSON response echoes area, depth, and depth_unit, reports depth_ft so the conversion is auditable, returns volume_ft3 and volume_yd3 as the two volume answers, restates cu_ft_per_cu_yd as twenty-seven, and includes a formula string plus short steps. There is no density table, no bag count, no compaction factor, and no shopping cart: the page answers only the unit conversion from square feet and depth into cubic yards and cubic feet, with stable numbers suitable for worksheets, contractor quotes, and API consumers that must match goldens run after run.
How area, depth, and depth_unit are validated and kept reproducible
Every numeric field must be finite. Zero or negative area or depth is rejected with a message that the field must be a positive number, so a blank form cannot silently claim free material. Magnitudes above one billion are rejected as out of range. Preferred fields are area for the plan in square feet and depth for the layer thickness, plus optional depth_unit when you are not using the default inches. Aliases such as sqft, square_feet, ft2, surface, and plan_area for area, and thickness, height, depth_in, and inches for depth, are accepted so spreadsheets, query strings, and typed forms can reuse the same contract without renaming columns. depth_unit accepts in or ft and defaults to in; aliases unit and thickness_unit map to the same field. A missing area or depth fails with invalid_input naming the field. Computation uses ordinary IEEE floating-point: depth in feet is the given depth when the unit is feet, or depth divided by twelve when the unit is inches; cubic feet are area times that depth in feet; cubic yards are cubic feet divided by twenty-seven. Results round to twelve decimal places and collapse negative zero so JSON goldens stay stable across runtimes. Pair the free browser run on this page with the priced API when you need the identical mathematical result inside an automated pipeline.
Where a generic ft²-to-yd³ conversion fits, and what it is not
It 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 phone check at the yard to an automated pipeline without changing the mathematical result.
Integration use cases
Estimating software and CI fixtures
Generate deterministic volume_yd3 and volume_ft3 values for unit tests, property checks, and automated take-off pipelines.