How to Calculate Height and Weight from Bmi

How to Calculate Height and Weight from BMI | Reverse BMI Calculator :root { –primary: #004a99; –primary-dark: #003366; –success: #28a745; –bg-light: #f8f9fa; –text-dark: #333333; –border-color: #dee2e6; –white: #ffffff; –shadow: 0 4px 6px rgba(0,0,0,0.1); } * { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; background-color: var(–bg-light); color: var(–text-dark); line-height: 1.6; } .container { max-width: 960px; margin: 0 auto; padding: 20px; } /* Header */ header { text-align: center; margin-bottom: 40px; padding: 20px 0; border-bottom: 2px solid var(–primary); } h1 { color: var(–primary); font-size: 2.2rem; margin-bottom: 10px; } .subtitle { font-size: 1.1rem; color: #666; } /* Calculator Styles */ .calculator-wrapper { background: var(–white); border-radius: 8px; box-shadow: var(–shadow); padding: 30px; margin-bottom: 50px; border-top: 5px solid var(–primary); } .calc-header { margin-bottom: 25px; padding-bottom: 15px; border-bottom: 1px solid var(–border-color); } .calc-header h2 { font-size: 1.5rem; color: var(–primary-dark); } .input-section { margin-bottom: 30px; } .input-group { margin-bottom: 20px; } .input-group label { display: block; font-weight: 600; margin-bottom: 8px; color: var(–text-dark); } .input-group input, .input-group select { width: 100%; padding: 12px; border: 1px solid var(–border-color); border-radius: 4px; font-size: 1rem; transition: border-color 0.3s; } .input-group input:focus, .input-group select:focus { outline: none; border-color: var(–primary); box-shadow: 0 0 0 3px rgba(0, 74, 153, 0.1); } .helper-text { font-size: 0.85rem; color: #666; margin-top: 5px; } .error-msg { color: #dc3545; font-size: 0.85rem; margin-top: 5px; display: none; } .btn-group { display: flex; gap: 15px; margin-top: 25px; } .btn { padding: 12px 24px; border: none; border-radius: 4px; font-size: 1rem; cursor: pointer; font-weight: 600; transition: background 0.3s; } .btn-reset { background-color: #6c757d; color: white; } .btn-reset:hover { background-color: #5a6268; } .btn-copy { background-color: var(–primary); color: white; } .btn-copy:hover { background-color: var(–primary-dark); } /* Results Area */ .results-container { background-color: #f1f8ff; border: 1px solid #cce5ff; border-radius: 6px; padding: 25px; margin-top: 30px; } .main-result { text-align: center; margin-bottom: 25px; } .main-result h3 { font-size: 1.1rem; color: var(–primary); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 10px; } .result-value { font-size: 2.5rem; font-weight: 700; color: var(–primary-dark); } .result-unit { font-size: 1.2rem; color: #555; } .metrics-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; margin-bottom: 20px; } .metric-card { background: white; padding: 15px; border-radius: 4px; box-shadow: 0 2px 4px rgba(0,0,0,0.05); text-align: center; } .metric-label { font-size: 0.9rem; color: #666; margin-bottom: 5px; } .metric-val { font-size: 1.2rem; font-weight: 600; color: var(–text-dark); } .formula-box { background: white; padding: 15px; border-left: 4px solid var(–success); margin-top: 20px; font-size: 0.95rem; } /* Charts & Tables */ .visual-section { margin-top: 40px; } .chart-container { position: relative; height: 300px; width: 100%; margin-bottom: 30px; background: white; border: 1px solid var(–border-color); border-radius: 4px; padding: 15px; } .data-table { width: 100%; border-collapse: collapse; margin-top: 20px; background: white; box-shadow: 0 1px 3px rgba(0,0,0,0.1); } .data-table th, .data-table td { padding: 12px; text-align: left; border-bottom: 1px solid #dee2e6; } .data-table th { background-color: var(–primary); color: white; font-weight: 600; } .data-table caption { margin-bottom: 10px; font-weight: 600; color: #555; text-align: left; } /* Content Styles */ .content-article { background: white; padding: 40px; border-radius: 8px; box-shadow: var(–shadow); } .content-article h2 { color: var(–primary-dark); margin-top: 40px; margin-bottom: 20px; font-size: 1.8rem; border-bottom: 1px solid #eee; padding-bottom: 10px; } .content-article h3 { color: var(–text-dark); margin-top: 30px; margin-bottom: 15px; font-size: 1.4rem; } .content-article p { margin-bottom: 20px; font-size: 1.05rem; } .content-article ul, .content-article ol { margin-bottom: 20px; padding-left: 25px; } .content-article li { margin-bottom: 10px; } .info-table { width: 100%; border-collapse: collapse; margin: 25px 0; } .info-table th, .info-table td { border: 1px solid #dee2e6; padding: 12px; text-align: left; } .info-table th { background-color: #f1f8ff; color: var(–primary-dark); } .faq-item { margin-bottom: 25px; } .faq-question { font-weight: 700; color: var(–primary); margin-bottom: 8px; display: block; } .related-links { background-color: #f8f9fa; padding: 25px; border-radius: 6px; margin-top: 40px; } .related-links a { color: var(–primary); text-decoration: none; font-weight: 600; } .related-links a:hover { text-decoration: underline; } .related-list { list-style: none; padding: 0; } .related-list li { margin-bottom: 15px; border-bottom: 1px solid #e9ecef; padding-bottom: 10px; } footer { text-align: center; padding: 40px 0; color: #666; margin-top: 40px; border-top: 1px solid #dee2e6; } /* Responsive */ @media (max-width: 768px) { .content-article { padding: 20px; } .btn-group { flex-direction: column; } .btn { width: 100%; } }

Calculate Height and Weight from BMI

Reverse BMI Calculation Tool for Health Planning

Reverse BMI Calculator

Determine your target weight based on height and desired BMI, or vice versa.

Target Weight (from Height & BMI) Required Height (from Weight & BMI)
Metric (kg, cm) Imperial (lbs, ft/in)
Standard normal range is 18.5 to 24.9
Please enter a valid BMI (10-60).
Enter your height in centimeters.
Enter feet and inches.
Enter your weight in kilograms.

Calculated Target Weight

67.4
kg
BMI Category
Normal
Used Height
175 cm
Used BMI
22.0
Calculation: Weight = 22.0 × (1.75)² = 67.4 kg

BMI Range Visualization

Weight Ranges for Your Height
Category BMI Range Target Weight Range

What is how to calculate height and weight from bmi?

Understanding how to calculate height and weight from bmi is a crucial skill for health planning, fitness goal setting, and medical analysis. While Body Mass Index (BMI) is typically calculated by inputting a known height and weight, the formula can be rearranged algebraically to solve for either variable if the target BMI is known.

This process is often called "reverse BMI calculation." It is widely used by nutritionists, personal trainers, and individuals who have a specific BMI goal recommended by a doctor and need to know exactly what weight they must achieve to reach that metric. It removes the guesswork from weight management by providing precise mathematical targets based on the established BMI scale.

How to Calculate Height and Weight from BMI: The Formulas

The core BMI formula is simple physics. Depending on the measurement system you use (Metric or Imperial), the constants change, but the relationship remains the same. Here is the mathematical breakdown of how to calculate height and weight from bmi.

1. Solving for Weight (Target Weight)

If you know your height and have a target BMI, you can calculate the required weight.

Metric System:
Weight (kg) = BMI × (Height in meters)²

Imperial System:
Weight (lbs) = (BMI × (Height in inches)²) / 703

2. Solving for Height

Although less common for adults (since height is fixed), this is useful for theoretical modeling or determining growth targets for children.

Metric System:
Height (m) = √(Weight in kg / BMI)

Imperial System:
Height (in) = √((Weight in lbs × 703) / BMI)

Variable Definitions

Variable Meaning Unit (Metric) Unit (Imperial)
BMI Body Mass Index kg/m² lbs/in² × 703
Weight Body Mass Kilograms (kg) Pounds (lbs)
Height Vertical Stature Meters (m) or cm Inches (in)

Practical Examples of How to Calculate Height and Weight from BMI

Example 1: Finding Ideal Weight (Metric)

Scenario: John is 180 cm (1.80 m) tall. His doctor recommends a BMI of 23 for optimal heart health. He wants to know his target weight.

  1. Identify Variables: Height = 1.80 m, Target BMI = 23.
  2. Apply Formula: Weight = 23 × (1.80)².
  3. Calculate Square: 1.80 × 1.80 = 3.24.
  4. Final Calculation: 23 × 3.24 = 74.52 kg.
  5. Result: John should aim for approximately 74.5 kg to achieve a BMI of 23.

Example 2: Reverse Engineering Height (Imperial)

Scenario: A health study requires a subject weighing 150 lbs to have a BMI of exactly 20. What height must this subject be?

  1. Identify Variables: Weight = 150 lbs, BMI = 20.
  2. Apply Formula: Height (in) = √((150 × 703) / 20).
  3. Inner Math: 150 × 703 = 105,450.
  4. Divide by BMI: 105,450 / 20 = 5,272.5.
  5. Square Root: √5,272.5 ≈ 72.6 inches.
  6. Result: The subject must be approximately 6 feet tall (72.6 inches).

How to Use This Reverse BMI Calculator

Our tool simplifies the math involved in how to calculate height and weight from bmi. Follow these steps:

  1. Select Mode: Choose whether you want to calculate "Target Weight" or "Required Height".
  2. Choose System: Toggle between Metric (kg/cm) and Imperial (lbs/ft).
  3. Enter Target BMI: Input your desired BMI. Standard healthy range is 18.5 to 24.9.
  4. Input Known Value: Enter your current height (if solving for weight) or weight (if solving for height).
  5. Analyze Results: The calculator instantly displays the result. Use the chart to see where this falls compared to other BMI categories.

Key Factors That Affect BMI Results

When learning how to calculate height and weight from bmi, consider these financial and biological factors that influence the utility of the result:

  1. Muscle Mass vs. Fat: BMI does not distinguish between muscle and fat. A high weight calculated from a high BMI might be healthy for an athlete but unhealthy for a sedentary person.
  2. Age and Gender: Older adults often lose muscle mass. A "normal" BMI might mask metabolic obesity. Women generally carry more body fat than men at the same BMI.
  3. Bone Density: Individuals with dense bone structures may weigh more than the formula suggests for a given visual size.
  4. Fluid Retention: Daily weight fluctuations due to hydration or salt intake can skew your tracking against the calculated target.
  5. Health Insurance Premiums: Some life insurance policies use BMI bands to determine premiums. Knowing your specific weight cutoff can have direct financial implications on insurance costs.
  6. Clothing Costs: Significant weight changes to meet a BMI target often require a new wardrobe, a hidden financial cost of health transformation.

Frequently Asked Questions (FAQ)

Can I calculate my exact weight from BMI?

Yes, if you have an accurate height measurement and a specific BMI number, you can calculate the exact weight required to meet that BMI using the reverse formula provided above.

What is the healthiest BMI to aim for?

Generally, a BMI between 18.5 and 24.9 is considered normal weight. However, 22 is often cited as a median "ideal" target for calculation purposes.

Why is my calculated weight different from my actual weight?

If you input your current BMI and height, the result should match your weight. If you input a *target* BMI, the result represents a goal, not your current state.

Does this formula work for children?

The math is the same, but the interpretation of BMI for children (ages 2-19) differs significantly and is based on percentiles, not fixed numbers.

Is BMI accurate for bodybuilders?

No. Muscle is denser than fat. A bodybuilder may calculate a "Normal" weight using this formula that is far too low for their muscle mass.

How does knowing this help financially?

Maintaining a healthy BMI can lower life insurance premiums, reduce long-term healthcare costs, and improve productivity, directly impacting your personal finances.

Do I need to convert inches to meters?

Our calculator handles all conversions. If calculating manually, you must convert units to match the formula specific to the system (Metric uses meters, Imperial uses inches).

What is the "New BMI" formula?

Some researchers propose a new formula (1.3 x weight / height^2.5) to better account for taller individuals. However, the standard formula used here is the global medical standard.

© 2023 Financial Health Tools. All rights reserved.

// Global Variables var currentMode = 'weight'; // 'weight' or 'height' var currentSystem = 'metric'; // 'metric' or 'imperial' var chartInstance = null; // Initialization window.onload = function() { calculateResults(); }; function toggleInputs() { var mode = document.getElementById('calcMode').value; currentMode = mode; var heightGroup = document.getElementById('heightInputGroup'); var weightGroup = document.getElementById('weightInputGroup'); if (mode === 'weight') { // Solving for Weight, need Height input heightGroup.style.display = 'block'; weightGroup.style.display = 'none'; document.getElementById('resultTitle').innerText = "Calculated Target Weight"; document.getElementById('tableResultHeader').innerText = "Target Weight Range"; } else { // Solving for Height, need Weight input heightGroup.style.display = 'none'; weightGroup.style.display = 'block'; document.getElementById('resultTitle').innerText = "Calculated Required Height"; document.getElementById('tableResultHeader').innerText = "Height Range"; } calculateResults(); } function toggleUnits() { var system = document.getElementById('unitSystem').value; currentSystem = system; var metricHeight = document.getElementById('metricHeightInput'); var imperialHeight = document.getElementById('imperialHeightInput'); var weightLabel = document.getElementById('weightLabel'); var heightLabel = document.getElementById('heightLabel'); var weightHelper = document.getElementById('weightHelper'); if (system === 'metric') { metricHeight.style.display = 'block'; imperialHeight.style.display = 'none'; weightLabel.innerText = "Weight (kg):"; heightLabel.innerText = "Height (cm):"; weightHelper.innerText = "Enter your weight in kilograms."; // Convert existing values for UX smoothness var lbs = parseFloat(document.getElementById('weightVal').value); if (!isNaN(lbs)) document.getElementById('weightVal').value = (lbs / 2.20462).toFixed(1); } else { metricHeight.style.display = 'none'; imperialHeight.style.display = 'block'; weightLabel.innerText = "Weight (lbs):"; heightLabel.innerText = "Height (ft/in):"; weightHelper.innerText = "Enter your weight in pounds."; // Convert existing values var kg = parseFloat(document.getElementById('weightVal').value); if (!isNaN(kg)) document.getElementById('weightVal').value = (kg * 2.20462).toFixed(1); } calculateResults(); } function updateTotalInches() { var ft = parseFloat(document.getElementById('heightFt').value) || 0; var inch = parseFloat(document.getElementById('heightIn').value) || 0; document.getElementById('heightTotalInches').value = (ft * 12) + inch; calculateResults(); } function calculateResults() { var bmiTarget = parseFloat(document.getElementById('bmiTarget').value); // Validation if (isNaN(bmiTarget) || bmiTarget <= 0) { document.getElementById('bmiError').style.display = 'block'; return; } else { document.getElementById('bmiError').style.display = 'none'; } var result = 0; var heightMetric = 0; // in meters var weightMetric = 0; // in kg var displayUnit = ''; var explanation = ''; var usedVal = ''; if (currentMode === 'weight') { // SOLVING FOR WEIGHT // Need Height if (currentSystem === 'metric') { var cm = parseFloat(document.getElementById('heightVal').value); if (isNaN(cm) || cm <= 0) return; heightMetric = cm / 100; // Formula: weight = bmi * height^2 weightMetric = bmiTarget * (heightMetric * heightMetric); result = weightMetric; displayUnit = 'kg'; explanation = "Weight = " + bmiTarget + " × (" + heightMetric.toFixed(2) + ")² = " + result.toFixed(1) + " kg"; document.getElementById('usedHeight').innerText = cm + " cm"; } else { var inches = parseFloat(document.getElementById('heightTotalInches').value); if (isNaN(inches) || inches <= 0) return; // Formula: weight_lbs = (bmi * inches^2) / 703 var lbs = (bmiTarget * (inches * inches)) / 703; result = lbs; weightMetric = lbs / 2.20462; // for internal chart use heightMetric = (inches * 0.0254); // for display consistency displayUnit = 'lbs'; explanation = "Weight = (" + bmiTarget + " × " + inches + "²) / 703 = " + result.toFixed(1) + " lbs"; document.getElementById('usedHeight').innerText = inches + " inches"; } document.getElementById('mainResultValue').innerText = result.toFixed(1); document.getElementById('mainResultUnit').innerText = displayUnit; document.getElementById('usedBMI').innerText = bmiTarget.toFixed(1); document.getElementById('formulaExplanation').innerText = "Calculation: " + explanation; } else { // SOLVING FOR HEIGHT // Need Weight var inputWeight = parseFloat(document.getElementById('weightVal').value); if (isNaN(inputWeight) || inputWeight <= 0) return; if (currentSystem === 'metric') { weightMetric = inputWeight; // Formula: height = sqrt(weight / bmi) heightMetric = Math.sqrt(weightMetric / bmiTarget); result = heightMetric * 100; // cm displayUnit = 'cm'; explanation = "Height = √(" + weightMetric + " / " + bmiTarget + ") = " + heightMetric.toFixed(2) + " m"; document.getElementById('usedHeight').innerText = inputWeight + " kg (Weight)"; } else { var weightLbs = inputWeight; weightMetric = weightLbs / 2.20462; // Formula: height_in = sqrt((weight_lbs * 703) / bmi) var heightIn = Math.sqrt((weightLbs * 703) / bmiTarget); result = heightIn; heightMetric = heightIn * 0.0254; displayUnit = 'inches'; explanation = "Height = √((" + weightLbs + " × 703) / " + bmiTarget + ") = " + heightIn.toFixed(1) + " in"; document.getElementById('usedHeight').innerText = weightLbs + " lbs (Weight)"; } document.getElementById('mainResultValue').innerText = result.toFixed(1); document.getElementById('mainResultUnit').innerText = displayUnit; document.getElementById('usedBMI').innerText = bmiTarget.toFixed(1); document.getElementById('formulaExplanation').innerText = "Calculation: " + explanation; } // Determine BMI Category of the TARGET var category = getBMICategory(bmiTarget); document.getElementById('bmiCategory').innerText = category; document.getElementById('bmiCategory').style.color = getCategoryColor(category); updateTable(heightMetric); drawChart(heightMetric, weightMetric, bmiTarget); } function getBMICategory(bmi) { if (bmi < 18.5) return "Underweight"; if (bmi < 25) return "Normal"; if (bmi < 30) return "Overweight"; return "Obese"; } function getCategoryColor(cat) { if (cat === "Normal") return "#28a745"; if (cat === "Overweight") return "#ffc107"; if (cat === "Obese") return "#dc3545"; return "#17a2b8"; } function updateTable(heightM) { var tbody = document.getElementById('rangeTableBody'); tbody.innerHTML = ''; var ranges = [ { label: "Underweight", min: 10, max: 18.5 }, { label: "Normal", min: 18.5, max: 25 }, { label: "Overweight", min: 25, max: 30 }, { label: "Obese", min: 30, max: 45 } ]; for (var i = 0; i < ranges.length; i++) { var r = ranges[i]; var minW, maxW, rangeStr; if (currentMode === 'weight') { // Showing Weight Ranges for fixed Height if (currentSystem === 'metric') { minW = (r.min * heightM * heightM).toFixed(1); maxW = (r.max * heightM * heightM).toFixed(1); rangeStr = minW + " – " + maxW + " kg"; } else { // Imperial: lbs = (bmi * in^2) / 703 var inches = heightM / 0.0254; minW = ((r.min * inches * inches) / 703).toFixed(1); maxW = ((r.max * inches * inches) / 703).toFixed(1); rangeStr = minW + " – " + maxW + " lbs"; } } else { // Showing Height Ranges for fixed Weight (Inverse) // If weight is fixed, higher BMI means shorter height. // Height = sqrt(weight / BMI) // This is confusing for a table, usually people want Weight ranges. // Even in 'Solve Height' mode, the table should probably show Weight ranges for the Calculated Height to give context. if (currentSystem === 'metric') { minW = (r.min * heightM * heightM).toFixed(1); maxW = (r.max * heightM * heightM).toFixed(1); rangeStr = minW + " – " + maxW + " kg"; } else { var inches = heightM / 0.0254; minW = ((r.min * inches * inches) / 703).toFixed(1); maxW = ((r.max * inches * inches) / 703).toFixed(1); rangeStr = minW + " – " + maxW + " lbs"; } document.getElementById('tableCaption').innerText = "Weight Categories for Calculated Height (" + (currentSystem==='metric'? (heightM*100).toFixed(0)+'cm' : (heightM/0.0254).toFixed(0)+'in') + ")"; } var row = "" + "" + r.label + "" + "" + r.min + " – " + r.max + "" + "" + rangeStr + "" + ""; tbody.innerHTML += row; } } function drawChart(heightM, weightKg, targetBMI) { var canvas = document.getElementById('bmiChart'); var ctx = canvas.getContext('2d'); var w = canvas.width = canvas.offsetWidth; var h = canvas.height = canvas.offsetHeight; // Clear ctx.clearRect(0, 0, w, h); // Defined BMI boundaries var bmis = [0, 18.5, 25, 30, 40]; // simplified max var colors = ['#17a2b8', '#28a745', '#ffc107', '#dc3545']; var labels = ['Underweight', 'Normal', 'Overweight', 'Obese']; // If heightM is 0 (invalid), stop if(heightM <= 0) return; // Calculate weight for BMI 40 to set scale var maxScaleWeight = 40 * heightM * heightM; // Margins var padding = 40; var chartH = h – padding * 2; var chartW = w – padding * 2; // Draw Bars // We will stack rects from 0 up to max var currentY = h – padding; // Background Grid ctx.beginPath(); ctx.strokeStyle = '#eee'; ctx.moveTo(padding, padding); ctx.lineTo(padding, h – padding); ctx.lineTo(w – padding, h – padding); ctx.stroke(); // Calculate widths for categories // We map BMI 0-40 to width // But the relationship is linear to weight, not BMI? // Weight = BMI * H^2. Since H is constant, Weight is linear to BMI. // So we can map BMI 0-40 directly to X axis. var scaleX = chartW / 45; // Max BMI 45 for visualization // Draw Zones var prevX = padding; for(var i=0; i<4; i++) { var startBMI = bmis[i]; var endBMI = (i===3) ? 45 : bmis[i+1]; var zoneW = (endBMI – startBMI) * scaleX; ctx.fillStyle = colors[i]; ctx.globalAlpha = 0.6; ctx.fillRect(prevX, padding, zoneW, chartH); // Label ctx.globalAlpha = 1.0; ctx.fillStyle = '#333'; ctx.font = '12px Arial'; if(i w – padding) targetX = w – padding; ctx.beginPath(); ctx.strokeStyle = '#004a99'; ctx.lineWidth = 4; ctx.moveTo(targetX, padding – 10); ctx.lineTo(targetX, h – padding + 10); ctx.stroke(); // Target Label ctx.fillStyle = '#004a99'; ctx.font = 'bold 14px Arial'; ctx.textAlign = 'center'; ctx.fillText("Target: " + targetBMI, targetX, padding – 15); ctx.textAlign = 'left'; } function resetCalculator() { document.getElementById('bmiTarget').value = 22; document.getElementById('heightVal').value = 175; document.getElementById('heightFt').value = 5; document.getElementById('heightIn').value = 9; document.getElementById('weightVal').value = 70; updateTotalInches(); calculateResults(); } function copyResults() { var res = document.getElementById('mainResultValue').innerText; var unit = document.getElementById('mainResultUnit').innerText; var bmi = document.getElementById('usedBMI').innerText; var txt = "Result: " + res + " " + unit + "\nBased on Target BMI: " + bmi + "\nCalculated via Reverse BMI Calculator."; var ta = document.createElement('textarea'); ta.value = txt; document.body.appendChild(ta); ta.select(); document.execCommand('copy'); document.body.removeChild(ta); var btn = document.querySelector('.btn-copy'); var oldText = btn.innerText; btn.innerText = "Copied!"; setTimeout(function() { btn.innerText = oldText; }, 2000); }

Leave a Comment