Baby Growth Tracker Calculator - WHO Percentiles
Calculate a baby's weight and height percentiles from birth to 36 months using WHO growth standards. Free tool with growth status and developmental milestones.
Baby Growth Tracker Calculator
Documentation
Baby Growth Tracker Calculator
A baby growth tracker calculator compares a baby's weight and height with the World Health Organization (WHO) child growth standards. It converts each measurement into a percentile, the position a baby holds among 100 babies of the same age and sex. The calculator on this page covers ages 0 to 36 months and works for both boys and girls.
How the percentile is calculated
WHO growth standards are not a simple lookup table of percentiles. For each age, sex, and measurement (weight or height), WHO publishes three numbers called L, M, and S. M is the median value, S describes how spread out the measurements are, and L corrects for skew in the data.
The calculator turns a measurement into a z-score, a value that says how many standard deviations a measurement sits from the median:
z = ((measurement รท M)^L โ 1) รท (L ร S)
When L equals 0, the formula becomes z = ln(measurement รท M) รท S instead, since the first version would divide by zero.
The z-score is then converted to a percentile using the standard normal distribution, the same bell curve used for test scores and other population data. A percentile of 50 means the baby sits exactly at the median. The calculator displays percentiles between the 1st and 99th percentile as whole numbers, and switches to one decimal place beyond those points (clamped to a minimum of 0.1 and a maximum of 99.9), since a true 0th or 100th percentile is not possible: someone is always a little lighter or heavier.
For ages between the whole months WHO publishes, the calculator interpolates the L, M, and S values in a straight line between the two nearest months.
Worked example
A 6-month-old boy weighing 7.5 kg and measuring 67 cm is used below. WHO's weight-for-age values for 6-month-old boys are L = 0.1256, M = 7.9389, S = 0.10957.
z = ((7.5 รท 7.9389)^0.1256 โ 1) รท (0.1256 ร 0.10957) โ โ0.52
A z-score of โ0.52 corresponds to the 30th percentile. That means about 30 out of 100 six-month-old boys weigh less than 7.5 kg, and about 70 weigh more.
For height, WHO's values for 6-month-old boys are L = 1, M = 67.6435, S = 0.03165:
z = ((67 รท 67.6435) โ 1) รท 0.03165 โ โ0.30
That works out to about the 38th percentile for height.
How to use the calculator
- Enter age in months. The field accepts decimals, so a baby who is 7 weeks old (49 days) can be entered as about 1.6 months, and a baby who is 13 weeks old (91 days) as about 3.0 months. Age matters because growth rates change quickly in the first year, so an age that is off by a few weeks can shift the percentile noticeably.
- Enter weight, in kilograms or pounds. Pounds are converted using the exact definition of the pound, 1 lb = 0.45359237 kg, so switching units does not change the percentile. Weighing without clothes or a diaper gives the most accurate reading.
- Enter height or length, in centimeters or inches. WHO measures babies lying down (recumbent length) before 24 months and standing up (height) from 24 months on. Standing height reads about 0.7 cm shorter than lying-down length for the same child, so the reference median the calculator uses at 24 months is lower than the length curve would give: 87.13 cm for boys, not 87.80 cm.
- Select the baby's sex, since WHO's reference values differ for boys and girls.
The calculator then shows a weight percentile and a height percentile, a status label, and a set of age-appropriate developmental milestones.
What the status labels and colors mean
The calculator uses two related but separate ideas.
Status (below average, normal, above average) compares a percentile to the 15th and 85th percentile marks. Below 15 is "below average," above 85 is "above average," and everything between is "normal."
Color, shown alongside the status, reflects how far outside the typical range a measurement falls:
- Green โ the measurement falls between the 15th and 85th percentile. This is the typical range.
- Yellow โ the measurement falls between the 3rd and 15th percentile, or between the 85th and 97th percentile. Still within WHO's normal reference range, but worth watching over time.
- Red โ the measurement falls below the 3rd percentile or above the 97th percentile. WHO treats these as the point at which a clinician should be involved.
The label and the color answer different questions. A baby at the 90th percentile is labeled "above average" and colored yellow, because 90 falls in the 85th to 97th band. A baby at the 80th percentile is also "above average" but colored green. Only the 3rd and 97th percentile marks carry real clinical weight; being above average is not itself a concern.
Developmental milestones by age
Alongside the percentile results, the calculator lists a few common developmental milestones for the baby's current age band.
| Age | Example milestones |
|---|---|
| 0โ3 months | Lifts head briefly during tummy time; follows objects with the eyes; responds to sounds; begins to smile at people |
| 3โ6 months | Rolls from tummy to back; begins to sit with support; reaches for and grasps toys; babbles |
| 6โ9 months | Sits without support; begins to crawl; transfers objects between hands; responds to own name |
| 9โ12 months | Pulls to standing; may take first steps; says first words such as "mama" or "dada"; understands simple commands |
| 12โ18 months | Walks independently; climbs stairs with help; says several single words; drinks from a cup |
| 18โ24 months | Runs and climbs; kicks a ball; begins to combine words; follows two-step instructions |
| 24โ36 months | Jumps with both feet; pedals a tricycle; speaks in sentences; plays simple pretend games |
Every baby reaches milestones at a somewhat different pace. These lists describe common ranges, not a strict schedule.
Premature babies
For a baby born before 37 weeks of pregnancy, many pediatricians recommend using "corrected age" rather than the age since birth, at least for the first two years. Corrected age is calculated by subtracting the number of weeks born early from the baby's current age. A baby who is 6 months old but was born 8 weeks early has a corrected age of about 4 months. Entering the corrected age into the calculator gives a percentile that accounts for the early start.
Frequently asked questions
What does a percentile mean? A percentile shows how a baby's measurement compares with other babies of the same age and sex. A weight at the 40th percentile means about 40 out of 100 babies that age weigh less, and about 60 weigh more. It is not a grade or a score to maximize.
Does this calculator work for toddlers, or only infants? It covers the full 0 to 36 month range using WHO growth standards, so it works for both infants and toddlers up to age 3.
Is a low percentile a problem? Not by itself. Many healthy babies sit consistently at the 10th or 20th percentile. What matters most is a steady pattern over time along roughly the same percentile, rather than a single number. A percentile below the 3rd, or a sharp drop across two or more percentile bands, is what pediatricians usually want to check.
Why did my baby's percentile change a lot between visits? Babies often shift percentiles during the first 18 months as they settle into their genetic growth pattern. A small shift is usually normal. A large or sudden drop, especially with other symptoms like poor feeding, is worth discussing with a pediatrician.
Can I enter a baby's age in weeks instead of months? The input field expects months, but it accepts decimals, so weeks can be converted first by dividing the number of days by about 30.4 (the average length of a month).
Why does height use two different measuring methods? WHO measured babies lying down (length) up to 24 months and standing up (height) from 24 months on, since a toddler can usually stand still enough for an accurate standing measurement. Standing height is naturally a little shorter than recumbent length for the same child, which the calculator's reference values already account for.