{
  "schemaVersion": 1,
  "slug": "bmi-calculator",
  "category": "health",
  "kind": "implementation",
  "independentValidation": false,
  "implementationHash": "5e507f5d67f604cb6cfdb05df00beed2127f43d08ff6942d82fd7a7ce6656d79",
  "provenance": "Generated from the calculation contract used by the published page. Publication is not external validation.",
  "sourceFiles": [
    "data/calculators/bmi-calculator.json",
    "src/engine.js"
  ],
  "runtimeSource": "/sources/engine.txt",
  "runtimeHash": "5c888d8898afbdee36267bb9977829e1e2ac568f6677c8ee87469c139864645c",
  "scope": "The compute function records implemented equations, constants, lookup tables and custom rules. Inputs record defaults and allowed values; outputs record precision and units. Defaults are examples, not recommendations. General background references are not evidence for this specific algorithm.",
  "publishedFormula": {
    "formula": "BMI = w / h²    (w: kg, h: m)",
    "vars": [
      [
        "w",
        "Body weight in kilograms"
      ],
      [
        "h",
        "Height in meters (input centimeters are divided by 100)"
      ],
      [
        "BMI",
        "Body mass index, in kg/m²"
      ]
    ],
    "note": "This page accepts kilograms and centimeters only; height is converted to meters before squaring. The chart uses adult screening bands: below 18.5, 18.5 to below 25, 25 to below 30, and 30 or above. These bands apply to adults aged 20 or older. BMI does not measure body fat directly and is not a diagnosis; children and teens need age- and sex-specific interpretation."
  },
  "externalEvidence": {
    "reviewedAt": "2026-10-27",
    "sources": [
      {
        "name": "CDC — BMI calculation and interpretation",
        "url": "https://www.cdc.gov/bmi/faq/"
      },
      {
        "name": "CDC — Adult BMI categories",
        "url": "https://www.cdc.gov/bmi/adult-calculator/bmi-categories.html"
      },
      {
        "name": "WHO — Body mass index (BMI)",
        "url": "https://www.who.int/data/gho/data/themes/topics/topic-details/GHO/body-mass-index"
      }
    ],
    "basis": "BMI = weight(kg) / height(m)². Adult screening bands: <18.5 underweight, 18.5–<25 normal, 25–<30 overweight, ≥30 obese (CDC adult categories; WHO uses the same cut-points for these four adult groups).",
    "limitations": "Adult screening only (age 20+). Does not measure body fat, distinguish muscle from fat, or diagnose disease. Children and teens need age- and sex-specific BMI-for-age charts."
  },
  "contract": {
    "compute": "if(!Number.isFinite(weight)||!Number.isFinite(height)||weight<=0||height<=0)return{bmi:null,__error:'inputError'};return{bmi:weight/Math.pow(height/100,2)};",
    "inputs": [
      {
        "name": "weight",
        "type": "number",
        "default": 70,
        "min": 1,
        "max": 500,
        "step": 0.1,
        "slider": true,
        "strictRange": true
      },
      {
        "name": "height",
        "type": "number",
        "default": 170,
        "min": 50,
        "max": 250,
        "step": 0.5,
        "slider": true,
        "strictRange": true
      }
    ],
    "outputs": [
      {
        "name": "bmi",
        "precision": 1,
        "unit": ""
      }
    ],
    "interpret": [
      {
        "max": 18.5,
        "key": "underweight"
      },
      {
        "max": 25,
        "key": "normal"
      },
      {
        "max": 30,
        "key": "overweight"
      },
      {
        "max": 999,
        "key": "obese"
      }
    ]
  }
}
