Estimate your body composition using the U.S. Navy Method
Male
Female
Your Results
Body Fat Percentage:–
Body Fat Category:–
Fat Mass:–
Lean Body Mass:–
How Does This Calculator Work?
This calculator uses the U.S. Navy Fitness Formula, a widely recognized method for estimating body fat percentage without expensive clinical equipment. It relies on specific body circumference measurements to estimate body density and subsequent fat volume.
To get the most accurate results, use a flexible measuring tape and measure against the skin:
Neck: Measure below the larynx, sloping slightly downward to the front.
Waist: For men, measure at the navel. For women, measure at the narrowest point.
Hips (Women only): Measure at the widest point of the buttocks.
Body Fat Categories
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%+
Why Body Fat Percentage Matters More Than BMI
While the Body Mass Index (BMI) only considers weight and height, the Body Fat Calculator accounts for body composition. This is crucial because muscle is denser than fat. A professional athlete might have a "high" BMI but a very low body fat percentage, indicating they are healthy and fit, not overweight.
Example Calculation
If a male weighs 85kg, is 180cm tall, has a neck circumference of 40cm, and a waist of 95cm, the calculator determines the following:
Estimated Body Fat: ~22.4%
Category: Average
Lean Mass: ~66kg
function toggleHipInput() {
var gender = document.getElementById("gender").value;
var hipGroup = document.getElementById("hip-group");
if (gender === "female") {
hipGroup.style.display = "block";
} else {
hipGroup.style.display = "none";
}
}
function calculateBodyFat() {
var gender = document.getElementById("gender").value;
var weight = parseFloat(document.getElementById("weight").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);
if (isNaN(weight) || isNaN(height) || isNaN(neck) || isNaN(waist)) {
alert("Please enter valid numbers for all fields.");
return;
}
var bodyFat = 0;
if (gender === "male") {
// Navy Formula for Men: 495 / (1.0324 – 0.19077 * log10(waist – neck) + 0.15456 * log10(height)) – 450
bodyFat = 495 / (1.0324 – 0.19077 * Math.log10(waist – neck) + 0.15456 * Math.log10(height)) – 450;
} else {
if (isNaN(hip)) {
alert("Please enter hip circumference.");
return;
}
// Navy Formula for Women: 495 / (1.29579 – 0.35004 * log10(waist + hip – neck) + 0.22100 * log10(height)) – 450
bodyFat = 495 / (1.29579 – 0.35004 * Math.log10(waist + hip – neck) + 0.22100 * Math.log10(height)) – 450;
}
if (bodyFat 100) bodyFat = 100;
var fatMass = (weight * (bodyFat / 100)).toFixed(2);
var leanMass = (weight – fatMass).toFixed(2);
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";
}
document.getElementById("res-percentage").innerHTML = bodyFat.toFixed(1) + "%";
document.getElementById("res-category").innerHTML = category;
document.getElementById("res-fat-mass").innerHTML = fatMass + " kg";
document.getElementById("res-lean-mass").innerHTML = leanMass + " kg";
document.getElementById("bfResult").style.display = "block";
}