The US Navy Body Fat Calculator uses a specific algorithm developed by the Naval Health Research Center. It is widely regarded as one of the most accurate "tape measure" methods for estimating body fat percentage without using expensive equipment like DEXA scans or hydrostatic weighing.
The formula relies on the relationship between various body circumferences and height. For men, it primarily looks at the difference between waist and neck measurements. For women, it adds hip measurements into the equation, as women naturally carry more essential fat in the lower body.
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%+
Real-World Example
Consider a male who is 70 inches tall (5'10"), has a 16-inch neck, and a 34-inch waist. Using the Navy formula, his calculated body fat would be approximately 14.8%, placing him in the "Fitness" category. To ensure accuracy, measurements should be taken on bare skin with the tape measure pulled taut but not compressing the skin.
Tips for Accurate Measurement
Waist: Measure at the narrowest point for women and at the navel for men.
Neck: Measure just below the larynx (Adam's apple), sloping slightly downward toward the front.
Hips (Women only): Measure at the widest point of the buttocks.
Consistency: Take measurements in the morning before eating for the most consistent results.
function toggleHipRow() {
var gender = document.getElementById('bf-gender').value;
var hipRow = document.getElementById('hip-row');
if (gender === 'female') {
hipRow.style.display = 'block';
} else {
hipRow.style.display = 'none';
}
}
function calculateBodyFat() {
var gender = document.getElementById('bf-gender').value;
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 hip = parseFloat(document.getElementById('bf-hip').value) || 0;
var resultDiv = document.getElementById('bf-result');
if (!height || !neck || !waist || (gender === 'female' && !hip)) {
resultDiv.style.display = 'block';
resultDiv.style.backgroundColor = '#f8d7da';
resultDiv.style.color = '#721c24';
resultDiv.innerHTML = 'Please fill in all required fields with valid numbers.';
return;
}
var bodyFat = 0;
if (gender === 'male') {
// Navy formula for men (US Units)
// 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 (US Units)
// 163.205 * log10(waist + hip – neck) – 97.684 * log10(height) – 78.387
bodyFat = 163.205 * Math.log10(waist + hip – neck) – 97.684 * Math.log10(height) – 78.387;
}
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";
}
resultDiv.style.display = 'block';
resultDiv.style.backgroundColor = '#d4edda';
resultDiv.style.color = '#155724';
resultDiv.innerHTML = 'Estimated Body Fat: ' + bodyFat.toFixed(1) + '%' +
'Category: ' + category + '';
}