Calculate Weight in KG According to Height | Professional Ideal Weight Calculator
:root {
–primary: #004a99;
–secondary: #003366;
–success: #28a745;
–bg-light: #f8f9fa;
–text-dark: #333;
–text-light: #666;
–border: #dee2e6;
–white: #ffffff;
–shadow: 0 4px 6px rgba(0,0,0,0.1);
}
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
line-height: 1.6;
color: var(–text-dark);
background-color: var(–bg-light);
margin: 0;
padding: 0;
}
.container {
max-width: 960px;
margin: 0 auto;
padding: 20px;
}
header {
text-align: center;
margin-bottom: 40px;
padding: 40px 0;
background: var(–white);
border-bottom: 1px solid var(–border);
}
h1 {
color: var(–primary);
margin: 0;
font-size: 2.5rem;
}
.subtitle {
color: var(–text-light);
font-size: 1.1rem;
margin-top: 10px;
}
/* Calculator Styles */
.loan-calc-container {
background: var(–white);
border-radius: 8px;
box-shadow: var(–shadow);
padding: 30px;
margin-bottom: 50px;
border-top: 5px solid var(–primary);
}
.calc-grid {
display: block; /* Single column enforcement */
}
.input-section {
margin-bottom: 30px;
padding-bottom: 20px;
border-bottom: 1px solid var(–border);
}
.input-group {
margin-bottom: 20px;
}
.input-group label {
display: block;
font-weight: 600;
margin-bottom: 8px;
color: var(–secondary);
}
.input-group input, .input-group select {
width: 100%;
padding: 12px;
border: 1px solid var(–border);
border-radius: 4px;
font-size: 16px;
box-sizing: border-box;
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-light);
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;
border: none;
border-radius: 4px;
cursor: pointer;
font-weight: 600;
font-size: 16px;
transition: background 0.2s;
}
.btn-reset {
background-color: var(–bg-light);
color: var(–text-dark);
border: 1px solid var(–border);
}
.btn-copy {
background-color: var(–primary);
color: var(–white);
}
.btn-reset:hover { background-color: #e2e6ea; }
.btn-copy:hover { background-color: var(–secondary); }
/* Results Styles */
.results-section {
background-color: #f0f7ff;
padding: 25px;
border-radius: 6px;
margin-top: 20px;
}
.main-result {
text-align: center;
margin-bottom: 25px;
}
.main-result-label {
font-size: 1.1rem;
color: var(–secondary);
font-weight: 600;
}
.main-result-value {
font-size: 3rem;
font-weight: 700;
color: var(–primary);
margin: 10px 0;
}
.formula-tag {
background: var(–success);
color: white;
padding: 4px 8px;
border-radius: 4px;
font-size: 0.8rem;
vertical-align: middle;
}
.intermediate-grid {
display: flex;
justify-content: space-between;
gap: 15px;
flex-wrap: wrap;
margin-bottom: 25px;
}
.stat-box {
flex: 1;
min-width: 140px;
background: var(–white);
padding: 15px;
border-radius: 6px;
box-shadow: 0 2px 4px rgba(0,0,0,0.05);
text-align: center;
}
.stat-label {
font-size: 0.9rem;
color: var(–text-light);
margin-bottom: 5px;
}
.stat-value {
font-size: 1.25rem;
font-weight: 700;
color: var(–text-dark);
}
/* Visualization */
.chart-container {
margin: 30px 0;
background: var(–white);
padding: 20px;
border-radius: 6px;
border: 1px solid var(–border);
}
canvas {
width: 100%;
height: 300px;
}
.chart-caption {
text-align: center;
font-size: 0.9rem;
color: var(–text-light);
margin-top: 10px;
font-style: italic;
}
/* Data Table */
.data-table {
width: 100%;
border-collapse: collapse;
margin-top: 20px;
background: var(–white);
}
.data-table th, .data-table td {
padding: 12px;
text-align: left;
border-bottom: 1px solid var(–border);
}
.data-table th {
background-color: var(–primary);
color: var(–white);
}
.data-table tr:hover {
background-color: #f8f9fa;
}
/* Article Styles */
.article-content {
background: var(–white);
padding: 40px;
border-radius: 8px;
box-shadow: var(–shadow);
}
.article-content h2 {
color: var(–secondary);
border-bottom: 2px solid var(–border);
padding-bottom: 10px;
margin-top: 40px;
}
.article-content h3 {
color: var(–primary);
margin-top: 25px;
}
.article-content p, .article-content li {
font-size: 1.1rem;
margin-bottom: 15px;
}
.article-content ul {
padding-left: 20px;
}
.variables-table {
width: 100%;
border-collapse: collapse;
margin: 20px 0;
border: 1px solid var(–border);
}
.variables-table th {
background: var(–secondary);
color: white;
padding: 10px;
text-align: left;
}
.variables-table td {
padding: 10px;
border-bottom: 1px solid #eee;
}
.faq-item {
margin-bottom: 20px;
border: 1px solid var(–border);
border-radius: 6px;
padding: 20px;
background: #fafafa;
}
.faq-question {
font-weight: 700;
color: var(–primary);
margin-bottom: 10px;
display: block;
}
.resource-link {
display: block;
margin-bottom: 10px;
color: var(–primary);
text-decoration: none;
font-weight: 600;
}
.resource-link:hover {
text-decoration: underline;
}
footer {
text-align: center;
padding: 40px;
color: var(–text-light);
font-size: 0.9rem;
border-top: 1px solid var(–border);
margin-top: 40px;
}
@media (max-width: 600px) {
.intermediate-grid {
flex-direction: column;
}
.article-content {
padding: 20px;
}
}
Estimated Ideal Weight (Devine Formula)
70.0 kg
The Devine formula is the most widely used medical standard for dosage calculations.
Figure 1: Comparison of Ideal Weight Formulas vs. WHO Healthy BMI Range
| Methodology |
Calculated Weight (kg) |
Primary Use Case |
What is "Calculate Weight in KG According to Height"?
The process to calculate weight in kg according to height involves using mathematically derived formulas to determine an individual's "Ideal Body Weight" (IBW). Unlike a simple scale reading, this calculation provides a theoretical benchmark used by medical professionals to dose medications, assess nutritional status, and set healthy living goals.
While Body Mass Index (BMI) is a broad screening tool, specific IBW formulas like Devine, Robinson, and Miller offer more precise point-estimates based on height and biological sex. These tools are essential for anyone looking to understand their body metrics beyond simple averages. However, it is important to note that these calculations estimate weight based on skeletal frame and do not account for muscle mass, bone density, or body composition variations.
Common misconceptions include believing there is a single "perfect" weight. In reality, a healthy weight exists within a range. This calculator provides both the specific formulaic ideal and the broader World Health Organization (WHO) healthy range to give a complete financial-grade analysis of your physical metrics.
IBW Formula and Mathematical Explanation
To accurately calculate weight in kg according to height, several formulas have been developed over decades. The most standard formula used in clinical settings is the Devine Formula (1974). It was originally developed to calculate drug clearances but became the universal standard for ideal weight.
The Devine Formula Logic
The math assumes a base weight for a height of 5 feet (60 inches) and adds a specific weight increment for every inch above that baseline.
- Male: 50 kg + 2.3 kg per inch over 5 feet
- Female: 45.5 kg + 2.3 kg per inch over 5 feet
Variables Table
| Variable |
Meaning |
Unit |
Typical Range |
| Base Weight |
Starting constant for 5ft height |
Kilograms (kg) |
45.5 (F) – 50.0 (M) |
| Height Factor |
Weight added per unit of height |
kg/inch |
2.3 kg (Devine) |
| Height Delta |
Height exceeding 5 feet |
Inches |
0 – 24+ inches |
Practical Examples (Real-World Use Cases)
Example 1: The Average Male Profile
Consider a male who is 180 cm tall (approx 5ft 11in). He wants to calculate weight in kg according to height to set a gym goal.
- Input Height: 180 cm (~71 inches)
- Height over 5ft: 11 inches
- Calculation (Devine): 50 kg + (2.3 kg × 11) = 50 + 25.3 = 75.3 kg
- Financial/Health Interpretation: This 75.3 kg target represents a statistically "ideal" weight for medical purposes. If his actual weight is 90kg due to muscle, he is technically "overweight" by this metric, highlighting the importance of context.
Example 2: The Petite Female Profile
A female is 158 cm tall (approx 5ft 2in).
- Input Height: 158 cm (~62.2 inches)
- Height over 5ft: 2.2 inches
- Calculation (Devine): 45.5 kg + (2.3 kg × 2.2) = 45.5 + 5.06 = 50.56 kg
- Result Analysis: Her ideal weight via Devine is approx 50.6 kg. However, the Healthy BMI range for her height extends from 46 kg to 62 kg, giving her a flexible buffer for healthy living.
How to Use This Calculator
This tool is designed for precision and ease of use. Follow these steps to calculate weight in kg according to height accurately:
- Select Gender: Choose Male or Female. This adjusts the base constant (50kg vs 45.5kg).
- Enter Height: Input your exact height in centimeters. Accuracy is crucial here; even 1-2 cm can shift the target weight by nearly a kilogram.
- Review the Primary Result: The large highlighted number is the Devine Formula result, the industry standard.
- Analyze the Range: Check the "Healthy BMI Range" to see the safe window (BMI 18.5 – 24.9). If your current weight falls in this bracket, you are generally considered healthy.
- Compare Methodologies: Look at the table to see how the Robinson and Miller formulas differ slightly. This variance shows the subjectivity of "ideal" weight.
Key Factors That Affect Results
When you calculate weight in kg according to height, the number is a statistical baseline. Several real-world factors influence where your actual healthy weight should sit:
- Muscle Mass: Muscle tissue is denser than fat. An athlete may weigh significantly more than their IBW but have a low body fat percentage and excellent metabolic health.
- Bone Structure (Frame Size): The formulas above assume a medium frame. People with large wrist circumferences (large frames) should add ~10% to the result, while small frames should subtract ~10%.
- Age: Metabolism slows and body composition changes with age. Older adults often carry slightly more weight, which can actually be protective against frailty.
- Hydration Levels: Daily weight can fluctuate by 1-2 kg based on water retention, salt intake, and hydration status.
- Distribution of Fat: Visceral fat (around organs) is a higher risk factor than subcutaneous fat. Two people can calculate weight in kg according to height and get the same result, but have vastly different health profiles based on fat distribution.
- Pregnancy and Medical Conditions: These standard formulas do not apply to pregnant women or individuals with specific metabolic disorders.
Frequently Asked Questions (FAQ)
Why does the result differ from my doctor's chart?
Doctors often use BMI charts (18.5-24.9) rather than a specific point like 70kg. This calculator provides the specific point (IBW) used for medication dosing, which is stricter than the general health range.
Can I use this calculator for children?
No. Children and adolescents require specialized growth charts (percentiles) that account for developmental stages. These formulas are strictly for adults (18+).
Which formula is the most accurate?
The Devine formula is the most widely accepted for medical purposes. However, the Miller formula (1983) is sometimes considered more accurate for modern, slightly taller populations.
What if I am very tall or very short?
Standard IBW formulas are most accurate for heights between 5ft (152cm) and 6ft 4in (193cm). Outside this range, BMI is often a better indicator than linear IBW formulas.
How do I adjust for frame size?
A simple rule of thumb: If you have a large frame (thick wrists/ankles), add 10% to the calculated weight. For a small frame, subtract 10%.
Does this calculate weight in kg according to height for athletes?
Not directly. Athletes should rely on body composition analysis (body fat percentage) rather than simple height-weight formulas.
Is the lowest weight in the BMI range the healthiest?
Not necessarily. Being at the very bottom of the BMI range (18.5) can indicate low muscle mass or under-nutrition. The middle of the range is often optimal.
How often should I check my ideal weight?
Adult height rarely changes, so your ideal weight calculation remains constant. However, you should monitor your actual weight weekly to ensure you stay within the healthy range.
// Initialize calculator
document.addEventListener('DOMContentLoaded', function() {
calculateResults();
});
function validateAndCalculate() {
var heightInput = document.getElementById('heightCm');
var errorMsg = document.getElementById('heightError');
var val = parseFloat(heightInput.value);
if (isNaN(val) || val 250) {
errorMsg.style.display = 'block';
return; // Do not calculate invalid inputs
} else {
errorMsg.style.display = 'none';
}
calculateResults();
}
function calculateResults() {
// 1. Get Inputs
var heightCm = parseFloat(document.getElementById('heightCm').value);
var gender = document.getElementById('gender').value;
// Basic Validation for safety
if (!heightCm || heightCm <= 0) return;
// 2. Constants & Conversions
// Height in inches
var heightIn = heightCm / 2.54;
var feetBase = 60; // 5 feet in inches
var diffInches = heightIn – feetBase;
// Handle height 5ft.
// We will apply the linear logic: Base + (Rate * diff). If diff is negative, it subtracts.
// 3. Formulas
var devine, robinson, miller, hamwi;
var bmiLow = 18.5 * Math.pow((heightCm / 100), 2);
var bmiHigh = 24.9 * Math.pow((heightCm / 100), 2);
if (gender === 'male') {
// Devine: 50kg + 2.3kg per inch > 5ft
devine = 50.0 + (2.3 * diffInches);
// Robinson: 52kg + 1.9kg per inch > 5ft
robinson = 52.0 + (1.9 * diffInches);
// Miller: 56.2kg + 1.41kg per inch > 5ft
miller = 56.2 + (1.41 * diffInches);
// Hamwi: 48.0kg + 2.7kg per inch > 5ft
hamwi = 48.0 + (2.7 * diffInches);
} else {
// Female
// Devine: 45.5kg + 2.3kg per inch > 5ft
devine = 45.5 + (2.3 * diffInches);
// Robinson: 49kg + 1.7kg per inch > 5ft
robinson = 49.0 + (1.7 * diffInches);
// Miller: 53.1kg + 1.36kg per inch > 5ft
miller = 53.1 + (1.36 * diffInches);
// Hamwi: 45.5kg + 2.2kg per inch > 5ft
hamwi = 45.5 + (2.2 * diffInches);
}
// Clamp values to sane positive numbers (edge case for extremely short inputs)
devine = Math.max(devine, 10);
robinson = Math.max(robinson, 10);
miller = Math.max(miller, 10);
// 4. Update DOM
document.getElementById('mainResult').innerText = devine.toFixed(1) + " kg";
document.getElementById('robinsonResult').innerText = robinson.toFixed(1) + " kg";
document.getElementById('millerResult').innerText = miller.toFixed(1) + " kg";
document.getElementById('bmiRange').innerText = bmiLow.toFixed(1) + " – " + bmiHigh.toFixed(1) + " kg";
// Update Table
var tbody = document.getElementById('resultsTableBody');
tbody.innerHTML =
'
| Devine Formula (1974) | ' + devine.toFixed(1) + ' kg | Medical dosing standard |
' +
'
| Robinson Formula (1983) | ' + robinson.toFixed(1) + ' kg | Updated for modern demographics |
' +
'
| Miller Formula (1983) | ' + miller.toFixed(1) + ' kg | Often used for taller individuals |
' +
'
| WHO BMI Range (Healthy) | ' + bmiLow.toFixed(1) + ' – ' + bmiHigh.toFixed(1) + ' kg | General health screening |
';
// 5. Draw Chart
drawChart(devine, robinson, miller, bmiLow, bmiHigh);
}
function drawChart(devine, robinson, miller, bmiLow, bmiHigh) {
var canvas = document.getElementById('weightChart');
var ctx = canvas.getContext('2d');
// Clear canvas
ctx.clearRect(0, 0, canvas.width, canvas.height);
// Adjust resolution
var dpr = window.devicePixelRatio || 1;
var rect = canvas.getBoundingClientRect();
canvas.width = rect.width * dpr;
canvas.height = rect.height * dpr;
ctx.scale(dpr, dpr);
var width = rect.width;
var height = rect.height;
var padding = 50;
var chartHeight = height – (padding * 2);
var chartWidth = width – (padding * 2);
// Determine Scale
var maxValue = Math.max(bmiHigh, devine, robinson, miller) * 1.1;
var minValue = Math.min(bmiLow, devine, robinson, miller) * 0.8;
// Bar configuration
var barWidth = chartWidth / 9; // 4 bars + spaces
var startX = padding;
// Helper to map weight to Y coordinate
function getY(weight) {
return padding + chartHeight – ((weight – minValue) / (maxValue – minValue) * chartHeight);
}
// Draw Axes
ctx.beginPath();
ctx.strokeStyle = "#dee2e6";
ctx.moveTo(padding, padding);
ctx.lineTo(padding, height – padding);
ctx.lineTo(width – padding, height – padding);
ctx.stroke();
// Draw Bars function
function drawBar(label, value, color, index) {
var x = startX + (index * barWidth * 2) + 20;
var y = getY(value);
var h = (height – padding) – y;
// Bar
ctx.fillStyle = color;
ctx.fillRect(x, y, barWidth, h);
// Value Label
ctx.fillStyle = "#333";
ctx.font = "bold 12px sans-serif";
ctx.textAlign = "center";
ctx.fillText(value.toFixed(1), x + (barWidth/2), y – 10);
// Category Label
ctx.fillStyle = "#666";
ctx.font = "11px sans-serif";
var words = label.split(" ");
for(var i=0; i<words.length; i++) {
ctx.fillText(words[i], x + (barWidth/2), height – padding + 15 + (i*12));
}
}
// Draw BMI Range Background
var yHigh = getY(bmiHigh);
var yLow = getY(bmiLow);
ctx.fillStyle = "rgba(40, 167, 69, 0.1)";
ctx.fillRect(padding, yHigh, chartWidth, yLow – yHigh);
// BMI Range Label
ctx.fillStyle = "#28a745";
ctx.font = "italic 12px sans-serif";
ctx.textAlign = "right";
ctx.fillText("Healthy BMI Range", width – padding – 10, yHigh + 20);
// Draw Formula Bars
drawBar("Devine", devine, "#004a99", 0);
drawBar("Robinson", robinson, "#003366", 1);
drawBar("Miller", miller, "#0056b3", 2);
// Draw BMI Midpoint for comparison
var bmiMid = (bmiLow + bmiHigh) / 2;
drawBar("BMI Mid", bmiMid, "#28a745", 3);
}
function resetCalculator() {
document.getElementById('gender').value = 'male';
document.getElementById('heightCm').value = 175;
document.getElementById('heightError').style.display = 'none';
calculateResults();
}
function copyResults() {
var devine = document.getElementById('mainResult').innerText;
var bmi = document.getElementById('bmiRange').innerText;
var gender = document.getElementById('gender').value;
var height = document.getElementById('heightCm').value;
var text = "Ideal Weight Calculation:\n" +
"Input: " + gender + ", " + height + " cm\n" +
"Ideal Weight (Devine): " + devine + "\n" +
"Healthy BMI Range: " + bmi + "\n" +
"Generated by Professional Ideal Weight Calculator";
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);
}