BMI-for-age percentile calculator
Enter a child’s sex, age, height and weight to calculate their BMI, BMI-for-age percentile and CDC weight category. The percentile compares the child to others of the same age and sex, which is the correct way to read BMI for anyone aged 2–20.
Why age and sex both matter
A raw BMI number means different things at different ages. A BMI of 17 is underweight for a 15-year-old boy but perfectly normal for a 5-year-old. This happens because children add lean muscle and bone through adolescence, naturally raising their healthy BMI as they grow. Girls and boys also have different growth curves, so the same BMI can fall at different percentiles depending on sex.
The CDC BMI-for-age approach sidesteps this by expressing a child’s BMI as a rank relative to peers of the same age and sex using the 2000 CDC growth reference data, which was built from large cross-sectional surveys of US children.
How it works
The tool computes BMI (metric: weight ÷ height²; imperial: 703 × lb ÷ in²), then looks up the CDC 2000 LMS parameters for the child’s sex and age (interpolating between whole years). It turns BMI into a z-score:
z = ((BMI / M)^L − 1) / (L × S)
and converts that z-score to a percentile using the standard normal distribution. L corrects for the skewed shape of the childhood BMI distribution, M is the median BMI for that age and sex, and S is the coefficient of variation.
CDC weight categories
| Percentile | CDC category |
|---|---|
| Below 5th | Underweight |
| 5th to below 85th | Healthy weight |
| 85th to below 95th | Overweight |
| 95th and above | Obesity |
Worked examples
Example 1 — Healthy weight boy. A 10-year-old boy, 138 cm and 32 kg: BMI = 32 ÷ 1.38² ≈ 16.8 kg/m². For a boy aged 10, this lands near the 50th percentile — healthy weight.
Example 2 — Overweight girl. A 12-year-old girl, 152 cm and 53 kg: BMI = 53 ÷ 1.52² ≈ 22.9 kg/m². For a girl aged 12, this would fall near the 90th percentile — overweight range. (These are illustrative values only.)
Example 3 — Imperial units. A 7-year-old girl, 46 inches and 52 lb: BMI = 703 × 52 ÷ 46² ≈ 17.3 kg/m². The tool converts automatically and applies the same LMS calculation.
Tips for accurate results
- Enter the exact age in years and months, not just whole years. A child who has just turned 8 and a child who is 8 years and 10 months use different LMS values, and the percentile can shift meaningfully between them during growth spurts.
- This calculator uses data for ages 2 to 20 only. For children under 2, use the WHO weight-for-length chart.
- The percentile is a screening indicator. A single measurement tells you less than a growth trend over time. Discuss results near the category boundaries — especially at or above the 85th percentile — with a pediatrician before drawing conclusions.
All calculation runs privately in your browser; nothing is uploaded.