Estimate your body fat percentage based on specific body measurements.
Male
Female
How the U.S. Navy Body Fat Calculator Works
The U.S. Navy method for estimating body fat percentage is one of the most accurate "tape measure" methods available. It uses height and circumference measurements of the neck, waist, and (for women) hips to calculate the body's density and subsequent fat percentage.
The Formulas Used
Our calculator utilizes the following specific algorithms:
Consider a 6-foot tall (72 inches) male with a 36-inch waist and a 16-inch neck. His estimated body fat would be approximately 19.5%, which falls into the "Fit/Average" category. A female of 5'5″ (65 inches) with a 30-inch waist, 38-inch hips, and 13.5-inch neck would have approximately 26.4% body fat.
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%+
Frequently Asked Questions
How accurate is this method? While not as accurate as a DEXA scan, the Navy Method is usually within 3-4% accuracy for most people, provided the tape measurements are taken precisely.
Where should I measure? Measure the waist at the narrowest point (usually at the navel for men), the neck just below the larynx, and the hips at the widest point for women.
function toggleHipInput() {
var gender = document.getElementById("bfGender").value;
var hipField = document.getElementById("hipField");
if (gender === "female") {
hipField.style.display = "block";
} else {
hipField.style.display = "none";
}
}
function calculateBodyFat() {
var gender = document.getElementById("bfGender").value;
var height = parseFloat(document.getElementById("bfHeight").value);
var neck = parseFloat(document.getElementById("bfNeck").value);
var waist = parseFloat(document.getElementById("bfWaist").value);
var hip = parseFloat(document.getElementById("bfHip").value) || 0;
var resultBox = document.getElementById("bfResultBox");
var output = document.getElementById("bfOutput");
if (!height || !neck || !waist || (gender === "female" && !hip)) {
alert("Please fill in all required measurements.");
return;
}
var bodyFat = 0;
if (gender === "male") {
// Navy Formula for Men (Imperial)
bodyFat = 495 / (1.0324 – 0.19077 * Math.log10(waist – neck) + 0.15456 * Math.log10(height)) – 450;
} else {
// Navy Formula for Women (Imperial)
bodyFat = 495 / (1.29579 – 0.35004 * Math.log10(waist + hip – neck) + 0.22100 * Math.log10(height)) – 450;
}
if (isNaN(bodyFat) || bodyFat <= 0) {
output.innerHTML = "Calculation error. Please check your measurements. Ensure waist is larger than neck.";
} else {
var category = getCategory(bodyFat, gender);
output.innerHTML = '
Your Estimated Body Fat:
' +
'
' + bodyFat.toFixed(1) + '%
' +
'
Classification: ' + category + '
';
}
resultBox.style.display = "block";
}
function getCategory(fat, gender) {
if (gender === "male") {
if (fat < 6) return "Essential Fat";
if (fat < 14) return "Athlete";
if (fat < 18) return "Fitness";
if (fat < 25) return "Average";
return "Obese";
} else {
if (fat < 14) return "Essential Fat";
if (fat < 21) return "Athlete";
if (fat < 25) return "Fitness";
if (fat < 32) return "Average";
return "Obese";
}
}