A child’s body mass index cannot be read against a single fixed cutoff the way an adult’s can, because healthy BMI rises and falls naturally through childhood and differs between boys and girls. Paediatric assessment instead asks where a child sits relative to peers of the same age and sex, expressed as a percentile.
Why percentiles rather than fixed cutoffs
Adult BMI categories (underweight below 18.5, overweight at 25, and so on) use fixed numbers that apply to every adult. This works for adults because the healthy range for body fat does not shift dramatically with age. For children it fails, because a 5-year-old boy’s healthy BMI is different from a 10-year-old boy’s, which is again different from a 15-year-old boy’s — and girls have a different normal growth curve still.
The CDC BMI-for-age approach solves this by comparing a child’s BMI only to other children of the same age and sex, using a reference population drawn from multiple national surveys. The result is a percentile — a rank from 0 to 100 that shows where the child sits relative to peers.
How it works
First the ordinary BMI, then a transformation to a z-score using the CDC LMS parameters for the child’s age and sex:
BMI = weight(kg) / height(m)^2
if L != 0: z = ((BMI / M)^L - 1) / (L x S)
if L == 0: z = ln(BMI / M) / S
percentile = normalCDF(z) x 100
Here L corrects the skewed shape of the BMI distribution, M is the median BMI
for that age and sex, and S is the coefficient of variation. The tool stores CDC
LMS rows from age 2 to 20 and interpolates to the child’s exact age in months,
which is important because percentiles shift noticeably between birthdays during
growth spurts.
CDC weight categories for children
| Percentile range | CDC category |
|---|---|
| Below 5th | Underweight |
| 5th to below 85th | Healthy weight |
| 85th to below 95th | Overweight |
| 95th and above | Obesity |
These thresholds are the standard CDC definitions and are used consistently across paediatric research, clinical settings, and school health programmes.
Worked example
An 8-year-old boy who is 128 cm and 26 kg:
- BMI = 26 ÷ 1.28² ≈ 15.9 kg/m²
- With boys’ age-8 CDC LMS values (M ≈ 15.5), this z-score is slightly positive.
- Result: approximately the 60th–70th percentile, a healthy weight.
For comparison, a 15-year-old boy with the same BMI of 15.9 would land near the 5th percentile (underweight) because the reference median at age 15 is higher. This shows why age matters so much in paediatric BMI assessment.
Notes for clinicians and parents
- Provide age in years and months for the most accurate result, since the CDC LMS parameters are interpolated by month, not just by year.
- For children under 2 years, the CDC BMI-for-age chart does not apply. Use the WHO weight-for-length or weight-for-height chart instead.
- At very high BMI values, the CDC recommends an extended z-score formula to avoid truncation; this general calculator produces a close approximation in those ranges but may differ slightly from clinical software.
- A percentile result is a screening tool, not a diagnosis. Discuss any result below the 5th or at or above the 85th percentile with a paediatrician, who can consider growth trends over time, pubertal stage, muscle mass, and family history.
All calculation runs privately in your browser — no data is transmitted.