Conical frustum calculator
Give a truncated cone's two radii and its height, say 3, 4 and 5, and get the volume, slant height, side area and total surface in one go. A zero radius turns it into a full cone. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Radius1
- 3
- Radius2
- 4
- Height
- 5
- Volume
- 193.7315469714
- Slant height
- 5.0990195136
- Lateral area
- 112.1332957109
- Surface area
- 190.6731120506
A conical frustum, or truncated cone, is the solid left when a plane parallel to the base cuts a right circular cone short of the apex. It is defined by two circular radii (the parallel bases) and the perpendicular height between those bases. Once those three measures are known, every classical metric of the solid is determined: the volume is one-third pi times height times the sum of the squared radii and their product; the slant height is the hypotenuse of the right triangle formed by the height and the absolute difference of the radii; the lateral surface is pi times the sum of the radii times the slant height; and the total surface area adds the areas of the two circular bases. Students meet these formulas in solid-geometry homework and contest problems; engineers, packaging designers, and makers need the same numbers for hoppers, lamp shades, buckets, funnels, and tapered tanks.
What a conical frustum is and which three measures determine the rest
In Euclidean solid geometry a right circular frustum is the portion of a cone between two parallel planes both perpendicular to the axis. The two base radii may be equal, in which case the solid is a right circular cylinder; one radius may be zero, in which case the solid is a full cone; and both positive and unequal radii give the familiar tapered bucket shape. The perpendicular height is the distance between the two base planes along the axis, not the slant edge on the side.
Volume is obtained by integrating circular cross-sections whose radius interpolates linearly between the bases, which yields the closed form one-third pi height times the sum of the two squared radii and the product of the radii. Slant height is the generator length on the lateral surface: the hypotenuse of a right triangle whose legs are the height and the difference of the radii. Lateral surface area is the area of the unrolled annular sector, equal to pi times the sum of the radii times the slant height.
Total surface area adds the two base disks. Search intent clusters around phrases like conical frustum calculator, truncated cone volume, frustum surface area, slant height of a frustum, and volume of a truncated cone. People want numeric results they can check against a textbook answer key, a fabrication drawing, or a tank capacity note, not only a geometric argument that the figure is determined.
How this calculator validates input and applies the closed-form formulas
Both radii must be finite and not negative; zero is allowed so a full cone can be expressed as a frustum with one vanishing base. Height must be a strictly positive finite number. The engine first checks that each radius is not negative and that height is positive, then applies the classical formulas without numerical integration.
Volume is one-third times pi times height times the sum of radius1 squared, radius2 squared, and the product of the two radii. Slant height is the square root of height squared plus the squared difference of the two radii. Lateral area is pi times the sum of the radii times that slant height.
Total surface area is pi times the sum of the squared radii plus the lateral area. Edge cases are explicit: a negative radius1 or radius2 fails immediately with a message that a frustum radius cannot be negative; non-positive height, non-numeric strings, missing fields, and both radii zero all fail before any metric is returned. The product contract therefore matches common homework validation rules and shop practice where a negative radius is never a meaningful length.
You may use any consistent unit system for the radii and height; volume and area are expressed in the corresponding cubic and square units without conversion inside the engine.
What you can do with it
Homework and exam truncated-cone drills
Students and graders confirm volume, slant height, and surface area from two radii and height, including rejection when either radius is negative.
FAQ
Which formulas does the calculator use?
Volume is (1/3)·π·h·(R²+R·r+r²). Slant height is √(h²+(R−r)²). Lateral area is π·(R+r)·L. Total surface area is π·(R²+r²) plus the lateral area.
What happens if either radius is negative?
A frustum requires non-negative radii; negative values are rejected and those calls are not charged.
Is the conical frustum calculator free?
The browser tool runs free on your device.
Can one radius be zero?
Yes. A zero radius models a full cone (the tip has radius zero). Both radii zero is rejected because it is not a positive solid under this contract.
What if both radii are equal?
Then the frustum is really a right circular cylinder, and the results match a cylinder of that radius and height. Two unequal positive radii give the familiar tapered bucket shape.
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/geom/frustum-cone \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"radius1":3,"radius2":4,"height":5}'const res = await fetch("https://api.kit.forhosting.com/geom/frustum-cone", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"radius1": 3,
"radius2": 4,
"height": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geom/frustum-cone",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"radius1": 3,
"radius2": 4,
"height": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geom/frustum-cone", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"radius1":3,"radius2":4,"height":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"radius1":3,"radius2":4,"height":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geom/frustum-cone", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"radius1": 3,
"radius2": 4,
"height": 5
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geom.frustum_cone",
"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
This capacity accepts radius1, radius2, and height, rejects a negative radius on either base, and returns volume, slant height, lateral area, and total surface area as structured JSON.
What a conical frustum is and which three measures determine the rest
Delivering volume, slant_height, lateral_area, and surface_area as JSON makes the result easy to paste into notes, diff in automated tests, or feed into a larger pipeline without reimplementing pi multiplications and square roots in every language you teach or deploy.
How this calculator validates input and applies the closed-form formulas
Send a JSON body with three fields: radius1, radius2, and height. Results are rounded to a stable decimal precision so the same input always yields the same JSON across JavaScript engines.
Practical use, limits, pricing, and delivery channels
Use the browser tool when you want an immediate frustum solution while checking homework, sizing a hopper or funnel, verifying a packaging taper from measured top and bottom radii, or confirming a workshop drawing without installing a computer-algebra system. Results are fully deterministic: the same three measures always yield the same volume, slant height, lateral area, and surface area. There is no language model, no external geometry service, and no randomness, so the capacity is safe to pin in continuous-integration checks and reproducible lesson materials. Each successful request is one billable item at $0.002; failed validation does not consume balance. Accepted radii must not be negative; a negative radius is always rejected with invalid_input, and non-positive height or non-finite measures are likewise refused. Wire the endpoint into solid-geometry drills, contest answer checkers, hopper capacity worksheets, or floating preprocessing steps where you already prefer explicit domain errors over opaque black-box widgets that cannot show why a negative radius is rejected.
Integration use cases
Deterministic fixtures for solid-geometry tests
Pipelines that seed unit tests or interactive frustum demos can call a pure conical-frustum oracle instead of reimplementing the classical formulas in every language.
Hoppers, funnels, and tapered tanks from shop measurements
Shop or logistics notes that list top radius, bottom radius, and height recover full frustum metrics as structured JSON for reports, capacity charts, or lightweight CAD helpers.
Technical questions
How do I compute conical frustum volume and surface area with this API?
Send a JSON body with radius1, radius2, and height to geom.frustum_cone. The response returns volume, slant_height, lateral_area, and surface_area.