Body Fat Percentage Calculator
ANA›Life Services Authority›National Calculator Authority›Body Fat Percentage 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 Calculator
Estimate your body fat percentage using the U.S. Navy circumference method based on height, waist, neck, and (for women) hip measurements.
Sex
Male Female
Unit System
Imperial (in, lb) Metric (cm, kg)
Age (years)
Height (in)
Weight (lb)
Neck circumference (in)
Waist circumference (in)
Hip circumference (in)
Calculate
function bodToggleHips() { var sex = document.getElementById('bod-sex').value; document.getElementById('bod-hips-row').style.display = (sex === 'female') ? '' : 'none'; }
function bodToggleUnits() { var unit = document.getElementById('bod-unit').value; var imp = unit === 'imperial'; document.getElementById('bod-height-label').textContent = imp ? 'Height (in)' : 'Height (cm)'; document.getElementById('bod-weight-label').textContent = imp ? 'Weight (lb)' : 'Weight (kg)'; document.getElementById('bod-neck-label').textContent = imp ? 'Neck circumference (in)' : 'Neck circumference (cm)'; document.getElementById('bod-waist-label').textContent = imp ? 'Waist circumference (in)' : 'Waist circumference (cm)'; document.getElementById('bod-hips-label').textContent = imp ? 'Hip circumference (in)' : 'Hip circumference (cm)'; document.getElementById('bod-height').placeholder = imp ? 'e.g. 70' : 'e.g. 178'; document.getElementById('bod-weight').placeholder = imp ? 'e.g. 180' : 'e.g. 82'; document.getElementById('bod-neck').placeholder = imp ? 'e.g. 15' : 'e.g. 38'; document.getElementById('bod-waist').placeholder = imp ? 'e.g. 34' : 'e.g. 86'; document.getElementById('bod-hips').placeholder = imp ? 'e.g. 38' : 'e.g. 97'; }
function bodCalc() { var resultDiv = document.getElementById('bod-result'); var sex = document.getElementById('bod-sex').value; var unit = document.getElementById('bod-unit').value; var age = parseFloat(document.getElementById('bod-age').value); var height = parseFloat(document.getElementById('bod-height').value); var weight = parseFloat(document.getElementById('bod-weight').value); var neck = parseFloat(document.getElementById('bod-neck').value); var waist = parseFloat(document.getElementById('bod-waist').value); var hips = (sex === 'female') ? parseFloat(document.getElementById('bod-hips').value) : 0;
// Validation if (isNaN(age) || age 120) { resultDiv.innerHTML = 'Please enter a valid age (10–120).'; return; } if (isNaN(height) || height Please enter a valid height.'; return; } if (isNaN(weight) || weight Please enter a valid weight.'; return; } if (isNaN(neck) || neck Please enter a valid neck circumference.'; return; } if (isNaN(waist) || waist Please enter a valid waist circumference.'; return; } if (sex === 'female' && (isNaN(hips) || hips Please enter a valid hip circumference.'; return; }
// Convert metric to imperial for the Navy formula (which uses inches) var h = height, n = neck, w = waist, hp = hips; if (unit === 'metric') { h = height / 2.54; n = neck / 2.54; w = waist / 2.54; hp = hips / 2.54; }
// Additional sanity checks (in inches) if (n >= w) { resultDiv.innerHTML = 'Waist must be larger than neck circumference.'; return; } if (sex === 'female' && (n + w) >= hp) { resultDiv.innerHTML = 'Hip circumference must be larger than neck + waist combined.'; return; }
// U.S. Navy Body Fat Formula var bfp; if (sex === 'male') { // BF% = 86.010 * log10(waist - neck) - 70.041 * log10(height) + 36.76 bfp = 86.010 * Math.log10(w - n) - 70.041 * Math.log10(h) + 36.76; } else { // BF% = 163.205 * log10(waist + hips - neck) - 97.684 * log10(height) - 78.387 bfp = 163.205 * Math.log10(w + hp - n) - 97.684 * Math.log10(h) - 78.387; }
if (bfp 70) { resultDiv.innerHTML = 'Result out of plausible range. Please check your measurements.'; return; }
// Fat mass and lean mass var weightKg = (unit === 'metric') ? weight : weight * 0.453592; var fatMassKg = weightKg * (bfp / 100); var leanMassKg = weightKg - fatMassKg; var fatMassLb = fatMassKg * 2.20462; var leanMassLb = leanMassKg * 2.20462;
// BMI var heightM = (unit === 'metric') ? height / 100 : height * 0.0254; var bmi = weightKg / (heightM * heightM);
// Category (ACE guidelines) var category, catColor; if (sex === 'male') { if (bfp ' + category + '' + 'Fat Mass: ' + fatMass + ' ' + massUnit + '' + 'Lean Mass: ' + leanMass + ' ' + massUnit + '' + 'BMI: ' + bmi.toFixed(1) + '' + 'Age: ' + age + ' years'; }
#### Formula
U.S. Navy Circumference Method
Male: BF% = 86.010 × log₁₀(waist − neck) − 70.041 × log₁₀(height) + 36.76
Female: BF% = 163.205 × log₁₀(waist + hips − neck) − 97.684 × log₁₀(height) − 78.387
All measurements in inches. Metric inputs are converted before calculation.
Fat Mass = Body Weight × (BF% / 100) Lean Mass = Body Weight − Fat Mass BMI = Weight (kg) / Height² (m²)
#### Assumptions & References
- Based on the U.S. Navy Body Fat Formula developed by Hodgdon & Beckett (1984), used by the U.S. military for fitness assessments.
- Waist is measured at the navel for men and at the narrowest point for women; neck just below the larynx.
- Body fat categories follow American Council on Exercise (ACE) guidelines: Essential Fat, Athletes, Fitness, Average, Obese.
- This method has a margin of error of approximately ±3–4% compared to DEXA scans.
- Reference: Hodgdon, J.A. & Beckett, M.B. (1984). Prediction of percent body fat for U.S. Navy men and women from body circumferences and height. Naval Health Research Center.
More Calculators
- National Security Clearance Processing Time Estimator
- Insider Threat Probability Estimator
- Critical Infrastructure Vulnerability Assessment Calculator
- NY SHIELD Act Compliance Readiness Calculator
- Security Camera Coverage Area Calculator
- Intrusion Detection Response Time Calculator
Read Next
Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...