Parrillo 9-site body fat calculator
Turn nine caliper skinfolds and your weight in pounds into a body fat percentage: sites adding up to 114 mm at 175 lb give 17.59% with the Parrillo formula. One equation serves men and women alike, with no age term. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Chest mm
- 8
- Abdomen mm
- 20
- Thigh mm
- 14
- Biceps mm
- 6
- Triceps mm
- 10
- Subscapular mm
- 14
- Body fat percent
- 17.59
- Sum mm
- 114
The Parrillo nine-site skinfold method estimates body fat percentage from caliper readings at the chest, abdomen, thigh, biceps, triceps, subscapular, suprailiac, lower back, and calf, plus body weight in pounds. Unlike Jackson-Pollock or US Navy circumference formulas, Parrillo uses one gender-neutral equation with no age term: multiply the sum of the nine millimeter sites by twenty-seven, then divide by weight in pounds. Coaches, bodybuilders, and clinic staff who already take multi-site caliper measurements need a deterministic oracle that never invents a percentage when a site is missing.
What the Parrillo 9-site formula computes
John Parrillo’s method samples subcutaneous fat at nine anatomical landmarks rather than three or seven, then folds those millimeters into a single closed-form percentage. Measure each site with skinfold calipers in millimeters: chest (pectoral diagonal fold), abdomen (vertical fold beside the navel), thigh (vertical mid-thigh), biceps and triceps (vertical mid-arm), subscapular (diagonal below the scapula), suprailiac (diagonal above the iliac crest), lower back (horizontal lumbar fold beside the spine), and calf (vertical medial calf at maximum girth).
There is no separate male or female branch and no age coefficient, which keeps the contract simple for automation but means the estimate is not adjusted for demographic density differences the way Jackson-Pollock density equations are. The result is an estimate of total body fat percentage for tracking and comparison under consistent technique; it is not a medical diagnosis and should not replace DEXA, hydrostatic weighing, or clinical judgment when those are indicated.
Who the Parrillo method suits
Strength coaches and physique competitors often prefer nine-site calipers because they capture more regional fat than three-site protocols and still fit in a gym bag. Logging software, athlete portals, and nutrition apps need a shared formula so phone, tablet, and server never disagree on the same nine numbers. Pair this estimate with training logs and photos; remeasure with the same tester, same calipers, and same time of day so week-to-week changes reflect composition rather than protocol noise.
Use the US Navy circumference calculator when you lack calipers, and keep Parrillo when you already invest in nine careful folds.
What you can do with it
Gym and physique progress logs
Enter nine caliper sites and scale weight in pounds after each check-in so athletes see a consistent Parrillo body fat percentage over a cut or bulk.
Research data entry and audits
Replay archived skinfold sheets through a deterministic oracle to verify historical body fat percentages match the published Parrillo constant.
FAQ
Do males and females use different Parrillo equations?
No. The classic Parrillo method uses one equation for everyone and does not include age.
What units do the inputs need?
Skinfolds must be in millimeters and weight in pounds (lb). Convert kilograms to pounds first if needed (multiply kg by about 2.2046).
How accurate is the Parrillo method?
It is a field estimate of subcutaneous fat distribution. Accuracy depends on caliper skill, site placement, and hydration. It is not a medical diagnosis and is best used for consistent tracking with the same tester and protocol.
Where are the nine Parrillo skinfold sites?
Chest, abdomen beside the navel, mid-thigh, biceps, triceps, below the shoulder blade, above the hip bone, lower back beside the spine, and the inner calf at its widest point.
How is the Parrillo body fat percentage calculated?
Add the nine readings in millimetres, multiply the total by 27 and divide by your weight in pounds. Nine sites totalling 114 mm at 175 lb therefore give 17.59%.
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/bodyfat-parrillo \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"chest_mm":8,"abdomen_mm":20,"thigh_mm":14,"biceps_mm":6,"triceps_mm":10,"subscapular_mm":14,"suprailiac_mm":16,"lower_back_mm":18,"calf_mm":8,"weight_lb":175}'const res = await fetch("https://api.kit.forhosting.com/health/bodyfat-parrillo", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"chest_mm": 8,
"abdomen_mm": 20,
"thigh_mm": 14,
"biceps_mm": 6,
"triceps_mm": 10,
"subscapular_mm": 14,
"suprailiac_mm": 16,
"lower_back_mm": 18,
"calf_mm": 8,
"weight_lb": 175
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/bodyfat-parrillo",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"chest_mm": 8,
"abdomen_mm": 20,
"thigh_mm": 14,
"biceps_mm": 6,
"triceps_mm": 10,
"subscapular_mm": 14,
"suprailiac_mm": 16,
"lower_back_mm": 18,
"calf_mm": 8,
"weight_lb": 175
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/bodyfat-parrillo", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"chest_mm":8,"abdomen_mm":20,"thigh_mm":14,"biceps_mm":6,"triceps_mm":10,"subscapular_mm":14,"suprailiac_mm":16,"lower_back_mm":18,"calf_mm":8,"weight_lb":175}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"chest_mm":8,"abdomen_mm":20,"thigh_mm":14,"biceps_mm":6,"triceps_mm":10,"subscapular_mm":14,"suprailiac_mm":16,"lower_back_mm":18,"calf_mm":8,"weight_lb":175}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/bodyfat-parrillo", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"chest_mm": 8,
"abdomen_mm": 20,
"thigh_mm": 14,
"biceps_mm": 6,
"triceps_mm": 10,
"subscapular_mm": 14,
"suprailiac_mm": 16,
"lower_back_mm": 18,
"calf_mm": 8,
"weight_lb": 175
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.bodyfat_parrillo",
"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
This capability accepts the nine skinfolds and weight_lb, returns body fat percent rounded to two decimals with the site sum and formula string, and fails with invalid_input when any required field is absent or non-positive.
What the Parrillo 9-site formula computes
Sum those nine values to obtain sum_mm. Body weight must be in pounds because the classic constant twenty-seven is calibrated for imperial weight: body_fat_percent equals twenty-seven times sum_mm divided by weight_lb.
Input contract, response shape, and validation errors
Example: skinfolds eight, twenty, fourteen, six, ten, fourteen, sixteen, eighteen, and eight millimeters with weight one hundred seventy-five pounds sum to one hundred fourteen millimeters and yield about seventeen point five nine percent body fat. Failed validation is not billed. Optional fields are never returned as null; only the documented success keys appear. POST a JSON object with ten required positive finite numbers: chest_mm, abdomen_mm, thigh_mm, biceps_mm, triceps_mm, subscapular_mm, suprailiac_mm, lower_back_mm, calf_mm, and weight_lb. Each field may arrive as a JSON number or as a numeric string; missing keys, empty strings, NaN, Infinity, zero, and negative values fail with invalid_input naming the field so clients can highlight the form control. Common aliases such as chest, bicep, tricep, weight_lbs, and weight are accepted and mapped to the canonical names. On success the body includes body_fat_percent rounded to two decimal places, sum_mm (the nine-site sum, also two decimals), weight_lb echoed as provided, a sites object with each normalized millimeter reading, method set to parrillo_9_site, and a formula string restating body_fat_percent equals twenty-seven times sum_mm over weight_lb.
Where a Parrillo body fat API earns its keep
Research assistants coding historical caliper sheets into spreadsheets benefit from a tiny parse endpoint instead of reimplementing the constant twenty-seven in every notebook. Content sites that rank for Parrillo body fat calculator or nine-site skinfold calculator can embed the free browser path and charge automation clients the published $0.002 base price per successful API call with no model tokens and no outbound network.
Integration use cases
Clinic and coaching software
Call the API from intake forms so staff never retype spreadsheet formulas; invalid_input surfaces missing sites before the visit is saved.
Technical questions
What is the Parrillo 9-site body fat formula?
Sum the nine skinfolds in millimeters (chest, abdomen, thigh, biceps, triceps, subscapular, suprailiac, lower back, calf), multiply by 27, and divide by body weight in pounds: body_fat_percent = (27 × sum_mm) / weight_lb.
What does the Parrillo body fat calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.