| Metric / Field | Value | Copy |
|---|---|---|
| {{ row.label }} | {{ row.value }} |
| Reference | Ratio | Waist at this height | Current gap | How to read it |
|---|---|---|---|---|
| {{ row.label }} | {{ row.ratio }} | {{ row.waist }} | {{ row.status }} {{ row.gap }} | {{ row.meaning }} |
Waist-to-height ratio, often shortened to WHtR, compares waist circumference with height to give a quick screen of central adiposity. That matters because abdominal fat can carry health risk that is not always obvious from body weight alone, especially when the question is where fat is carried rather than how much a person weighs.
This calculator turns that screen into a planning view. It converts the entered waist and height into centimeters, divides waist by height, places the result into either a NICE-style threshold model or a more granular legacy band model, and then converts a chosen goal ratio into a target waist and weekly pace over a custom time horizon.
The package is built for more than one kind of check. Adults can use it for a screening snapshot, clinicians can turn goal ratios into target waists, and the child or teen context keeps the arithmetic the same while changing the caution language.
The summary box keeps the headline clear: current ratio, current band, selected model, selected context, distance to goal, and a caution count. From there the tabs branch into a screening table, two charts, an action brief, and JSON output that can be copied or downloaded.
The important boundary is that this remains a screening aid. The NHS says waist-to-height ratio should not be used during pregnancy, for children under 5, or for adults whose BMI is above 35, and NICE treats it as an additional predictor rather than a diagnosis. The tool reflects those limits with context notes and warnings instead of pretending the ratio answers every question by itself.
The basic workflow is simple: measure waist, enter height, choose the matching units, and read the ratio. The tooltip guidance is practical rather than abstract. Waist is measured at the midpoint between the lowest rib and the top of the hip, height is taken standing without shoes, and the code will convert centimeters, meters, inches, or feet into one common scale before it calculates anything.
The first decision is the risk model. NICE two-threshold model keeps the interpretation close to the widely quoted action points at 0.5 and 0.6, so it works well when you want a short screening conversation. Legacy four-band model adds a lower band below 0.40 and a separate healthy band from 0.40 to below 0.50, which is useful when you want a more graduated label instead of one broad below-threshold zone.
The second decision is whether you want the ratio only or an actual plan. When you set a Goal ratio and Weeks, the package converts that target back into a goal waist and calculates the weekly waist change needed to get there. The Pace guardrail then checks whether that implied weekly change exceeds the limit you consider reasonable.
The optional weight field does not change the WHtR itself. It only adds a BMI cross-check so the action brief can warn when BMI is high enough that the NHS says WHtR becomes less informative.
The core calculation is direct. Waist is converted to centimeters, height is converted to centimeters, and the ratio is waist divided by height. The package does not allow negative or zero values to contribute to the result, so the ratio only becomes active when both normalized measurements are above zero.
Two interpretation models sit on top of that arithmetic. In NICE mode the code groups all values below 0.50 into one lower-risk zone, labels 0.50 to below 0.60 as increased risk, and labels 0.60 or higher as high risk. In legacy mode it splits the lower end into 0.30 to below 0.40 for low central fat, 0.40 to below 0.50 for a healthy range, then keeps the same 0.50 and 0.60 boundaries for increased and high risk.
Those bands are deliberately package-specific. NICE guidance emphasizes 0.5 as the main action boundary, treats 0.50 to 0.59 as increased risk, and notes a further rise from 0.60 upward. The package mirrors those action points in NICE mode, while the legacy mode adds an extra low-end split.
| Model | Band | Range | Meaning in the package |
|---|---|---|---|
| NICE | Lower-risk zone | 0.30 to < 0.50 | Below the main action threshold. |
| NICE | Increased-risk zone | 0.50 to < 0.60 | Matches the package warning language for rising central adiposity risk. |
| NICE | High-risk zone | 0.60 to 0.85 | Highest band in the default screening model. |
| Legacy | Low central fat | 0.30 to < 0.40 | Extra low-end band not shown in NICE mode. |
| Legacy | Healthy range | 0.40 to < 0.50 | Separates ordinary lower-risk readings from especially leaner ones. |
| Legacy | Increased risk / High risk | 0.50 to 0.85 | Uses the same upper thresholds as NICE mode. |
The planning layer applies a few bounds before it reports a goal. Goal ratio is clamped to 0.35 to 0.75, Weeks is clamped to 2 through 104, and the pace guardrail is clamped to 0.2 through 3 centimeters per week. The package also computes an internal risk score from 0 to 100 by mapping the current ratio across the 0.35 to 0.75 interval used by the gauge chart.
Warnings come from context and plausibility checks, not just from the ratio band. The code warns for unusual height or waist values, adult or child profile mismatches against age, pregnancy context, BMI at or above 35 when weight is supplied, and weekly pace requirements above the chosen guardrail.
The three context profiles do not change the ratio formula itself. They change the wording of the action brief and the caution logic. Adult mode speaks in NICE-style screening terms. Child or teen mode reminds you that WHtR can support screening from age 5 upward but should be read with pediatric growth context. Pregnancy mode keeps the arithmetic visible but explicitly warns that WHtR alone is not suitable there.
All visible calculations happen in the browser. There is no package-specific server call for the ratio, charts, or exports. CSV, DOCX, chart-image, and JSON exports are produced locally, and the shared query-parameter mixin mirrors the current inputs into the page URL so a result can be revisited with the same settings.
The most important number is still the ratio itself. In NICE mode, anything below 0.50 stays in the package's lower-risk zone, 0.50 to below 0.60 moves into increased risk, and 0.60 or higher moves into high risk. In legacy mode, values below 0.50 are split into two bands so you can distinguish a lower reading from a more typical healthy range.
The planning fields answer a different question: how far the current waist sits from the chosen target ratio. If the waist gap is positive, the package shows the centimeters to target and the implied weekly pace. If the waist gap is zero or negative, the summary flips to an at-or-below-target message and the pace line becomes a maintenance checkpoint.
The action brief is useful because it keeps those ideas separate. It breaks the output into current risk lane, target pace, BMI when available, and context note instead of flattening everything into one impression.
Take the default-style example of a waist of 84 cm and a height of 172 cm. The ratio is 84 รท 172 = 0.488. In NICE mode that stays below 0.50, so the package places it in the lower-risk zone.
If the goal ratio is left at 0.50, the target waist becomes 86.0 cm. Because the current waist is already 2.0 cm below that goal, the summary switches to the at-or-below-target message instead of asking for any weekly reduction pace.
Now use a waist of 96 cm and a height of 170 cm. The ratio is 0.565, which lands in the increased-risk band in NICE mode. With a goal ratio of 0.50, the target waist becomes 85.0 cm, so the gap to goal is 11.0 cm.
If the horizon is 16 weeks, the implied weekly pace is about 0.69 cm per week. That may be acceptable or it may trigger a warning, depending on the pace guardrail you set. The package is doing two jobs at once here: classifying the current screening result and showing the practical pace that a chosen target would require.
Suppose a 12-year-old has a waist of 70 cm and a height of 150 cm. The ratio is 0.467, so the raw number is below 0.50. The package can still calculate and classify it, but the context note reminds you that younger users need pediatric growth context and that WHtR is being used as a supplement rather than a standalone judgment.
No. Weight is optional and only feeds the BMI cross-check. The ratio itself uses waist and height only.
Because the package treats NICE mode as an action-threshold view centered on 0.5 and 0.6, while legacy mode adds a lower split below 0.50 for users who want more granularity.
Not necessarily. It means the result is below the package's main action threshold in NICE mode, but context still matters. Measurement technique, age, pregnancy, growth conditions, and BMI can all change how useful the number is.
Warnings can come from unusual measurements, an age and profile mismatch, pregnancy context, BMI at or above 35, or a target pace that exceeds the chosen guardrail.
No. The gauge chart shows where the current ratio sits across the configured risk span, and the ring chart shows the implemented band widths together with the current and goal markers. Both can also be exported as images or CSV.