Sonotube calculator
Four 12-inch tubes filled 4 feet high take 21 bags of 80-pound concrete, at 0.60 cubic feet per bag. Enter the tube diameter in inches, the height in feet and how many tubes you will pour. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Diameter
- 12
- Height
- 4
- Quantity
- 4
- Radius in
- 6
- Height in
- 48
- Volume one ft3
- 3.1415926536
- Volume one yd3
- 0.1163552835
Sonotube is the trade name contractors still type when they mean a cardboard concrete form tube: a round, single-use mold that stands on a footing or grade and takes a pour of ready-mix or bagged concrete for a deck pier, porch column, mailbox stem, or lamp post. Ordering the mix starts from cubic yards, not from a diameter printed on the carton, and a Saturday bag run starts from how many 80-pound sacks that yardage equals. This Sonotube calculator takes tube diameter in inches, fill height in feet, and how many identical tubes you will stand, models each form as a right circular cylinder, and returns cubic yards plus the equivalent 80-pound bag count using the published 0.60 cubic-foot yield.
How Sonotube fill volume becomes cubic yards and bags
A Sonotube form is a right circular cylinder that you fill to the top, so the concrete volume is the classic pi r squared h of a solid cylinder — not an annulus around a buried post, not a hollow cardboard shell, and not a rectangular footing. Tube diameter is entered in inches because that is how cardboard form tubes are sold: eight, ten, twelve, sixteen, eighteen, and twenty-four inch cartons are the common SKUs on a lumber-yard rack.
Fill height is entered in feet because that is how tube lengths and pier heights are quoted: a four-foot, eight-foot, or twelve-foot stick, or a cut-down height to the underside of a beam. Radius in inches is diameter divided by two; height in inches is height in feet times twelve; volume of one tube in cubic inches is pi times radius squared times that height. Total cubic inches multiplies by the integer quantity of identical tubes.
Cubic feet divide the cubic-inch total by 1,728; cubic yards divide it by 46,656, which is the same as dividing cubic feet by twenty-seven. Equivalent bag count uses the published yield of an 80-pound sack of bagged concrete, 0.60 cubic feet, and takes the ceiling so you never round down a fractional sack at the store. A classic check is one twelve-inch tube, four feet high: radius is six inches, volume is pi cubic feet, about 0.116 cubic yards, and six 80-pound bags after the ceiling.
The path is deterministic floating-point arithmetic with no random seeds, no wall-clock timestamps, and no network. Quantity, when sent, must be a positive integer; omitted quantity defaults to one tube. Waste, over-excavation, and flared bells are not added; apply those percentages after you have the geometric volume of the filled forms.
Where a Sonotube calculator earns its keep
Deck builders and remodelers reach for a Sonotube calculator when the ready-mix desk or the bag aisle asks for cubic yards, not a carton diameter. Knowing the tube size, how tall each pier will stand, and how many identical forms you will set yields a fill volume you can compare against a truck minimum and a bagged-mix backup without opening a spreadsheet of pi. Porch, carport, and raised-cabin crews use the same three numbers to size a small mixer and avoid a short load on a Saturday.
Mailbox, lamp-post, and sign contractors need a reproducible yardage from the same fields an inspector can read off the submittal. Estimating desks that already count piers from a plan still need a second, distinct volume for the concrete line item; counting posts and filling cardboard tubes are different search intents and should not share a page. This landing is also not a generic cylindrical column in matching linear units, not a post-hole collar that subtracts buried lumber, and not a rectangular slab or pad-footing takeoff.
Trade-school modules on construction takeoff can pin the twelve-inch by four-foot single tube in tests because the arithmetic is deterministic. If you only need a unit-agnostic cylinder, that is a different calculator; if you are pouring around a post in an augered hole, subtract the post instead of filling a form.
What you can do with it
Deck and porch pier takeoff
Enter Sonotube diameter in inches, pier height in feet, and how many identical tubes you will stand to get cubic yards and 80-lb bags before you call the plant or load the truck.
Raised cabin or carport columns
Size a mixer or a short ready-mix load from quantity times one tube’s π r² h, with the 80-lb bag ceiling as a bagged backup if the truck cannot come.
FAQ
What happens if the tube diameter or height is zero or negative?
Diameter and height must both be finite positive numbers; a non-positive value would make fill volume non-physical or zero.
Why is diameter in inches and height in feet?
That is how cardboard form tubes are sold and how pier heights are quoted: a 12-inch carton, a 4-foot stick.
How is the equivalent bag count computed?
A fractional sack still costs a whole bag at the store.
How much concrete does one 12-inch tube 4 feet tall hold?
Exactly pi cubic feet, about 0.116 cubic yards. At 0.60 cubic feet per 80-pound bag, a single tube rounds up to six bags.
Does the result include extra for waste or spills?
No. The figure is the filled cylinder only. Waste, over-excavation and flared bells under the tube are not added, so apply your own margin after you have the volume.
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/sonotube \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"diameter":12,"height":4}'const res = await fetch("https://api.kit.forhosting.com/build/sonotube", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"diameter": 12,
"height": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/build/sonotube",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"diameter": 12,
"height": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/build/sonotube", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"diameter":12,"height":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"diameter":12,"height":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/build/sonotube", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"diameter": 12,
"height": 4
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "build.sonotube",
"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
Diameter or height that is not a finite positive number fails with invalid_input instead of a silent nonsense yardage. The same pure function powers the free browser tool and the paid API, so a jobsite phone check matches the line a purchasing script posts later.
How Sonotube fill volume becomes cubic yards and bags
Diameter or height that is missing, non-finite, zero, or negative is rejected with invalid_input instead of a silent nonsense yardage.
What you send and what you get back
A non-integer or non-positive quantity fails the same way. Example: diameter 12, height 4, quantity 4 is a typical four-pier deck takeoff. Wire the free browser form for a jobsite check, then call the identical contract from scripts for multi-tube schedules without reimplementing the cylinder. Missing fields, empty strings, non-numeric text, NaN, Infinity, zero, and negative values on diameter or height fail with invalid_input naming the field and are not charged — the published contract is that diameter and height must be positive. On success the JSON echoes the cleaned diameter, height, and quantity, the derived radius_in and height_in, volume_one_ft3 and volume_one_yd3 for a single tube, then cubic_feet and the primary cubic_yards for the whole job, plus bags as a whole 80-pound sack count, bag_size_lb 80, bag_yield_ft3 0.60, bags_exact before the ceiling, a unit_note, a formula string, and method sonotube_cylinder_yd3_bags so logs can document the algorithm. API pricing is the published base of $0.002 per successful item; validation failures do not consume prepaid balance. Callers who buy 60-pound sacks (0.45 cubic feet) or 40-pound sacks (0.30 cubic feet) can scale from cubic_feet themselves; this landing reports the 80-pound equivalent that most Sonotube bag charts use.
Where a Sonotube calculator earns its keep
Because this capability is a pure parse engine, API pricing is the published base of $0.002 per successful item and failed validation does not consume balance. Keep requests small, pin cubic_yards and bags in tests, and you get reproducible yardage for quotes, purchase orders, and edge workers without standing up a CAD kernel of your own.
Integration use cases
Mailbox, lamp, and sign stems
Convert a short schedule of cardboard form tubes into cubic_yards and bags so the concrete line item matches the filled cylinders, not a guess from carton size.
Technical questions
How does this Sonotube calculator turn diameter, height, and quantity into cubic yards?
It models each form as a right circular cylinder: diameter in inches, height in feet converted to inches, volume = π × (diameter/2)² × height_in × quantity, then cubic yards = cubic inches ÷ 46,656 (same as cubic feet ÷ 27).
Is the browser Sonotube calculator free, and what does the API cost?
The browser tool is free and runs locally. API requests use prepaid KIT balance at $0.002 per successful item; invalid input is not charged.