This page contains affiliate links. We may earn a commission at no extra cost to you if you make a purchase through these links. Our editorial opinions remain independent.
BMI Calculator
Your Body Mass Index (BMI) is a simple number derived from your height and weight that helps gauge whether you are in a healthy weight range. Use this free calculator to find your BMI instantly — no sign-up required. Toggle between Imperial (lb/ft) and Metric (kg/cm), and get a color-coded result along with your healthy weight range and a personalized goal panel.
<!-- Imperial Inputs -->
<div id="bmi-imperial-inputs">
<div class="bmi-grid">
<div class="bmi-field">
<label>Height</label>
<div class="bmi-height-imperial">
<input type="number" id="imp-ft" placeholder="5" min="1" max="8" inputmode="decimal">
<span>ft</span>
<input type="number" id="imp-in" placeholder="7" min="0" max="11" inputmode="decimal">
<span>in</span>
</div>
</div>
<div class="bmi-field">
<label>Weight (lbs)</label>
<input type="number" id="imp-lbs" placeholder="154" min="1" max="1000" inputmode="decimal">
</div>
<div class="bmi-field">
<label>Age (optional)</label>
<input type="number" id="imp-age" placeholder="30" min="2" max="120" inputmode="decimal">
</div>
<div class="bmi-field">
<label>Gender</label>
<div class="bmi-gender-row">
<label><input type="radio" name="bmi-gender-imp" value="male" checked> Male</label>
<label><input type="radio" name="bmi-gender-imp" value="female"> Female</label>
</div>
</div>
</div>
</div>
<!-- Metric Inputs -->
<div id="bmi-metric-inputs" style="display:none">
<div class="bmi-grid">
<div class="bmi-field">
<label>Height (cm)</label>
<input type="number" id="met-cm" placeholder="170" min="50" max="300" inputmode="decimal">
</div>
<div class="bmi-field">
<label>Weight (kg)</label>
<input type="number" id="met-kg" placeholder="70" min="1" max="500" inputmode="decimal">
</div>
<div class="bmi-field">
<label>Age (optional)</label>
<input type="number" id="met-age" placeholder="30" min="2" max="120" inputmode="decimal">
</div>
<div class="bmi-field">
<label>Gender</label>
<div class="bmi-gender-row">
<label><input type="radio" name="bmi-gender-met" value="male" checked> Male</label>
<label><input type="radio" name="bmi-gender-met" value="female"> Female</label>
</div>
</div>
</div>
</div>
<button class="bmi-calc-btn" onclick="bmiCalculate()">Calculate My BMI</button>
<!-- Big Number -->
<div class="bmi-card" style="padding:0;overflow:hidden">
<div id="bmi-number-wrap" class="bmi-result-number-wrap" style="margin:0;border-radius:0">
<div id="bmi-number" class="bmi-result-number">--</div>
<div id="bmi-cat-text" class="bmi-result-label">--</div>
</div>
<div style="padding:1.25rem">
<!-- Scale Bar -->
<div class="bmi-scale-wrap">
<div class="bmi-scale-label">BMI Scale</div>
<div class="bmi-scale-track">
<div id="bmi-pointer" class="bmi-scale-pointer" style="left:0%"></div>
</div>
<div class="bmi-scale-ticks">
<span>10</span>
<span>18.5</span>
<span>25</span>
<span>30</span>
<span>40+</span>
</div>
</div>
<!-- Info Boxes -->
<div class="bmi-info-grid">
<div class="bmi-info-box">
<div class="bmi-info-box-title">Your BMI</div>
<div class="bmi-info-box-value" id="bmi-info-number">--</div>
</div>
<div class="bmi-info-box">
<div class="bmi-info-box-title">Category</div>
<div class="bmi-info-box-value" id="bmi-info-cat">--</div>
</div>
<div class="bmi-info-box">
<div class="bmi-info-box-title">Healthy Weight Range</div>
<div class="bmi-info-box-value" id="bmi-info-range">--</div>
</div>
<div class="bmi-info-box">
<div class="bmi-info-box-title">Your Weight</div>
<div class="bmi-info-box-value" id="bmi-info-weight">--</div>
</div>
</div>
<!-- Goal Panel -->
<div id="bmi-goal-panel" class="bmi-goal-panel bmi-on-track">
<div class="bmi-goal-title" id="bmi-goal-title">Status</div>
<div class="bmi-goal-text" id="bmi-goal-text"></div>
</div>
</div>
</div>
<!-- Chart Reference -->
<div class="bmi-card">
<div class="bmi-chart-title">BMI Category Reference Chart</div>
<table class="bmi-chart-table">
<thead>
<tr><th>Category</th><th>BMI Range</th></tr>
</thead>
<tbody id="bmi-chart-body">
<tr data-cat="underweight"><td>Underweight</td><td>< 18.5</td></tr>
<tr data-cat="normal"><td>Normal</td><td>18.5 – 24.9</td></tr>
<tr data-cat="overweight"><td>Overweight</td><td>25.0 – 29.9</td></tr>
<tr data-cat="obese1"><td>Obese Class I</td><td>30.0 – 34.9</td></tr>
<tr data-cat="obese2"><td>Obese Class II</td><td>35.0 – 39.9</td></tr>
<tr data-cat="obese3"><td>Obese Class III</td><td>≥ 40.0</td></tr>
</tbody>
</table>
</div>
BMI is a screening tool, not a diagnostic measure. It does not account for muscle mass, bone density, or fat distribution. Consult a qualified healthcare professional for personalized health and weight advice.
Related Tools
- Create a monthly budget → Budget Planner
- Calculate any percentage → Percentage Calculator
