⚖️ BMI Calculator

🔧 Mode

📏 Units

{{ operation === 'compare' ? '👤 Person A' : '👤 Body measurements' }}

👤 Person B

📤 Result

{{ primaryOutput }}

📊 BMI Detail

BMI
{{ computeResult.bmi }}
Category
{{ computeResult.category }}
Weight
{{ computeResult.weightKg }} kg ({{ computeResult.weightLb }} lb)
Height
{{ computeResult.heightM }} m ({{ computeResult.heightIn }} in)
Interpretation
{{ computeResult.interpretation }}

BMI scale (10 → 50)

1018.52530354050

Healthy weight range for this height (BMI 18.5–24.9)

{{ computeResult.healthyWeightRange.minKg }} – {{ computeResult.healthyWeightRange.maxKg }} kg ({{ computeResult.healthyWeightRange.minLb }} – {{ computeResult.healthyWeightRange.maxLb }} lb)

🎯 Target Weight

Target BMI
{{ reverseResult.targetBmi }}
Height
{{ reverseResult.heightM }} m ({{ reverseResult.heightIn }} in)
Required weight
{{ reverseResult.weightKg }} kg ({{ reverseResult.weightLb }} lb)

This is the weight required to reach the target BMI at the given height. The healthy BMI range is 18.5–24.9.

🆚 Comparison

Metric Person A Person B
BMI {{ compareResult.a.bmi }} {{ compareResult.b.bmi }}
Category {{ compareResult.a.category }} {{ compareResult.b.category }}
Weight {{ compareResult.a.weightKg }} kg {{ compareResult.b.weightKg }} kg
Height {{ compareResult.a.heightM }} m {{ compareResult.b.heightM }} m
Δ BMI (B − A)
{{ compareResult.delta }}
Percent change
{{ compareResult.percentChange }}%
Same category?
{{ compareResult.sameCategory ? 'Yes' : 'No' }}
⚠️

ℹ️ About BMI Calculator

What is BMI?

Body Mass Index (BMI) is a height-normalized weight measure used to screen adult weight status. It divides body weight by height squared and reports the result in kilograms per square metre (kg/m²). Public health agencies use BMI because it is quick, inexpensive, and comparable across large adult populations, but it is a screening measure rather than a diagnosis.

Health calculation use cases

  • Estimate an adult BMI category from current height and weight.
  • Check the healthy weight range for a fixed height.
  • Compare two measurements, such as before and after a training or weight-management period.
  • Find the weight that would correspond to a target BMI.
  • Prepare a consistent number to discuss with a clinician, dietitian, or wellness programme.

Formula and unit details

  • Metric: BMI = weightKg / (heightM)². If height is entered in centimetres, convert with heightM = heightCm / 100, or use (weightKg / heightCm / heightCm) × 10000.
  • Imperial: BMI = (weightLb / heightIn²) × 703. The 703 factor converts pounds and inches to the same kg/m² scale used by the metric formula.
  • Healthy weight range for a given height is the adult weight interval that produces BMI 18.5 to 24.9: min = 18.5 × m² and max = 24.9 × m².
  • Target weight: weightKg = targetBmi × heightM². The tool converts the result back to pounds when imperial units are selected.

Worked examples

  • Metric BMI: 75 kg at 181 cm is 75 / 1.81² = 22.89, which falls in the normal adult range.
  • Imperial BMI: 165 lb at 5 ft 11 in is (165 / 71²) × 703 = 23.01, also in the normal adult range.
  • Healthy range: at 1.81 m, BMI 18.5 to 24.9 corresponds to roughly 60.6 kg to 81.5 kg.

Adult BMI categories

BMI (kg/m²) Category Health risk
< 16.0Severe thinnessVery high (undernutrition)
16.0 – 16.9Moderate thinnessHigh
17.0 – 18.4Mild thinnessModerate
18.5 – 24.9Normal weightBaseline (healthy range)
25.0 – 29.9Overweight (pre-obese)Increased
30.0 – 34.9Obese class IModerate-to-high
35.0 – 39.9Obese class IISevere
≥ 40.0Obese class IIIVery severe

These are adult screening categories based on international BMI thresholds. Regional and clinical guidance can use different action points; for example, WHO expert consultation material identifies lower public-health action points for many Asian populations.

Limitations and medical note

BMI was developed in the 1830s by Adolphe Quetelet as a statistical descriptor of populations, not a diagnostic test for individuals. It is useful as a simple screening number, but it has important limitations:

  • Does not distinguish fat from lean mass. Muscular athletes may score as overweight or obese despite low body-fat percentages.
  • Can miss age and sex differences. Body composition changes with age and differs between people, while the basic adult categories use the same numeric thresholds.
  • Ignores fat distribution. Visceral (abdominal) fat is a stronger cardiovascular risk factor than total mass, but BMI cannot measure it. Waist-to-height or waist-to-hip ratios complement BMI for that reason.
  • Ethnic variation. Health-risk thresholds can differ between populations, so local guidance may use lower or additional action points.
  • Not for children, teens, or pregnancy. Children and teens need BMI-for-age percentiles; pregnancy, edema, and certain medical conditions require clinician-specific assessment.

This calculator is for general information and is not medical advice. Treat any BMI result as a screening signal, not a diagnosis; ask a qualified health professional how BMI applies to your personal history, body composition, symptoms, medications, and lab results.

Privacy note: the interactive calculator runs in your browser after the page loads. If you use the public API example instead, the submitted measurements are sent to the server for processing, so do not submit health information you do not intend to transmit.

References

  • WHO — Obesity and overweight, including the BMI formula and adult overweight / obesity thresholds: who.int.
  • CDC — Adult BMI Categories: cdc.gov.
  • CDC — BMI Frequently Asked Questions, including hand formulas and screening limitations: cdc.gov.
  • US NIH / NHLBI — Calculate Your BMI: nhlbi.nih.gov.
  • WHO Expert Consultation — Asian-population BMI action points (Lancet abstract via PubMed): pubmed.ncbi.nlm.nih.gov.
  • History — A. Quetelet, Sur l’homme et le développement de ses facultés (1835); Keys et al., Indices of relative weight and obesity, J. Chron. Dis. 25 (1972), 329–343 (where “Quetelet Index” was renamed BMI).

API Usage Example:

POST /api/tools/math/bmi-calculator
Content-Type: application/json

{
    "operation": "compute",
    "unitSystem": "metric",
    "weight": 75,
    "height": 1.81
}
Ready