Concrete pier calculator
This concrete pier calculator finds the volume required for round foundation piers, deck footings, fence-post foundations, and cardboard tube forms.
Run — free
Enter the inside diameter, poured depth, and number of identical piers. Diameter and depth can use different units, which is useful when plans specify a tube in inches but excavation depth in feet. The result includes volume per pier and combined totals in cubic feet, cubic yards, cubic meters, and liters, giving you practical figures for ordering or mixing concrete.
Measure the form dimensions that concrete will fill
Use the inside diameter of the cylindrical form or the finished diameter of an open excavated hole, because the calculation describes the space actually occupied by concrete. Measure depth from the bottom of the pour to the intended top surface. Do not substitute circumference for diameter: diameter is the straight distance across the center of the circle. The calculator lets diameter and depth use separate units, so a common entry might pair a tube diameter in inches with a footing depth in feet. Count only piers with the same dimensions in one calculation. If a project contains several pier sizes, calculate each size as a separate group and add the returned totals. Field measurements deserve care because volume changes with the square of diameter. Doubling depth doubles the concrete requirement, but doubling diameter makes the cylindrical cross-sectional area four times larger. Use actual form measurements when possible, especially for hand-dug holes that may be wider or less uniform than the nominal plan size.
Understand the cylindrical volume calculation
Each pier is treated as a right circular cylinder. The calculator converts diameter and depth to meters internally, divides the diameter by two to obtain radius, and applies pi times radius squared times depth. It then multiplies the single-pier volume by the number of piers. Unit conversion happens before multiplication, preventing a diameter entered in inches from being accidentally combined as though it were measured in feet. The returned volume per pier is shown in cubic feet, while project totals are given in cubic feet, cubic yards, cubic meters, and liters. These are the same physical quantity expressed in different units, not separate allowances. The formula assumes a full, straight cylinder with a constant diameter. It does not subtract reinforcing steel, because the displacement of typical reinforcement is normally small relative to ordering tolerances. It also does not model bell-shaped bases, enlarged footings, square pads, voids, or piers that taper. Calculate those shapes separately instead of forcing them into a cylindrical estimate.
Turn calculated volume into a practical concrete order
Treat the result as the geometric volume before waste. Real pours commonly need additional material for irregular excavation, form leakage, spillage, uneven bottoms, overfilling, and concrete left in handling equipment. Choose an allowance based on site conditions, supplier rules, and the consequences of running short; this calculator intentionally does not apply a hidden waste percentage. Ready-mix concrete is often ordered by cubic yard or cubic meter, so use the matching project total and follow the supplier's minimum-load and rounding requirements. For bagged concrete, divide the required volume by the yield printed on the specific bag, since yield varies with bag mass and product formulation. Confirm that every pier in the group truly has the entered diameter and depth before ordering. When structural drawings or local requirements specify a footing shape, frost depth, reinforcement layout, or minimum strength, those requirements govern the work. This tool estimates material volume only; it does not design a foundation, assess soil, or determine whether a pier is structurally adequate for a load.
What you can do with it
Deck footing pour
Estimate the combined concrete volume for equal round deck piers before scheduling a ready-mix delivery.
Tube form planning
Calculate how much concrete fills a set of cylindrical cardboard forms when diameter is listed in inches and depth in feet.
Fence and gate foundations
Compare concrete quantities for groups of round post foundations with different hole sizes by running each group separately.
FAQ
What does the calculator cost to use through the API?
The API price is $0.002 per request. The same deterministic calculation can also run in the browser.
Can diameter and depth use different units?
Yes. Select inches, feet, centimeters, or meters independently for each dimension.
Does the result include waste or overage?
No. It reports geometric cylinder volume. Add an allowance appropriate for excavation accuracy, handling, and ordering conditions.
Should I enter the inside or outside diameter of a tube form?
Enter the inside diameter, because that is the diameter of the concrete placed inside the form.
Can this calculate a bell-shaped or enlarged footing base?
No. The algorithm assumes a constant-diameter cylinder. Calculate any enlarged base as a separate compatible shape.
How do I convert the result to bags of concrete?
Divide the required volume, plus your chosen allowance, by the cured-volume yield printed on the bag. Product yields differ, so the calculator does not assume one.
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/concrete-pier \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"diameter":12,"depth":4,"piers":8}'const res = await fetch("https://api.kit.forhosting.com/home/concrete-pier", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"diameter": 12,
"depth": 4,
"piers": 8
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/home/concrete-pier",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"diameter": 12,
"depth": 4,
"piers": 8
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/home/concrete-pier", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"diameter":12,"depth":4,"piers":8}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"diameter":12,"depth":4,"piers":8}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/home/concrete-pier", 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,
"depth": 4,
"piers": 8
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "home.concrete_pier",
"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.
Limits
max_dimension_m | 1000 |
max_piers | 1000000 |
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. |