Body Fat Percentage & Healthy Weight Range Calculator
ANA›Life Services Authority›National Calculator Authority›Body Fat Percentage & Healthy Weight Range Calculator
.calc-container { max-width: 640px; margin: 2rem 0; padding: 1.5rem; background: #fff; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.06); font-family: system-ui, -apple-system, sans-serif; } .calc-container h3 { font-family: Georgia, serif; font-size: 1.15rem; color: #1a1a1a; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; flex-wrap: wrap; } .calc-row label { min-width: 160px; font-size: 0.9rem; color: #333; font-weight: 500; } .calc-row input[type="number"], .calc-row select { flex: 1; min-width: 120px; max-width: 200px; padding: 0.5rem 0.6rem; border: 1px solid #ccc; border-radius: 4px; font-size: 0.9rem; font-family: system-ui, sans-serif; color: #1a1a1a; background: #fafaf8; } .calc-row input:focus, .calc-row select:focus { outline: none; border-color: var(--ac, #3d5a80); box-shadow: 0 0 0 2px rgba(26,74,138,0.12); } .calc-row .unit { font-size: 0.82rem; color: #888; min-width: 30px; } .calc-btn { display: inline-block; margin-top: 0.5rem; padding: 0.55rem 1.5rem; background: var(--ac, #3d5a80); color: #fff; border: none; border-radius: 4px; font-size: 0.9rem; font-weight: 600; cursor: pointer; font-family: system-ui, sans-serif; } .calc-btn:hover { opacity: 0.9; } .calc-result { margin-top: 1.25rem; padding: 1rem 1.25rem; background: #f0f6fc; border-left: 3px solid var(--ac, #3d5a80); border-radius: 0 6px 6px 0; display: none; } .calc-result.visible { display: block; } .calc-result-label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: #666; margin-bottom: 0.25rem; } .calc-result-value { font-size: 1.6rem; font-weight: 700; color: var(--ac, #3d5a80); } .calc-result-detail { font-size: 0.85rem; color: #555; margin-top: 0.5rem; line-height: 1.5; } .calc-note { margin-top: 1rem; font-size: 0.8rem; color: #888; font-style: italic; } .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 0.75rem; } .calc-grid-item { padding: 0.6rem 0.8rem; background: #f8f9fa; border-radius: 4px; border: 1px solid #eee; } .calc-grid-item .label { font-size: 0.75rem; color: #888; text-transform: uppercase; letter-spacing: 0.04em; } .calc-grid-item .value { font-size: 1.1rem; font-weight: 600; color: #1a1a1a; } @media (max-width: 720px) { .calc-row { flex-direction: column; align-items: flex-start; gap: 0.3rem; } .calc-row label { min-width: auto; } .calc-row input[type="number"], .calc-row select { max-width: 100%; width: 100%; } .calc-grid { grid-template-columns: 1fr; } } .calc-chart { margin: 1rem 0; text-align: center; } .calc-chart svg { max-width: 100%; height: auto; } .calc-chart-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem 1.2rem; margin-top: 0.6rem; font-size: 0.8rem; color: #555; } .calc-chart-legend span { display: inline-flex; align-items: center; gap: 0.3rem; } .calc-chart-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; font-style: normal; } .calc-related { max-width: 640px; margin: 2rem 0 1rem; padding: 1.25rem 1.5rem; background: #f8f9fa; border: 1px solid #e8e8e8; border-radius: 8px; } .calc-related h3 { font-family: Georgia, serif; font-size: 1rem; color: #1a1a1a; margin: 0 0 0.75rem; padding-bottom: 0.4rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-related-list { list-style: none; padding: 0; margin: 0 0 0.75rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem 1.5rem; } .calc-related-list li a { font-size: 0.88rem; color: var(--ac, #3d5a80); text-decoration: none; } .calc-related-list li a:hover { text-decoration: underline; } .calc-browse-all { margin: 0.5rem 0 0; font-size: 0.9rem; font-weight: 600; } .calc-browse-all a { color: var(--ac, #3d5a80); text-decoration: none; } .calc-browse-all a:hover { text-decoration: underline; } @media (max-width: 720px) { .calc-related-list { grid-template-columns: 1fr; } }
Body Fat Percentage & Healthy Weight Range Calculator
Estimate your body fat percentage using the U.S. Navy circumference method and determine your healthy weight range based on BMI guidelines (18.5–24.9).
Biological Sex
Male Female
Unit System
Imperial (in, lb) Metric (cm, kg)
Age (years)
Height
Height (cm)
Weight (lb)
Weight (kg)
Waist circumference (in) — at navel
Neck circumference (in) — below larynx
Hip circumference (in) — widest point
Waist circumference (cm)
Neck circumference (cm)
Hip circumference (cm)
Calculate
function bodToggleSex() { var sex = document.getElementById('bod-sex').value; var unit = document.getElementById('bod-unit').value; if (sex === 'female') { document.getElementById('bod-hip-imperial').style.display = ''; document.getElementById('bod-hip-metric').style.display = ''; } else { document.getElementById('bod-hip-imperial').style.display = 'none'; document.getElementById('bod-hip-metric').style.display = 'none'; } }
function bodToggleUnits() { var unit = document.getElementById('bod-unit').value; var imp = unit === 'imperial'; document.getElementById('bod-height-imperial').style.display = imp ? '' : 'none'; document.getElementById('bod-height-metric').style.display = imp ? 'none' : ''; document.getElementById('bod-weight-imperial').style.display = imp ? '' : 'none'; document.getElementById('bod-weight-metric').style.display = imp ? 'none' : ''; document.getElementById('bod-circ-imperial').style.display = imp ? '' : 'none'; document.getElementById('bod-circ-metric').style.display = imp ? 'none' : ''; }
function bodVal(id) { var v = parseFloat(document.getElementById(id).value); return isNaN(v) ? null : v; }
function bodCalc() { var resultDiv = document.getElementById('bod-result'); var sex = document.getElementById('bod-sex').value; var unit = document.getElementById('bod-unit').value; var age = bodVal('bod-age');
// --- collect & convert to metric (cm / kg) --- var heightCm, weightKg, waistCm, neckCm, hipCm = null;
if (unit === 'imperial') { var ft = bodVal('bod-height-ft'); var inches = bodVal('bod-height-in') || 0; if (ft === null) { resultDiv.innerHTML = 'Please enter height (feet).
'; return; } heightCm = (ft * 12 + inches) * 2.54;
var lb = bodVal('bod-weight-lb'); if (lb === null) { resultDiv.innerHTML = 'Please enter weight (lb).
'; return; } weightKg = lb * 0.453592;
var waistIn = bodVal('bod-waist-in'); var neckIn = bodVal('bod-neck-in'); if (waistIn === null || neckIn === null) { resultDiv.innerHTML = 'Please enter waist and neck circumferences.
'; return; } waistCm = waistIn * 2.54; neckCm = neckIn * 2.54;
if (sex === 'female') { var hipIn = bodVal('bod-hip-in'); if (hipIn === null) { resultDiv.innerHTML = 'Please enter hip circumference.
'; return; } hipCm = hipIn * 2.54; } } else { heightCm = bodVal('bod-height-cm'); if (heightCm === null) { resultDiv.innerHTML = 'Please enter height (cm).
'; return; }
weightKg = bodVal('bod-weight-kg'); if (weightKg === null) { resultDiv.innerHTML = 'Please enter weight (kg).
'; return; }
waistCm = bodVal('bod-waist-cm'); neckCm = bodVal('bod-neck-cm'); if (waistCm === null || neckCm === null) { resultDiv.innerHTML = 'Please enter waist and neck circumferences.
'; return; }
if (sex === 'female') { hipCm = bodVal('bod-hip-cm'); if (hipCm === null) { resultDiv.innerHTML = 'Please enter hip circumference.
'; return; } } }
// --- input range validation --- if (age === null || age 100) { resultDiv.innerHTML = 'Age must be between 18 and 100.
'; return; } if (heightCm 250) { resultDiv.innerHTML = 'Height seems out of range (100–250 cm).
'; return; } if (weightKg 300) { resultDiv.innerHTML = 'Weight seems out of range.
'; return; } if (waistCm maxHealthyKg) { var diff = weightKg - maxHealthyKg; weightNote = 'To reach a healthy BMI, consider losing ~' + diff.toFixed(1) + ' kg (' + (diff/0.453592).toFixed(1) + ' lb).
'; } else { weightNote = 'Your weight is within the healthy BMI range. Great job!
'; }
resultDiv.innerHTML = '### Your Results ' + '' + 'Body Fat Percentage' + '' + bfp.toFixed(1) + '%' + 'BF Category (ACE)' + '' + category + '' + 'Fat Mass' + '' + fatMassKg.toFixed(1) + ' kg (' + (fatMassKg/0.453592).toFixed(1) + ' lb)' + 'Lean Mass' + '' + leanMassKg.toFixed(1) + ' kg (' + (leanMassKg/0.453592).toFixed(1) + ' lb)' + '' + 'Current BMI' + '' + bmi.toFixed(1) + ' — ' + bmiCat + '' + 'Healthy Weight Range (BMI 18.5–24.9)' + '' + minHealthyKg.toFixed(1) + '–' + maxHealthyKg.toFixed(1) + ' kg' + minHealthyLb.toFixed(1) + '–' + maxHealthyLb.toFixed(1) + ' lb' + '' + '' + weightNote; }
#### Formulas Used
U.S. Navy Body Fat Percentage (circumference method):
Male: %BF = 86.010 × log₁₀(waist − neck) − 70.041 × log₁₀(height) + 36.76
Female: %BF = 163.205 × log₁₀(waist + hip − neck) − 97.684 × log₁₀(height) − 78.387
All measurements in centimetres.
BMI: BMI = weight (kg) ÷ height² (m²)
Healthy weight range: weight = BMI × height² (m²), for BMI 18.5–24.9
Fat mass: Fat Mass = body weight × (BF% ÷ 100) Lean mass: Lean Mass = body weight − Fat Mass
#### Assumptions & References
- Body fat is estimated using the U.S. Navy circumference method (Hodgdon & Beckett, 1984), validated against hydrostatic weighing.
- Healthy weight range is based on a BMI of 18.5–24.9 (WHO / NIH guidelines).
- Body fat categories follow American Council on Exercise (ACE) guidelines.
More Calculators
- Seasonal Energy Efficiency Ratio (SEER) Upgrade Savings Calculator
- HVAC Replacement Cost Estimator for Delaware Homes
- Pain and Suffering Damages Estimator
- Settlement Value Estimator
- Lost Wages Calculator
- Legal Aid Eligibility Calculator
Read Next
Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...