{
  "id": "weight-percentile",
  "version": "e4a97753e68b",
  "status": "published",
  "name": "Weight Percentile Calculator",
  "question": "What is my child’s weight percentile?",
  "summary": "Finds a child’s weight-for-age percentile and z-score from birth to 20 years, on the WHO growth standards under 24 months and the CDC growth charts from 2 years.",
  "category": "health",
  "subcategory": "body",
  "url": "https://www.acalculator.org/health/weight-percentile-calculator",
  "markdown": "https://www.acalculator.org/health/weight-percentile-calculator.md",
  "kind": "function",
  "method": "z = ((weight ÷ M)^L − 1) ÷ (L × S); percentile = Φ(z) × 100, with L, M and S for the sex and age from the WHO table under 24 months and the CDC table from 24 months, read on a straight line between table ages.",
  "assumptions": [
    "Under 24 months the page uses the WHO 2006 growth standards; from 24 months to 20 years, the CDC 2000 growth charts, as the CDC advises for US children.",
    "Age in months is 12 × years + months, or the days from birth to the measurement ÷ 30.4375.",
    "The percentile is rounded half up to one decimal place and shown between 0.1 and 99.9.",
    "A percentile compares a child with a reference group. It is not a diagnosis; a doctor looks at growth over time."
  ],
  "inputs": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "sex": {
        "title": "Sex",
        "description": "The child’s sex. Boys and girls have separate growth charts.",
        "type": "string",
        "enum": [
          "male",
          "female"
        ]
      },
      "from": {
        "title": "Based on",
        "description": "Enter the age in years and months, or the birth date and the date of the measurement.",
        "type": "string",
        "enum": [
          "age",
          "dates"
        ]
      },
      "years": {
        "title": "Years",
        "description": "The age in whole years.",
        "type": "integer",
        "minimum": 0,
        "maximum": 20
      },
      "months": {
        "title": "Months",
        "description": "Months past the whole years, 0 to under 12. Decimals are allowed: 2 weeks is about 0.5.",
        "type": "number",
        "minimum": 0,
        "exclusiveMaximum": 12
      },
      "born": {
        "title": "Birth date",
        "description": "The child’s date of birth.",
        "type": "string",
        "format": "date"
      },
      "on": {
        "title": "Measured on",
        "description": "The date of the measurement. Today, unless you change it.",
        "type": "string",
        "format": "date"
      },
      "weight": {
        "title": "Weight",
        "description": "The child’s weight.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "mass",
        "minimum": 0.5,
        "maximum": 250
      }
    }
  },
  "outputs": {
    "percentile": {
      "label": "Weight percentile",
      "description": "The share of children of the same sex and age who weigh less, rounded to one decimal place and shown between 0.1 and 99.9.",
      "format": "number"
    },
    "z": {
      "label": "Z-score",
      "description": "How many standard deviations the weight is above (+) or below (−) the median for the age.",
      "format": "number"
    },
    "median": {
      "label": "Median weight at this age",
      "description": "The 50th percentile weight for the sex and age.",
      "format": "quantity",
      "unit": "lb"
    },
    "low": {
      "label": "5th percentile weight",
      "description": "The weight at the 5th percentile for the sex and age.",
      "format": "quantity",
      "unit": "lb"
    },
    "high": {
      "label": "95th percentile weight",
      "description": "The weight at the 95th percentile for the sex and age.",
      "format": "quantity",
      "unit": "lb"
    },
    "range": {
      "label": "Screening range",
      "description": "Where the percentile falls against the screening cut-offs: 2.3rd and 97.7th on the WHO charts, 5th and 95th on the CDC charts.",
      "format": "text"
    },
    "age": {
      "label": "Age",
      "description": "The child’s age in years and months.",
      "format": "text"
    },
    "chart": {
      "label": "Growth chart",
      "description": "The growth chart used for this age.",
      "format": "text"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "sex": "male",
      "from": "age",
      "years": 4,
      "months": 0,
      "born": "2022-09-30",
      "on": "2026-09-30",
      "weight": 15.875732950000002
    },
    "outputs": {
      "percentile": 42.6,
      "z": -0.18704171048103266,
      "median": 16.231124604999998,
      "low": 13.544604304950258,
      "high": 20.157533686696667,
      "range": "Between the 5th and 95th percentiles",
      "age": "4 years",
      "chart": "CDC weight-for-age (2 to 20 years)"
    },
    "text": "At 4 years, a weight of 35 lb is at percentile 42.6 on the CDC weight-for-age (2 to 20 years) chart."
  },
  "examples": [
    {
      "given": {
        "sex": "male",
        "from": "age",
        "years": 0,
        "months": 6,
        "weight": 6.611702
      },
      "expect": {
        "percentile": 5,
        "z": -1.6448530435340614,
        "median": 7.934,
        "low": 6.611702,
        "high": 9.481939,
        "range": "Between the 2.3rd and 97.7th percentiles",
        "chart": "WHO weight-for-age (birth to 24 months)"
      },
      "source": "WHO weight-for-age, boys, month 6 (CDC copy of the WHO table): L 0.1257, M 7.934, S 0.10958; its 5th and 95th percentile columns are 6.611702 and 9.481939 kg (rounded to 6 decimals, hence the tolerance)",
      "tolerance": 0.000001
    },
    {
      "given": {
        "sex": "female",
        "from": "age",
        "years": 9,
        "months": 6.5,
        "weight": 40.9331551
      },
      "expect": {
        "percentile": 90,
        "z": 1.2815515658628533,
        "median": 31.0403221,
        "range": "Between the 5th and 95th percentiles",
        "chart": "CDC weight-for-age (2 to 20 years)"
      },
      "source": "CDC wtage.csv, girls, 114.5 months: L −0.902197638, M 31.0403221, S 0.191041375, P90 40.9331551 kg; z = Φ⁻¹(0.9) = 1.28155 (Python 3 cross-check in docs/progress/WP-54.md)",
      "tolerance": 1e-8
    },
    {
      "given": {
        "sex": "male",
        "from": "dates",
        "born": "2024-01-15",
        "on": "2026-07-15",
        "weight": 13.6077711
      },
      "expect": {
        "percentile": 53.2,
        "z": 0.08079318775852568,
        "age": "2 years 6 months"
      },
      "source": "CDC wtage.csv, boys, between 29.5 and 30.5 months: 912 days ÷ 30.4375 = 29.963 months; hand calculation in content.mdx"
    }
  ],
  "sources": [
    "Centers for Disease Control and Prevention, National Center for Health Statistics. CDC growth charts data files: weight-for-age, 2 to 20 years (wtage.csv), with the LMS instructions. https://www.cdc.gov/growthcharts/cdc-data-files.htm",
    "Centers for Disease Control and Prevention. WHO growth charts data files: weight-for-age, birth to 24 months (CDC copies of the WHO tables). https://www.cdc.gov/growthcharts/who-data-files.htm",
    "WHO Multicentre Growth Reference Study Group. WHO Child Growth Standards: length/height-for-age, weight-for-age, weight-for-length, weight-for-height and body mass index-for-age. Methods and development. Geneva: World Health Organization, 2006. https://www.who.int/publications/i/item/924154693X",
    "Kuczmarski RJ, Ogden CL, Guo SS, et al. 2000 CDC Growth Charts for the United States: methods and development. Vital Health Stat 11. 2002;(246):1-190. https://www.cdc.gov/nchs/data/series/sr_11/sr11_246.pdf",
    "Grummer-Strawn LM, Reinold C, Krebs NF. Use of World Health Organization and CDC growth charts for children aged 0-59 months in the United States. MMWR Recomm Rep. 2010;59(RR-9):1-15. https://www.cdc.gov/mmwr/preview/mmwrhtml/rr5909a1.htm",
    "Cole TJ, Green PJ. Smoothing reference centile curves: the LMS method and penalized likelihood. Stat Med. 1992;11(10):1305-1319. https://doi.org/10.1002/sim.4780111005"
  ],
  "related": [
    "height-percentile",
    "growth-chart",
    "bmi-kids",
    "baby-percentile"
  ],
  "changelog": []
}
