Body surface area Fujimoto calculator
With the Fujimoto formula, 170 cm and 70 kg give about 1.76 m² of body surface area. Enter height in cm, m or inches and weight in kg or pounds; the tool converts them and shows each step. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Height
- 170
- Weight
- 70
- Height unit
- cm
- Weight unit
- kg
- Height (cm)
- 170 m2
- Weight (kg)
- 70
- Bsa
- 1.7642934701
- Bsa m2
- 1.7642934701
A Fujimoto body surface area calculator converts standing height and body weight into the square-metre estimate used in dosing education, physiological scaling, and research worksheets that specifically call for the Fujimoto power model. Enter height and weight (centimetres and kilograms by default, or metres, inches, and pounds with unit labels); the tool converts inputs when needed, applies BSA equals zero point zero zero eight eight eight three times weight in kilograms to the power zero point four four four times height in centimetres to the power zero point six six three, and returns BSA in m² with normalized centimetres and kilograms, the formula name Fujimoto, and ordered substitution steps.
What Fujimoto body surface area means
Body surface area is a geometric estimate of the outer surface of the human body expressed in square metres. The Fujimoto formula is a Japanese anthropometric power model: BSA in m² equals zero point zero zero eight eight eight three multiplied by body weight in kilograms raised to zero point four four four, multiplied again by standing height in centimetres raised to zero point six six three.
That single real number is used as a scaling factor in chemotherapy teaching examples, paediatric regimen worksheets, cardiac index denominators, and burn-area percentages when absolute body size matters more than body-mass index alone and the curriculum or protocol names Fujimoto explicitly. Unlike BMI, which is mass over height squared and reports density-like risk bands, Fujimoto BSA grows with both height and weight under fixed fractional exponents and is reported in square metres rather than kilograms per square metre.
Unlike the Mosteller square-root shortcut or the Du Bois nineteen-sixteen coefficients, Fujimoto uses its own constant and exponents; results for the same adult pair of height and weight therefore differ slightly across formulae, which is why separate calculators and landings exist. Teachers and automated graders care about the missing-field and non-positive rejection as much as the successful numeric path: a student who omits kilograms or enters zero height has left the domain of the formula, and a silent fallback to a default adult would hide that mistake.
The check path recomputes the two power terms and the constant scale with the same fixed rounding used for published fields, so a successful response always ships with steps you can assert in tests or worksheets. Classic reference checks include recomputing zero point zero zero eight eight eight three times seventy to the zero point four four four times one hundred seventy to the zero point six six three for a typical adult vignette and matching the published bsa within twelve-decimal rounding.
What you can do with it
Pharmacy and nursing education
Students enter height and weight from case vignettes and compare hand-written Fujimoto BSA against a deterministic m² result before dose-scaling exercises that name this formula.
FAQ
What is the Fujimoto body surface area formula?
Height and weight must be positive; the result is reported in square metres.
What happens if height or weight is missing, zero, or negative?
The power model is undefined without two positive anthropometrics.
Which units are accepted?
Height defaults to centimetres (also m or in). Weight defaults to kilograms (also lb). Values are converted to cm and kg before the formula.
Is this the same as Mosteller or Du Bois BSA?
No. This capability implements only the Fujimoto power formula. Mosteller and Du Bois use different expressions and coefficients and have their own calculators.
Is the Fujimoto body surface area calculator free?
The browser tool is free and runs locally.
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/health/bsa-fujimoto \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"height":170,"weight":70}'const res = await fetch("https://api.kit.forhosting.com/health/bsa-fujimoto", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"height": 170,
"weight": 70
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/bsa-fujimoto",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"height": 170,
"weight": 70
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/bsa-fujimoto", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"height":170,"weight":70}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"height":170,"weight":70}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/bsa-fujimoto", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"height": 170,
"weight": 70
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.bsa_fujimoto",
"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
Missing height or weight, or non-positive values, are rejected with invalid_input so incomplete forms never invent a surface area.
How to call the API and what comes back
Send a JSON body with two required finite positive numbers: height (aliases height_cm, h, stature, ht) and weight (aliases weight_kg, w, mass, wt). Optional height_unit defaults to cm and accepts cm, m, or in; optional weight_unit defaults to kg and accepts kg or lb. After conversion, height must stay within three hundred centimetres and weight within five hundred kilograms so intermediate powers remain finite on the Worker and in the browser. On success the response echoes rounded height and weight as submitted, height_unit and weight_unit as normalized labels, height_cm and weight_kg after conversion, bsa and bsa_m2 as the same rounded square-metre value, unit as the string m2, formula as the Fujimoto expression string, formula_name as Fujimoto, message as a short English summary, and steps as an ordered array of substitution lines showing the weight term, the height term, and the final product. Failed validation—missing required fields, non-finite numbers, non-positive height or weight, unsupported unit labels, or values outside absolute limits after conversion—returns invalid_input and is never charged. Pricing is a flat $0.002 per successful request with unit item and zero marginal unit price. When you only have one of the two anthropometrics, do not invent the other: leave the field empty so the API surfaces the missing-field error instead of a fabricated BSA.
Practical tips, limits, and related searches
Keep anthropometrics inside the published absolute range after conversion so the powered intermediate cannot overflow into a non-finite BSA that the solver must reject. Prefer sending numbers rather than pre-formatted strings when you control the client; string numbers are accepted only when they match a strict finite numeric pattern. When teaching, pair examples: one hundred seventy centimetres and seventy kilograms yields a typical adult Fujimoto value near one point seven six m²; one hundred sixty centimetres and fifty-five kilograms yields a smaller adult value; deliberate zero weight, negative height, or an omitted weight field demonstrates the hard invalid_input path; and a five-foot-seven adult entered as sixty-seven inches with one hundred fifty-four pounds shows unit conversion into the same centimetre-kilogram pipeline. This landing targets people searching for a body surface area Fujimoto calculator, Fujimoto formula BSA, or BSA from height and weight online under the Fujimoto model; it is not a Mosteller or Du Bois calculator, not a BMI tool, and not a clinical dosing system that applies milligrams per square metre to a drug. Prefer this capability when a protocol, paper, or homework set names Fujimoto; if your source asks for Mosteller or Du Bois, use those dedicated capabilities instead so the formula_name and numeric result match the named model. Failed tasks that return invalid_input do not consume prepaid balance, which keeps exploratory scripts cheap when learners deliberately omit weight or set height to zero. Round-trip checks are easy: recompute zero point zero zero eight eight eight three times weight_kg to the zero point four four four times height_cm to the zero point six six three by hand and confirm it equals the published bsa within the same twelve-decimal rounding, and confirm that changing only the sign of an input or dropping a required field flips the response from success to invalid_input.
Integration use cases
Unit tests for clinical calculators
Generate known-good adult and paediatric Fujimoto BSA fixtures plus deliberate missing-field and zero/negative rejections for coding kata expected values.
Pre-flight before mg/m² workflows
Pipelines compute BSA first with formula_name Fujimoto, then branch to drug-specific dosing only when height and weight pass positive validation.