Tree diameter calculator
A tape reading of 100 cm around the trunk gives a diameter at breast height of about 31.83 cm: the calculator divides the girth by pi and returns the diameter in the unit you measured. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Circumference
- 100
- Diameter
- 31.8309886184
- Radius
- 15.9154943092
- Stem area
- 795.7747154595
Diameter at breast height, almost always abbreviated DBH, is the size figure that forestry manuals, arborist reports, urban-tree inventories, and biomass allometric equations expect. Field crews rarely measure that diameter with calipers on large stems; they wrap a tape around the bole at 1.3 metres above ground in metric surveys, or at 4.5 feet in customary US practice, and read a circumference. Converting that girth to a circular diameter is a one-step identity: divide the tape reading by pi. This tree diameter calculator accepts a single strictly positive circumference, applies that identity, and returns the diameter in the same linear unit you measured.
What diameter at breast height means and why girth becomes DBH
Diameter at breast height is a convention, not a property of the wood. Inventories pick a standard height so two crews measuring the same stem report comparable numbers even when the bole tapers. Metric protocols place that mark 1.3 metres above the ground; customary US protocols use 4.5 feet, which is close enough that mixed-unit datasets still need an explicit height note, but the conversion from girth to diameter does not change.
Once the tape sits at that height, the stem is treated as a circle whose circumference C you just read. The unique diameter of a circle with that circumference is C divided by pi, because C equals pi times d by definition. Measuring over bark is the usual field practice unless a protocol says otherwise, and you should send the number you actually taped rather than a guessed under-bark value.
On irregular or fluted stems the circular assumption is an approximation, which is why some cruises average two caliper readings at right angles instead of using a tape; when you do have a tape girth, this calculator is the correct conversion. Slope, lean, and swell at the root collar are handled by moving the tape up or down according to your local manual, then entering the girth you recorded, not by changing the identity that diameter equals circumference over pi.
A diameter tape with a pi-scaled face is doing the same division mechanically; this tool does it in software so a plain metric or imperial tape still yields a catalog-ready DBH.
Where a tree diameter calculator earns its keep
Inventory software and paper cruise cards still collect girth because a diameter tape is not always in the bag, yet every table downstream is written in DBH. Calling a tree diameter calculator from a plot app turns the tape reading into the number those tables expect without a handwritten division that drops a digit. Municipal arborists writing condition reports can paste a single circumference from a street-tree survey and attach the resulting DBH to a work order.
Content sites that rank for tree diameter calculator benefit from a live tool whose free browser path matches the paid automation path on the same pure module. Failed validation does not consume balance. Pin the rounded diameter in continuous integration, keep requests to a single stem reading, and you get reproducible DBH values for LMS plugins, edge workers, and spreadsheet add-ins without standing up a forestry information system.
The calculator will not tell you where to place the tape on a forked or leaning tree; that is a protocol decision. It will tell you, exactly and repeatedly, what circular diameter matches the girth you recorded at breast height.
What you can do with it
Cruise cards and plot inventory
Enter the breast-height tape girth from a fixed-area plot and record the returned diameter next to species and height on the cruise sheet.
Urban arborist condition reports
Convert a street-tree circumference from a municipal survey into DBH for work orders, risk ratings, and replacement-value tables that expect diameter.
Dendrometry teaching labs
Let students wrap a stem, type the girth, and check by hand that DBH is circumference divided by pi in the same unit as the tape.
FAQ
How do I convert a tree circumference to diameter at breast height?
Send the girth taped at breast height as circumference (a strictly positive number).
What happens if circumference is zero or negative?
Circumference must be a strictly positive finite number. Zero, negative, NaN, and non-numeric values are rejected and are not billed.
Which unit should I use for the tape reading?
Any linear unit is fine—centimetres, millimetres, inches, or metres—as long as you read diameter in that same unit. The calculator does not convert between units.
At what height should I measure the girth?
Standard breast height is 1.3 metres in metric inventories and 4.5 feet in customary US practice. Place the tape per your protocol, then send the girth you recorded.
Does the calculator correct for bark or trunk shape?
No. It treats the stem as a circle and divides the tape reading by pi. Bark factors, form factors and taper equations belong in a later volume or biomass model that uses the diameter as its input.
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/bio/tree-diameter \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"circumference":100}'const res = await fetch("https://api.kit.forhosting.com/bio/tree-diameter", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"circumference": 100
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/bio/tree-diameter",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"circumference": 100
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/bio/tree-diameter", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"circumference":100}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"circumference":100}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/bio/tree-diameter", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"circumference": 100
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "bio.tree_diameter",
"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
Zero, negative, missing, or non-numeric girth fails with invalid_input so a slipped wrap never becomes a silent zero DBH.
What diameter at breast height means and why girth becomes DBH
That is the entire algorithm this endpoint runs. It does not apply a bark factor, a form factor, or a taper equation; those corrections belong in a later biomass or volume model that already wants DBH as its input.
Input contract, response fields, and validation behaviour
The value is the girth at breast height in whatever linear unit your tape uses: centimetres, millimetres, inches, or metres. A missing field fails the same way. Those failures are not billed. A formula string restates the identity and a method tag names the algorithm so clients can log which conversion they used. Example: a one-hundred-centimetre tape reading yields a diameter of about 31.83 centimetres because one hundred over pi is that figure. Optional output keys are omitted rather than set to null. POST a JSON object with one required field, circumference, a strictly positive finite number. Aliases girth, c, circ, girth_cm, and circumference_cm are accepted and read as the same field. Numeric strings that parse as finite numbers are accepted; empty strings, booleans, NaN, Infinity, zero, and any negative value fail with invalid_input naming circumference. On success the body echoes the cleaned circumference, returns diameter as C divided by pi, returns radius as half that diameter, and reports stem_area as the circular cross-section C squared over four pi in the square of the input unit. Pair the diameter with a stand basal-area tool or your own allometric equation if you need stocking or biomass; this endpoint converts one girth to one circular DBH only.
Technical questions
What does the tree diameter calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.