The U.S. Navy Body Fat Calculator is a widely recognized method for estimating body composition using simple circumference measurements. Unlike BMI (Body Mass Index), which only considers weight and height, the Navy method accounts for where you carry your mass, providing a more accurate picture for muscular individuals.
How Accuracy is Achieved
This calculator uses a series of logarithmic equations developed by the Naval Health Research Center. It requires measurements of the neck and waist for men, and the neck, waist, and hips for women. By comparing these circumferences against your height, the formula can differentiate between lean mass and adipose tissue (fat).
Healthy Body Fat Ranges
Category
Women Range
Men Range
Essential Fat
10-13%
2-5%
Athletes
14-20%
6-13%
Fitness
21-24%
14-17%
Average
25-31%
18-24%
Obese
32%+
25%+
Tips for Accurate Measurement
Waist: For men, measure at the navel level. For women, measure at the narrowest point of the abdomen.
Neck: Measure just below the larynx (Adam's apple), sloping slightly downward toward the front.
Hips (Women only): Measure at the widest horizontal circumference of the buttocks.
Consistency: Always measure on bare skin and do not pull the tape so tight that it compresses the skin.
function calculateBodyFat() {
var gender = document.querySelector('input[name="gender"]:checked').value;
var height = parseFloat(document.getElementById('height').value);
var neck = parseFloat(document.getElementById('neck').value);
var waist = parseFloat(document.getElementById('waist').value);
var hips = parseFloat(document.getElementById('hips').value);
var resultBox = document.getElementById('bf-result-box');
var output = document.getElementById('bf-output');
var categoryText = document.getElementById('bf-category-text');
if (isNaN(height) || isNaN(neck) || isNaN(waist) || (gender === 'female' && isNaN(hips))) {
alert("Please enter all required measurements correctly.");
return;
}
var bodyFat = 0;
if (gender === 'male') {
// Navy formula for Men (Inches)
// 86.010 * log10(waist – neck) – 70.041 * log10(height) + 36.76
bodyFat = 86.010 * Math.log10(waist – neck) – 70.041 * Math.log10(height) + 36.76;
} else {
// Navy formula for Women (Inches)
// 163.205 * log10(waist + hip – neck) – 97.684 * log10(height) – 78.387
bodyFat = 163.205 * Math.log10(waist + hips – neck) – 97.684 * Math.log10(height) – 78.387;
}
if (bodyFat < 2) bodyFat = 2; // Floor for biological limits
output.innerHTML = bodyFat.toFixed(1) + "%";
var category = "";
if (gender === 'male') {
if (bodyFat <= 5) category = "Essential Fat";
else if (bodyFat <= 13) category = "Athlete";
else if (bodyFat <= 17) category = "Fitness";
else if (bodyFat <= 24) category = "Average";
else category = "Obese";
} else {
if (bodyFat <= 13) category = "Essential Fat";
else if (bodyFat <= 20) category = "Athlete";
else if (bodyFat <= 24) category = "Fitness";
else if (bodyFat <= 31) category = "Average";
else category = "Obese";
}
categoryText.innerHTML = "Category: " + category;
resultBox.style.display = "block";
}