Calculator: CDC anthropometric Z-scores 0-20y

This page is running a macro package for R hosted on a Shiny server. For weight, length (height), and body mass index, it calculates Z-scores and percentiles using CDC growth charts for ages 2-20y , which are based on CDC LMS tables tabulated at half-month intervals. For ages 0-2y, CDC now recommends WHO LMS tables, tabulated daily for ages < 24 months, and the two sets of tables have been amalgamated here to cover the full age range 0-20y. For more detailed output (e.g. biologically implausible value flags, head circumference, and skin fold thickness), you can use the original, age-specific WHO macros igrowup (0-5y) and who2007 (5-19y). Since biologically implausible value ('biv') flags also differ by source, you should consult the WHO and CDC websites for details. CDC also distributes a SAS macro based on WHO data for ages 0-2y.

The sample.csv file shows the expected variable names and formats. Column order is immaterial, but names are case-sensitive. For assistance, please consult our step-by-step guide: Creating .csv spreadsheets . The identifier variable id should be unique for each observation. The LMS algorithm is based on exact age in months (agemons = days/30.4375 per the WHO). The variable sex may be coded as M/F or m/f or 1/2 (1 = male); height is in cm, and weight is in kg. For 0-23 months, height refers to recumbent length (standing height + 0.7cm). For children ≥ 24 months, height refers to standing height (recumbent length - 0.7cm). As recommended by WHO, extreme weight and BMI Z scores outside of the range [-3, 3] are calculated in units of SD23, the distance between Z=2 and Z=3 (or in the lower tail of the distribution, Z = -2 and Z = -3). Historically, CDC simply reported these as <-3 or > 3 SD, for percentiles < 0.1% or > 99.9%. More recently, the 2016 version of their SAS macro for ages 0-20y has adopted the convention of reporting BMI as a percentage of age- and sex-specific 95th percentile values.

A spreadsheet with comma separated variables (.csv) may be created using the 'Save As' .csv option in Excel and uploaded using the sidebar on the left. Once results are displayed, download them by clicking the <Download> button, which will typically save them to your Download folder with 'out_' prepended to the original dataset name.

Download Results

As explained in our general FAQ, European computers sometimes use a semicolon to separate columns even though you asked for comma separated variables, which is easy to diagnose by opening your .csv file in a text editor, such as NotePad or TextEdit. If you encounter this problem, there is now a selector in the sidebar for comma, semicolon, or tab delimiters. Please refresh your browser page before changing this selection.