Weight According to Height in KG Calculator | Ideal Body Weight Chart
:root {
–primary: #004a99;
–primary-dark: #003366;
–success: #28a745;
–bg: #f8f9fa;
–white: #ffffff;
–border: #dee2e6;
–text: #333333;
–text-muted: #6c757d;
}
* {
box-sizing: border-box;
}
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
background-color: var(–bg);
color: var(–text);
line-height: 1.6;
margin: 0;
padding: 0;
}
.container {
max-width: 960px;
margin: 0 auto;
padding: 20px;
width: 100%;
}
header {
text-align: center;
margin-bottom: 40px;
padding: 20px 0;
border-bottom: 1px solid var(–border);
}
h1 {
color: var(–primary);
font-size: 2.5rem;
margin-bottom: 10px;
}
h2, h3 {
color: var(–primary-dark);
}
.subtitle {
font-size: 1.1rem;
color: var(–text-muted);
}
/* Calculator Styles */
.calc-wrapper {
background: var(–white);
padding: 30px;
border-radius: 8px;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
margin-bottom: 50px;
border: 1px solid var(–border);
}
.input-section {
margin-bottom: 30px;
}
.input-group {
margin-bottom: 20px;
}
.input-group label {
display: block;
font-weight: 600;
margin-bottom: 8px;
color: var(–primary);
}
.input-group input, .input-group select {
width: 100%;
padding: 12px;
font-size: 16px;
border: 1px solid var(–border);
border-radius: 4px;
transition: border-color 0.2s;
}
.input-group input:focus, .input-group select:focus {
border-color: var(–primary);
outline: none;
}
.helper-text {
font-size: 0.85rem;
color: var(–text-muted);
margin-top: 5px;
}
.error-msg {
color: #dc3545;
font-size: 0.85rem;
margin-top: 5px;
display: none;
}
.btn-group {
display: flex;
gap: 10px;
margin-top: 20px;
}
button {
padding: 12px 24px;
font-size: 16px;
border: none;
border-radius: 4px;
cursor: pointer;
font-weight: 600;
transition: background 0.2s;
}
.btn-reset {
background-color: #6c757d;
color: white;
}
.btn-copy {
background-color: var(–primary);
color: white;
}
button:hover {
opacity: 0.9;
}
/* Results Styles */
.results-section {
background-color: #f1f8ff;
padding: 20px;
border-radius: 6px;
margin-top: 30px;
border-left: 5px solid var(–primary);
}
.main-result {
text-align: center;
margin-bottom: 20px;
}
.result-label {
font-size: 1.1rem;
color: var(–text-muted);
margin-bottom: 5px;
}
.result-value {
font-size: 2.5rem;
font-weight: 700;
color: var(–success);
}
.grid-results {
display: grid;
grid-template-columns: 1fr;
gap: 15px;
margin-top: 20px;
}
.stat-card {
background: white;
padding: 15px;
border-radius: 4px;
border: 1px solid var(–border);
text-align: center;
}
.stat-label {
font-size: 0.9rem;
color: var(–text-muted);
}
.stat-value {
font-size: 1.25rem;
font-weight: 600;
color: var(–primary);
}
/* Table & Chart */
.data-visuals {
margin-top: 40px;
}
table {
width: 100%;
border-collapse: collapse;
margin-bottom: 30px;
background: white;
}
th, td {
padding: 12px;
text-align: left;
border-bottom: 1px solid var(–border);
}
th {
background-color: var(–primary);
color: white;
}
.chart-container {
width: 100%;
height: 300px;
background: white;
border: 1px solid var(–border);
border-radius: 4px;
padding: 10px;
position: relative;
}
.chart-caption {
text-align: center;
font-size: 0.9rem;
color: var(–text-muted);
margin-top: 10px;
}
/* Article Styles */
article {
background: white;
padding: 40px;
border-radius: 8px;
box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
article p {
margin-bottom: 20px;
font-size: 1.05rem;
}
article ul, article ol {
margin-bottom: 20px;
padding-left: 25px;
}
article li {
margin-bottom: 10px;
}
.formula-box {
background: #f8f9fa;
border-left: 4px solid var(–primary);
padding: 15px;
margin: 20px 0;
font-family: monospace;
font-size: 1.1rem;
}
.faq-item {
margin-bottom: 20px;
}
.faq-question {
font-weight: 700;
color: var(–primary);
margin-bottom: 5px;
}
.related-links {
margin-top: 40px;
padding-top: 20px;
border-top: 1px solid var(–border);
}
.related-links ul {
list-style: none;
padding: 0;
}
.related-links a {
color: var(–primary);
text-decoration: none;
font-weight: 600;
}
.related-links a:hover {
text-decoration: underline;
}
/* Mobile Adjustments */
@media (min-width: 600px) {
.grid-results {
grid-template-columns: repeat(3, 1fr);
}
}
Ideal Weight (Devine Formula)
70.0 kg
Healthy BMI Range (Min)
56.7 kg
Healthy BMI Range (Max)
76.6 kg
Formula Comparison
| Formula / Method |
Calculated Weight (kg) |
Description |
Healthy Weight Range Visualizer
Figure 1: Comparison of specific IBW formulas against the standard Healthy BMI range (green zone).
What is a Weight According to Height in KG Calculator?
A weight according to height in kg calculator is a specialized health tool designed to determine an individual's Ideal Body Weight (IBW) based on their stature. Unlike generic scales that only measure mass, this calculator applies medically established equations to estimate a target weight that statistically correlates with the lowest mortality rates and optimal health outcomes.
Medical professionals, dietitians, and fitness enthusiasts use this tool to set realistic goals. Whether you are recovering from illness, training for athletics, or managing obesity, knowing your specific weight according to height in kg provides a baseline for nutritional planning.
Common misconceptions suggest there is a single "perfect" weight. However, as this calculator demonstrates, different methodologies (such as the Devine, Robinson, and Miller formulas) yield slightly different results. A robust analysis looks at the healthy range rather than a single digit.
Weight According to Height Formula and Mathematical Explanation
Calculating the weight according to height in kg calculator metrics involves several distinct mathematical formulas. The most widely accepted method in clinical settings is the Devine Formula, originally developed in 1974 for dosing medications.
Devine Formula (Male): 50 kg + 2.3 kg * (Height in inches – 60)
Devine Formula (Female): 45.5 kg + 2.3 kg * (Height in inches – 60)
The World Health Organization (WHO) also utilizes the Body Mass Index (BMI) to define a "Healthy Range."
Healthy Minimum: 18.5 * (Height in meters)²
Healthy Maximum: 24.9 * (Height in meters)²
Variables Table
| Variable |
Meaning |
Unit |
Typical Range |
| H (in) |
Height in inches |
Inches |
55 – 84 |
| H (m) |
Height in meters |
Meters |
1.4 – 2.1 |
| Base Weight |
Starting constant for 5ft |
kg |
50 (M) / 45.5 (F) |
Practical Examples (Real-World Use Cases)
To understand how the weight according to height in kg calculator functions, consider these detailed examples based on common demographics.
Example 1: The Average Male
Scenario: John is a 30-year-old male, 180 cm (approx. 5ft 11in) tall. He wants to know his ideal weight for marathon training.
- Height: 180 cm (1.8 meters or ~70.9 inches)
- Calculation (Devine): 50 + 2.3 * (70.9 – 60) = 50 + 2.3 * 10.9 = 75.07 kg.
- BMI Range: 18.5 * (1.8)² to 24.9 * (1.8)² = 59.9 kg to 80.7 kg.
- Interpretation: John's ideal statistical weight is roughly 75 kg, which sits comfortably within his healthy range of 60-81 kg.
Example 2: The Petite Female
Scenario: Sarah is a 25-year-old female, 155 cm (approx. 5ft 1in) tall.
- Height: 155 cm (1.55 meters or ~61 inches)
- Calculation (Devine): 45.5 + 2.3 * (61 – 60) = 45.5 + 2.3 * 1 = 47.8 kg.
- BMI Range: 18.5 * (1.55)² to 24.9 * (1.55)² = 44.4 kg to 59.8 kg.
- Interpretation: While the Devine formula suggests ~48 kg, the healthy range extends up to nearly 60 kg, allowing for variations in body composition.
How to Use This Weight According to Height in KG Calculator
Follow these simple steps to get accurate results from the tool above:
- Select Gender: Choose Male or Female. This is critical as the baseline weight equations differ physiologically.
- Enter Height: Input your height in centimeters. If you only know feet/inches, multiply inches by 2.54.
- Review Results: Look at the highlighted "Ideal Weight" for a specific target, but consult the "Healthy BMI Range" for a broader, flexible goal.
- Analyze the Chart: The visual graph shows where the specific formulas fall within the green "Healthy Zone."
Key Factors That Affect Weight According to Height Results
While the weight according to height in kg calculator provides a mathematical baseline, biological reality is more complex. Consider these six factors:
- Muscle Mass vs. Fat: Muscle tissue is denser than fat. An athlete may weigh more than the "ideal" calculation but have a low body fat percentage and excellent health.
- Bone Frame Size: The formulas assume a medium frame. People with larger skeletal frames (wrist circumference) may naturally be 10% heavier than the calculated IBW.
- Age: Metabolic rate slows with age. While the formula doesn't change, the acceptable BMI range often shifts slightly higher for the elderly to provide nutritional reserve.
- Pregnancy and Lactation: This calculator is not applicable during pregnancy. Weight gain guidelines for pregnancy are distinct and trimester-dependent.
- Fluid Retention: Daily weight fluctuations of 1-2 kg are normal due to salt intake, hydration status, and hormonal cycles.
- Amputation or Physical Differences: Standard height-weight formulas require adjustment for missing limbs or spinal curvature issues.
Frequently Asked Questions (FAQ)
Is the Devine formula accurate for everyone?
The Devine formula is widely used medically, but it tends to underestimate ideal weight for very short women and overestimate it for very tall men. It is a statistical average, not a biological law.
Why does the result differ from my doctor's chart?
Doctors may use different charts (like Metropolitan Life tables) or factor in frame size. This weight according to height in kg calculator uses the strict Devine and BMI methods.
What if my weight is above the range but I am muscular?
If you are an athlete, BMI and IBW are poor indicators. Body fat percentage is a better metric for your health than simple weight-for-height.
Does age affect the calculation?
Mathematically, no. The equations rely solely on height and gender. However, clinically, "healthy weight" may be defined more loosely for older adults to prevent frailty.
What is the "Robinson" formula shown in the table?
The Robinson formula (1983) is a modification of the Devine formula designed to be more accurate based on updated population data at the time.
Can I use this for children?
No. Children and teenagers require specific Growth Charts (percentiles) rather than static adult formulas.
How often should I check my weight?
Weekly monitoring is generally sufficient. Daily checking can lead to obsession over normal fluid fluctuations.
Is it healthy to be exactly at the "Ideal" weight?
Not necessarily. Anywhere within the "Healthy BMI Range" is generally considered acceptable. The "Ideal" is just a statistical midpoint.
// Global variables for chart instance logic
var chartCanvas = document.getElementById('weightChart');
var ctx = chartCanvas.getContext('2d');
// Initialize calculator
window.onload = function() {
calculateWeight();
};
function calculateWeight() {
// 1. Get Inputs
var gender = document.getElementById('gender').value;
var heightCm = parseFloat(document.getElementById('heightCm').value);
var heightError = document.getElementById('heightError');
// 2. Validation
if (isNaN(heightCm) || heightCm 300) {
heightError.style.display = 'block';
return; // Stop calculation
} else {
heightError.style.display = 'none';
}
// 3. Conversions
var heightM = heightCm / 100;
var heightIn = heightCm / 2.54;
var heightInOver60 = heightIn – 60;
if (heightInOver60 < 0) heightInOver60 = 0; // Formulas typically base off 5ft
// 4. Calculations
// A. BMI Range (18.5 – 24.9)
var minBmiWeight = 18.5 * (heightM * heightM);
var maxBmiWeight = 24.9 * (heightM * heightM);
// B. Devine Formula (1974)
// Male: 50kg + 2.3kg per inch over 5ft
// Female: 45.5kg + 2.3kg per inch over 5ft
var devineWeight = 0;
if (gender === 'male') {
devineWeight = 50 + (2.3 * heightInOver60);
} else {
devineWeight = 45.5 + (2.3 * heightInOver60);
}
// C. Robinson Formula (1983)
// Male: 52kg + 1.9kg per inch over 5ft
// Female: 49kg + 1.7kg per inch over 5ft
var robinsonWeight = 0;
if (gender === 'male') {
robinsonWeight = 52 + (1.9 * heightInOver60);
} else {
robinsonWeight = 49 + (1.7 * heightInOver60);
}
// D. Miller Formula (1983)
// Male: 56.2kg + 1.41kg per inch over 5ft
// Female: 53.1kg + 1.36kg per inch over 5ft
var millerWeight = 0;
if (gender === 'male') {
millerWeight = 56.2 + (1.41 * heightInOver60);
} else {
millerWeight = 53.1 + (1.36 * heightInOver60);
}
// 5. Update UI Results
document.getElementById('mainResult').innerText = devineWeight.toFixed(1) + " kg";
document.getElementById('minWeight').innerText = minBmiWeight.toFixed(1) + " kg";
document.getElementById('maxWeight').innerText = maxBmiWeight.toFixed(1) + " kg";
document.getElementById('robinsonResult').innerText = robinsonWeight.toFixed(1) + " kg";
// Update Table
var tbody = document.getElementById('resultTableBody');
tbody.innerHTML = '';
var formulas = [
{ name: "Devine Formula", val: devineWeight, desc: "Most widely used for medical dosing." },
{ name: "Robinson Formula", val: robinsonWeight, desc: "Refined metric, often used for obesity." },
{ name: "Miller Formula", val: millerWeight, desc: "Often used for calculating lean body mass." },
{ name: "BMI Method (Mean)", val: (minBmiWeight + maxBmiWeight) / 2, desc: "The midpoint of the healthy BMI range." }
];
for (var i = 0; i < formulas.length; i++) {
var row = "
";
row += "| " + formulas[i].name + " | ";
row += "" + formulas[i].val.toFixed(1) + " kg | ";
row += "" + formulas[i].desc + " | ";
row += "
";
tbody.innerHTML += row;
}
// 6. Draw Chart
drawChart(minBmiWeight, maxBmiWeight, devineWeight, robinsonWeight, millerWeight);
}
function resetCalculator() {
document.getElementById('gender').value = 'male';
document.getElementById('heightCm').value = '175';
document.getElementById('age').value = '30';
calculateWeight();
}
function copyResults() {
var gender = document.getElementById('gender').value;
var height = document.getElementById('heightCm').value;
var res = document.getElementById('mainResult').innerText;
var rangeMin = document.getElementById('minWeight').innerText;
var rangeMax = document.getElementById('maxWeight').innerText;
var text = "Weight according to height in kg calculator Results:\n";
text += "Gender: " + gender + "\n";
text += "Height: " + height + " cm\n";
text += "Ideal Weight (Devine): " + res + "\n";
text += "Healthy Range: " + rangeMin + " – " + rangeMax;
var tempInput = document.createElement("textarea");
tempInput.value = text;
document.body.appendChild(tempInput);
tempInput.select();
document.execCommand("copy");
document.body.removeChild(tempInput);
var btn = document.querySelector('.btn-copy');
var originalText = btn.innerText;
btn.innerText = "Copied!";
setTimeout(function(){ btn.innerText = originalText; }, 2000);
}
function drawChart(min, max, devine, robinson, miller) {
// Canvas setup
var width = chartCanvas.parentElement.offsetWidth;
var height = 300;
chartCanvas.width = width;
chartCanvas.height = height;
// Clear canvas
ctx.clearRect(0, 0, width, height);
// Chart Parameters
var padding = 40;
var chartWidth = width – (padding * 2);
var chartHeight = height – (padding * 2);
// Determine scale (X axis)
// We want the chart to show a range slightly wider than the healthy range
var scaleMin = min – 15;
var scaleMax = max + 15;
var range = scaleMax – scaleMin;
// Helper to map weight to X position
function getX(weight) {
return padding + ((weight – scaleMin) / range) * chartWidth;
}
// Draw Axis Line
ctx.beginPath();
ctx.moveTo(padding, height – padding);
ctx.lineTo(width – padding, height – padding);
ctx.strokeStyle = "#dee2e6";
ctx.lineWidth = 2;
ctx.stroke();
// Draw Healthy Range (Green Zone)
var xStart = getX(min);
var xEnd = getX(max);
var zoneWidth = xEnd – xStart;
ctx.fillStyle = "rgba(40, 167, 69, 0.2)";
ctx.fillRect(xStart, padding, zoneWidth, chartHeight);
ctx.fillStyle = "#28a745";
ctx.font = "12px Arial";
ctx.fillText("Healthy Range (" + min.toFixed(0) + "-" + max.toFixed(0) + "kg)", xStart + 5, padding + 20);
// Draw Markers for Specific Formulas
function drawMarker(val, color, label, yOffset) {
var x = getX(val);
ctx.beginPath();
ctx.moveTo(x, padding + yOffset);
ctx.lineTo(x, height – padding);
ctx.strokeStyle = color;
ctx.lineWidth = 3;
ctx.setLineDash([5, 5]);
ctx.stroke();
ctx.setLineDash([]);
// Label
ctx.fillStyle = color;
ctx.fillText(label, x + 5, padding + yOffset + 10);
ctx.fillText(val.toFixed(1) + "kg", x + 5, padding + yOffset + 25);
}
drawMarker(devine, "#004a99", "Devine", 50);
drawMarker(robinson, "#17a2b8", "Robinson", 100);
drawMarker(miller, "#6610f2", "Miller", 150);
// Draw X Axis Labels (every 10kg)
ctx.fillStyle = "#6c757d";
ctx.textAlign = "center";
for (var w = Math.ceil(scaleMin / 10) * 10; w <= scaleMax; w += 10) {
var xPos = getX(w);
ctx.fillText(w + "kg", xPos, height – padding + 20);
// Grid tick
ctx.beginPath();
ctx.moveTo(xPos, height – padding);
ctx.lineTo(xPos, height – padding + 5);
ctx.stroke();
}
}
// Resize listener for chart
window.onresize = function() {
calculateWeight();
};