Simple Mortgage Interest Rate Calculator

Body Fat Percentage Calculator

Estimate your body composition using the U.S. Navy Method

Male Female
Metric (cm/kg) Imperial (in/lb)

Understanding Body Fat Percentage

Body fat percentage is the total mass of fat divided by total body mass, multiplied by 100. Unlike Body Mass Index (BMI), which only uses height and weight, body fat percentage provides a more accurate picture of your health and physical fitness by distinguishing between lean muscle mass and fat tissue.

Standard Categories (ACE Guidelines)

Description Women Men
Essential Fat 10–13% 2–5%
Athletes 14–20% 6–13%
Fitness 21–24% 14–17%
Average 25–31% 18–24%
Obese 32%+ 25%+

Example Calculation

A male measuring 180cm tall with a 40cm neck and a 90cm waist would calculate as follows:

  • Input: Height: 180cm, Neck: 40cm, Waist: 90cm
  • Navy Formula Applied: 495 / (1.0324 – 0.19077 * log10(90 – 40) + 0.15456 * log10(180)) – 450
  • Result: Approximately 17.8% (Fitness Category)

Measurement Tips

  • Neck: Measure below the larynx, sloping slightly downward to the front.
  • Waist: For men, measure at the navel level. For women, measure at the narrowest point of the natural waistline.
  • Hips (Women only): Measure at the widest horizontal circumference around the buttocks.
  • Ensure the tape is snug but not compressing the skin.
function toggleHipField() { var gender = document.getElementById("gender").value; var hipContainer = document.getElementById("hip-container"); if (gender === "female") { hipContainer.style.display = "block"; } else { hipContainer.style.display = "none"; } } function calculateBodyFat() { var gender = document.getElementById("gender").value; var units = document.getElementById("units").value; var height = parseFloat(document.getElementById("height").value); var neck = parseFloat(document.getElementById("neck").value); var waist = parseFloat(document.getElementById("waist").value); var hip = parseFloat(document.getElementById("hip").value) || 0; var resultBox = document.getElementById("result-box"); var resultVal = document.getElementById("result-value"); var resultCat = document.getElementById("result-category"); if (isNaN(height) || isNaN(neck) || isNaN(waist) || (gender === "female" && isNaN(hip))) { alert("Please enter valid numbers for all measurements."); return; } var bodyFat = 0; // US Navy Formula if (units === "metric") { if (gender === "male") { bodyFat = 495 / (1.0324 – 0.19077 * Math.log10(waist – neck) + 0.15456 * Math.log10(height)) – 450; } else { bodyFat = 495 / (1.29579 – 0.35004 * Math.log10(waist + hip – neck) + 0.22100 * Math.log10(height)) – 450; } } else { // Imperial formula (using inches) if (gender === "male") { bodyFat = 86.010 * Math.log10(waist – neck) – 70.041 * Math.log10(height) + 36.76; } else { bodyFat = 163.205 * Math.log10(waist + hip – neck) – 97.684 * Math.log10(height) – 78.387; } } if (bodyFat 60) { resultVal.innerHTML = "Out of Range"; resultCat.innerHTML = "Please check your measurements."; } else { var bfFixed = bodyFat.toFixed(1); resultVal.innerHTML = bfFixed + "%"; var category = ""; if (gender === "male") { if (bodyFat < 6) category = "Essential Fat"; else if (bodyFat < 14) category = "Athlete"; else if (bodyFat < 18) category = "Fitness"; else if (bodyFat < 25) category = "Average"; else category = "Obese"; } else { if (bodyFat < 14) category = "Essential Fat"; else if (bodyFat < 21) category = "Athlete"; else if (bodyFat < 25) category = "Fitness"; else if (bodyFat < 32) category = "Average"; else category = "Obese"; } resultCat.innerHTML = "Category: " + category; } resultBox.style.display = "block"; }

Leave a Comment