How to use it
- Choose adult (20 or older) or child or teen (2 through 19), and feet, inches and pounds or centimeters and kilograms.
- Enter height and weight; for a child or teen also enter age in years and months and sex, which CDC’s growth charts require.
- Adults see the BMI, the CDC category and the weight range for each category at that height. Children and teens see the BMI, the BMI-for-age percentile, the z-score and the category.
How it calculates
BMI is weight divided by height squared: kilograms over meters squared, or pounds times 703 over inches squared, the US formula CDC uses. For adults the result is placed in CDC’s categories using the BMI rounded to one decimal. That rounding matters at the edges, and it is how CDC’s own example table works: at 5 ft 9 in, 169 lb is a BMI of 24.955, shown as 25.0 and listed as overweight.
For ages 2 through 19 the calculator uses the CDC 2000 growth-chart parameters for the child’s sex and month of age (L, M and S, from Flegal and Cole’s report for the National Center for Health Statistics). Up to the 95th percentile, the z-score is ((BMI ÷ M)L − 1) ÷ (L × S) and the percentile is the normal distribution of that z-score. Above the 95th percentile it uses CDC’s 2022 extended method: the percentile is 90 + 10 × Φ((BMI − P95) ÷ σ), with σ from CDC’s formula for the child’s age. The extended charts stop at a z-score of 5, so higher values are shown as 5 or more.
What we tested
On October 14, 2026 we checked the page’s own functions. Every weight in CDC’s 5 ft 9 in example table lands in the same category CDC gives, and the calculator’s ranges (125–168, 169–202, 203–236 and 237–270 lb, and 271 lb or more) are CDC’s. CDC’s worked examples come out as published: a girl of 114.5 months with a BMI of 21.2 is at z 1.4215 and the 92.2nd percentile; a boy of 50.5 months with a BMI of 22.6 is at the 99.7683th percentile, z 2.83; and CDC’s 12-year-old girl, 5 ft and 136 lb, has a BMI of 26.6 at the 96th percentile. 3,000 random adults matched exact arithmetic (BMI, rounding, category and healthy-weight range), and 4,003 random children matched Python’s exact normal distribution on the same CDC parameters, with the largest percentile difference 0.000007 of a percentile point. The growth-chart parameters were accepted only after they reproduced CDC’s published values to every digit. In Chromium: 5 ft 9 in and 160 lb showed BMI 23.6, healthy weight, a healthy range of 125 to 168 lb and CDC's table of ranges; 168 lb stayed healthy weight and 169 lb showed 25.0, overweight; 175 cm and 72 kg showed 23.5; CDC's 12-year-old girl (5 ft, 136 lb) showed 26.6 at the 96.0th percentile, obesity; at 260 lb the page showed >99.9 and severe obesity; an age under 2 showed a message; the page fitted a 390 px phone with no errors.
BMI is a screening measure, not a diagnosis. It does not tell muscle from fat, and CDC advises considering it with other factors and discussing it with a health care provider.
Sources
Checked on .
Frequently Asked Questions
Built by Derek Giordano · Part of Ultimate Design Tools