Body fat percentage (BFP) 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 distinguishes between muscle mass and fat mass, providing a more accurate picture of physical health and fitness.
The US Navy Method
This calculator uses the "U.S. Navy Fitness Formula," a widely recognized method developed by the Naval Health Research Center. It estimates body fat based on specific body measurements. For men, it utilizes height, neck, and waist measurements. For women, it also includes hip measurements to account for different fat distribution patterns.
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%+
How to Measure Accurately
Waist: Measure at the narrowest point for women, and at the navel level for men.
Neck: Measure below the larynx, sloping slightly downward to the front.
Hips (Women only): Measure at the widest point of the buttocks.
Consistency: Measure in the morning before eating, and ensure the tape is snug against the skin but not compressing it.
function calculateBodyFat() {
var height = parseFloat(document.getElementById('bf_height').value);
var neck = parseFloat(document.getElementById('bf_neck').value);
var waist = parseFloat(document.getElementById('bf_waist').value);
var isMale = document.getElementById('male').checked;
var resultBox = document.getElementById('bf-result-box');
var resultVal = document.getElementById('bf-val');
var resultCat = document.getElementById('bf-cat');
if (!height || !neck || !waist || (height <= 0) || (neck <= 0) || (waist <= 0)) {
alert("Please enter valid positive numbers for all fields.");
return;
}
var bfp = 0;
if (isMale) {
// US Navy Formula for Men (Metric)
// 495 / (1.0324 – 0.19077 * log10(waist – neck) + 0.15456 * log10(height)) – 450
bfp = 495 / (1.0324 – 0.19077 * Math.log10(waist – neck) + 0.15456 * Math.log10(height)) – 450;
} else {
var hips = parseFloat(document.getElementById('bf_hips').value);
if (!hips || hips <= 0) {
alert("Please enter a valid hip measurement.");
return;
}
// US Navy Formula for Women (Metric)
// 495 / (1.29579 – 0.35004 * log10(waist + hip – neck) + 0.22100 * log10(height)) – 450
bfp = 495 / (1.29579 – 0.35004 * Math.log10(waist + hips – neck) + 0.22100 * Math.log10(height)) – 450;
}
if (bfp < 2 || isNaN(bfp)) {
bfp = 2; // Floor for physiological limits
}
resultVal.innerHTML = bfp.toFixed(1) + "%";
resultBox.style.display = "block";
var category = "";
var color = "";
if (isMale) {
if (bfp < 6) { category = "Essential Fat"; color = "#3498db"; }
else if (bfp < 14) { category = "Athletes"; color = "#2ecc71"; }
else if (bfp < 18) { category = "Fitness"; color = "#27ae60"; }
else if (bfp < 25) { category = "Average"; color = "#f1c40f"; }
else { category = "Obese"; color = "#e74c3c"; }
} else {
if (bfp < 14) { category = "Essential Fat"; color = "#3498db"; }
else if (bfp < 21) { category = "Athletes"; color = "#2ecc71"; }
else if (bfp < 25) { category = "Fitness"; color = "#27ae60"; }
else if (bfp < 32) { category = "Average"; color = "#f1c40f"; }
else { category = "Obese"; color = "#e74c3c"; }
}
resultCat.innerHTML = category;
resultBox.style.backgroundColor = color + "22";
resultCat.style.color = color;
resultVal.style.color = color;
}