Appendicular skeletal muscle mass calculator
Estimate the muscle in the arms and legs without a scan: a 65-year-old man of 75 kg and 175 cm has about 24.007 kg of limb muscle and an index of 7.839 kg/m², above the low-muscle line. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Weight
- 75
- Height
- 175
- Sex
- Male
- Age
- 65
- Weight (kg)
- 75
- Height (cm)
- 175
- Age (years)
- 65
- Appendicular muscle mass kg
- 24.007
This appendicular skeletal muscle mass calculator estimates the combined lean tissue of the arms and legs from body weight in kilograms, standing height in centimetres, biological sex, and age in years. Appendicular skeletal muscle mass, often shortened to ASM or ASMM, is the compartment used in modern sarcopenia definitions because limb muscle is what dual-energy X-ray absorptiometry can isolate cleanly and what relates most directly to grip strength and gait speed. The engine applies the published Wen anthropometric prediction equation, a linear combination of weight, height, sex code, and age that returns ASM in kilograms without bioimpedance electrodes or a scanner. From that estimate it also computes the appendicular skeletal muscle mass index ASMI as ASM divided by height in metres squared, then compares ASMI to EWGSOP2-style low-muscle cut-offs of seven point zero kilograms per square metre for men and five point five for women. A typical check is a seventy-five kilogram man at one hundred seventy-five centimetres and sixty-five years of age, which yields a finite ASM and ASMI under the same coefficients every time. The whole path is offline and deterministic: no network calls, no random sampling, and no date-dependent shortcuts.
What limb muscle mass means and what you get
Appendicular skeletal muscle mass is the estimated kilograms of skeletal muscle in the four limbs, not total lean body mass and not whole-body skeletal muscle alone. Clinicians and researchers prefer appendicular mass for sarcopenia work because DXA reference studies report limb lean soft tissue, and because low ASMI tracks functional decline better than body mass index in older adults. Total lean body mass from Boer or Hume equations includes trunk organs and residual fat-free mass; this calculator deliberately answers the appendicular question instead.
The Wen equation is a linear anthropometric model: zero point one nine three times weight plus zero point one zero seven times height minus four point one five seven times sex code minus zero point zero three seven times age minus two point six three one, with sex code one for male and two for female, weight in kilograms, height in centimetres, and age in years.
It is fast, offline, and easy to audit, but it is not a substitute for DXA, CT, MRI, or multi-frequency bioimpedance when medical decisions require measured composition. Non-positive weight or height always fails because the physical model requires positive size. Ages outside eighteen to one hundred twenty fail so the adult screening range stays explicit.
Where ASM screening fits in fitness, education, and software
Geriatric and sports-medicine teaching labs use appendicular skeletal muscle mass estimates when introducing sarcopenia definitions before students see DXA printouts, so learners can connect height, weight, sex, and age to ASMI cut-offs in a single worksheet. Strength coaches and longevity clinics sometimes log ASM trends alongside training blocks when a scanner is unavailable, treating the number as a trend line rather than a diagnosis.
Product teams call the same contract from scripts to seed deterministic test vectors for health dashboards, to normalize user-entered anthropometrics before composition charts, or to satisfy programming-challenge statements that demand a Wen-style ASM estimate rather than a black-box mobile app. Population-health notebooks may batch the equation across de-identified rows to illustrate how many simulated adults fall under published ASMI thresholds without claiming clinical triage.
Treat the output as an educational and planning estimate: if clinical or research accuracy is required, prefer measured appendicular lean mass, functional tests such as grip strength and gait speed, and a qualified professional.
What you can do with it
Sarcopenia screening worksheets
Estimate ASM and ASMI from weight, height, sex, and age when teaching or logging low-muscle-mass flags without a DXA scan.
Physiology and geriatrics demos
Show students how anthropometric equations map size, sex, and age to appendicular mass before introducing imaging methods.
FAQ
What does the appendicular skeletal muscle mass calculator cost?
It is free in your browser on this page.
Which formula is used?
ASMI is ASM divided by height in metres squared.
What happens if weight or height is zero or negative?
Weight and height must be strictly positive for a valid appendicular muscle mass estimate.
Does this replace a DXA or BIA scan?
No. Wen is a simple anthropometric estimate from weight, height, sex, and age. Use measured appendicular lean mass and functional tests when clinical accuracy is required.
What is ASMI and when is it considered low?
ASMI is limb muscle mass divided by height in metres squared. It is flagged as low below 7.0 kg/m² for men and 5.5 kg/m² for women, the cut-offs used in current sarcopenia definitions.
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/appendicular-muscle-mass \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"weight":75,"height":175,"sex":"male","age":65}'const res = await fetch("https://api.kit.forhosting.com/health/appendicular-muscle-mass", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"weight": 75,
"height": 175,
"sex": "male",
"age": 65
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/appendicular-muscle-mass",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"weight": 75,
"height": 175,
"sex": "male",
"age": 65
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/appendicular-muscle-mass", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"weight":75,"height":175,"sex":"male","age":65}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"weight":75,"height":175,"sex":"male","age":65}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/appendicular-muscle-mass", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"weight": 75,
"height": 175,
"sex": "male",
"age": 65
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.appendicular_muscle_mass",
"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.
Limits
max_weight_kg | 500 |
max_height_cm | 300 |
min_age | 18 |
max_age | 120 |
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
What appendicular muscle mass means and what the response contains
This endpoint returns weight_kg, height_cm, sex, and age_years as normalized inputs; appendicular_muscle_mass_kg from the Wen formula; asmi as kilograms per square metre of height; low_muscle_mass as a boolean comparing asmi to the sex-specific asmi_cutoff; the method tag wen; a human-readable formula string; and the precision applied to rounded fields. There is no grip-strength field, no gait-speed field, and no full EWGSOP2 diagnosis: low_muscle_mass is a muscle-quantity screening flag only.
How weight, height, sex, and age are read and how results stay reproducible
Sex accepts male, female, m, f, man, woman, and their plural forms after case folding so forms and spreadsheets can reuse the same contract. Optional leading plus signs and scientific notation on numeric strings are allowed when they parse as finite decimals; embedded spaces, hex prefixes, and non-numeric tokens are rejected with a clear message so a bad cell does not become a wrong muscle mass. Weight and height must be strictly positive and within the documented ceilings of five hundred kilograms and three hundred centimetres. Age must fall between eighteen and one hundred twenty inclusive; paediatric and extreme geriatric extrapolations are outside this contract. The preferred fields are weight for kilograms, height for centimetres, sex for the Wen coefficient set, and age for years, with aliases mass, kg, weight_kg, and w for weight; height_cm, h, and stature for height; gender or sex_at_birth for sex; and age_years or years for age. Zero, negative, or non-finite values fail with invalid_input and a message that names the offending field and the non-positive rule. An optional precision field, with aliases decimals and dp, chooses how many decimal places to expose for the numeric outputs, defaulting to four and capped at fifteen so JSON goldens stay stable. Computation multiplies the published Wen coefficients, subtracts the sex and age terms and intercept, divides by height in metres squared for ASMI, then sets low_muscle_mass when asmi is strictly below seven point zero for men or five point five for women. Pair the free browser run on this page with the priced API when you need the identical mathematical result inside an automated pipeline without re-implementing Wen coefficients yourself.
Where ASM screening fits in fitness, education, and software
On this page the work runs entirely in your browser; through the API each successful lookup costs $0.002, failed validation is not charged, and nothing is stored after the response returns. That split — free interactive exploration and a priced, identical API — matches the rest of the tier-A catalog and lets you move from a classroom demo to an automated pipeline without changing the mathematical result. Pair this tool with lean-body-mass or BMI helpers when you need related anthropometrics, keep units honest so kilograms and centimetres are never mixed with pounds and inches by accident, and never present low_muscle_mass alone as a sarcopenia diagnosis without the functional criteria your protocol requires.
Integration use cases
Deterministic test fixtures
Generate reproducible Wen ASM, ASMI, and low_muscle_mass fields for unit tests, health dashboards, and CI assertions.
Technical questions
What does low_muscle_mass mean?
It is true when ASMI is below the EWGSOP2-style cut-off of 7.0 kg/m² for men or 5.5 kg/m² for women. It is a muscle-quantity screening flag only, not a full sarcopenia diagnosis.