Cone surface area calculator
Get every area of a right circular cone from its radius and slant height: radius 3 and slant height 5 give a lateral area of 15π and a total of 24π, base included. Use the slant height, not the vertical height. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Radius
- 3
- Slant height
- 5
- Base area
- 28.2743338823
- Lateral surface area
- 47.1238898038
- Total surface area
- 75.3982236862
- Formula base area
- A_base = π r²
This calculator turns a positive base radius and slant height into the exact surface area of a right circular cone: the lateral surface pi r times l, the circular base pi r squared, and the total surface pi r times the sum of r and l.
What cone surface area means and which length is the slant height
A right circular cone is the solid formed by rotating a right triangle about one of its legs: the base is a circle of radius r, and the apex sits directly above the center of that circle. Every straight line from the apex to a point on the rim of the base has the same length, and that length is the slant height l. Do not confuse it with the perpendicular height h, which runs from the apex straight down to the center of the base.
The two are related by the Pythagorean theorem, l = √(r² + h²), so if your measurements give you the perpendicular height you must convert before using this calculator, because feeding h in place of l silently shrinks the lateral area. The surface of the cone has two parts that behave differently. The lateral surface is the curved side that would unroll into a circular sector, and its area is π r l.
The base is the flat disk that closes the solid, with area π r². The total surface area is the sum, conveniently factored as π r (r + l). If you are wrapping an open funnel or a party hat with no bottom, the lateral figure alone is the number you want; if you are closing one end, add the base.
This tool reports all three quantities separately in every response, plus the formula strings, so you can quote exactly the component your problem requires without recomputing anything by hand.
Validation rules, error handling, and edge cases
Every input is validated before any arithmetic happens. The same error covers Infinity and NaN, non-numeric strings such as "abc", and values of the wrong type such as booleans or arrays. There are a few geometric edge cases worth understanding.
A very small radius with a very large slant height is a valid needle-like cone and computes normally; floating-point rounding at the requested precision is the only distortion. A slant height smaller than the radius is geometrically impossible for a right cone, since l = √(r² + h²) implies l ≥ r, but this calculator deliberately does not enforce that inequality: it treats radius and slant height as two independent positive lengths and applies π r (r + l) literally, which keeps the contract simple and predictable.
For cones where you know the perpendicular height instead, compute l = √(r² + h²) first or use a cone tool that accepts height directly.
What you can do with it
Material estimates for conical parts
Size fabric for teepees and party hats, sheet metal for funnels and hoppers, or paint coverage for conical roofs from measured radius and slant height, choosing lateral or total area as the job requires.
FAQ
What does the cone surface area calculator cost?
It is free in your browser on this page.
What if radius or slant height is zero or negative?
The same applies to Infinity, NaN, and non-numeric strings.
I know the perpendicular height, not the slant height. Can I use this?
Convert first with the Pythagorean relation l = √(r² + h²), then call with radius and the computed slant height. Feeding the perpendicular height directly would understate the lateral area.
What is the difference between lateral and total surface area?
Lateral surface area π r l is the curved side only. Total surface area π r (r + l) adds the circular base π r². Use lateral for open cones like funnels and total for closed solids.
Is the result deterministic and cacheable?
Yes. The computation is pure analytic geometry with no network, randomness, or clock access, so identical requests always return byte-identical responses at the requested precision.
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/math/cone-surface-area \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"radius":3,"slant_height":5}'const res = await fetch("https://api.kit.forhosting.com/math/cone-surface-area", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"radius": 3,
"slant_height": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/cone-surface-area",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"radius": 3,
"slant_height": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/cone-surface-area", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"radius":3,"slant_height":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"radius":3,"slant_height":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/cone-surface-area", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"radius": 3,
"slant_height": 5
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.cone_surface_area",
"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
You enter radius and slant height as finite positive lengths, as numbers or numeric strings; the engine returns radius, slant_height, base_area, lateral_surface_area, total_surface_area, and formula strings so a student, a reviewer, or a log line can verify the identity without reading the source. When radius or slant height is missing, zero, negative, or non-finite, the tool returns invalid_input instead of a silent NaN.
How to call the calculator and read the response
The optional precision field, an integer from 0 to 15 with a default of 10, controls how many decimal places the numeric fields carry in the response. Units are abstract: if you feed centimeters you get square centimeters, if you feed inches you get square inches, consistently across all three area fields. The request takes two required fields and one optional one. radius is the base radius of the cone and slant_height is the slant height; both must be positive finite numbers, and both accept numeric strings such as "2.5", which is handy when values arrive from form fields or CSV files. A valid call with radius 3 and slant_height 5 returns the echoed inputs, base_area ≈ 28.2743338823, lateral_surface_area ≈ 47.1238898038, and total_surface_area ≈ 75.3982236862, together with formula_base_area, formula_lateral_surface, and formula_total_surface strings that state the identities used. The output is a flat JSON object, so you can assert on total_surface_area directly in a test or pipe it into a spreadsheet. Aliases r, R, and base_radius are accepted for radius, and l, slant, and l_slant for slant height, matching the params contract.
Validation rules, error handling, and edge cases
A missing, empty, zero, or negative radius or slant height is rejected with an invalid_input error whose message names the offending field and states that it must be a positive finite number. The precision field must be an integer between 0 and 15 inclusive; anything else, including fractional values or out-of-range integers, is also invalid_input. Failed requests are not charged, so you can probe the endpoint freely while integrating. If you need the consistency check, compare slant_height against radius in your own code and reject l < r before calling.
Integration use cases
Homework and exam preparation
Compute base, lateral, and total surface area from textbook radius and slant height, verify hand work against the formula strings, and confirm that non-positive dimensions are rejected with invalid_input.
Deterministic geometry fixtures
Generate reproducible cone surface metrics for unit tests, contest validators, and CI assertions without hand-rolled π r (r + l) arithmetic or floating-point surprises between machines.