Aperture area calculator
A 200 mm telescope mirror has a collecting area of 31415.926536 mm², four times that of a 100 mm mirror. Enter any aperture diameter and get its area in the square of the same unit, the figure light gathering depends on. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Diameter
- 200
- Area
- 31,415.926536
- Unit area
- square units of diameter
- Pi
- 3.1415926536
The aperture area calculator answers the most basic question in optics: how much light does an opening of a given diameter actually collect? Given the diameter of a circular aperture — a telescope mirror, a camera lens entrance pupil, a pinhole, an antenna feed — it returns the collecting area A = π·(d/2)². The result comes back in the square of whatever unit you measured the diameter in, and it is rounded half-up to the number of decimal places you choose. Because light grasp scales with area, doubling the diameter quadruples the photons gathered, which is why this single number drives so many design decisions.
Why area, not diameter, is the number that matters
People shop for telescopes and lenses by diameter, but light does not care about diameter — it cares about area. A 200 mm mirror does not collect twice the light of a 100 mm mirror; it collects four times as much, because the collecting surface grows with the square of the radius. That quadratic relationship is exactly what this calculator exposes.
Feed it the diameter of your objective, your entrance pupil or your pinhole and you get the effective collecting surface in square millimetres, square centimetres or square inches, depending on the unit you measured in. From there every downstream comparison becomes honest: limiting magnitude gains, exposure time ratios, signal-to-noise estimates in a sensor, or the link budget of a small radio dish all start from this one figure.
Astronomers use it to predict how much fainter a new scope will reach; photographers use it to compare the real light gathering of two lenses at the same f-number but different focal lengths; educators use it to make the inverse-square feel concrete. One input, one output, no ambiguity about what was computed.
How the computation works
The formula is the elementary area of a circle: take the diameter, halve it to get the radius, square it, multiply by π. Validation is strict and cheap: the diameter must be a positive finite number. The unit discipline is deliberately simple — the service does not convert units; it returns the area in the square of whatever unit you supplied, and says so in the response, so a diameter in millimetres yields square millimetres and a diameter in inches yields square inches.
Where it fits in a workflow
This capability is small on purpose, so it composes well. In an astronomy pipeline it sits upstream of exposure calculators: compute the area of your scope and of a reference scope, take the ratio, and you have the exposure-time correction between the two. In photography it pairs with the f-number tools: given focal length and f-number you derive the entrance pupil diameter, then this call turns that diameter into a physical area you can compare across formats.
And in hardware contexts — laser apertures, fibre collimators, small satellite dishes — it is the deterministic, offline-safe check you can drop into a test suite to confirm a mechanical drawing matches its optical specification, with no network dependency and no randomness anywhere in the path.
What you can do with it
Compare two telescopes honestly
Compute both collecting areas and take the ratio: that number, not the diameter ratio, is the real light-grasp advantage.
Size a camera entrance pupil
From focal length and f-number you get the pupil diameter; this call turns it into the physical area that gathers photons on the sensor.
Check a pinhole or laser aperture spec
Verify that a mechanical aperture delivers the area your exposure or power-density calculation assumed.
FAQ
What units does it use?
Yours. The area is returned in the square of the unit you measured the diameter in — millimetres in, square millimetres out.
Why does doubling the diameter quadruple the light?
Because area grows with the square of the radius: A = π·(d/2)². Twice the diameter means twice the radius, hence four times the area.
How is the result rounded?
Half-up to the number of decimals you choose (0–12, default 6), so output is byte-identical across machines.
Does it account for central obstructions?
No. It computes the full circular area; subtract the obstruction's area with a second call if your design has one.
How do I compare the light grasp of two telescopes?
Work out the area of each aperture and divide one by the other. A 200 mm mirror collects four times the light of a 100 mm one, and that same ratio gives the exposure-time correction between the two.
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/phys/aperture-area \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"diameter":200}'const res = await fetch("https://api.kit.forhosting.com/phys/aperture-area", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"diameter": 200
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/phys/aperture-area",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"diameter": 200
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/phys/aperture-area", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"diameter":200}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"diameter":200}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/phys/aperture-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
{
"diameter": 200
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "phys.aperture_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
How the computation works
The endpoint applies A = π·(d/2)² using the double-precision value of π built into the runtime, then rounds the result half-up to the number of decimals you request — six by default, anywhere from zero to twelve. Zero, negative values, NaN, infinities, strings and missing fields are all rejected with an invalid_input error, which is never billed.
Technical questions
What does it cost?
$0.002 per request via the API. It is also free to run in your browser on this page.
What inputs are rejected?
Zero, negative numbers, NaN, infinities, strings and missing diameters all return an invalid_input error and are never billed.