The first time I built a BMI field into an app, I got it wrong, and the bug was instructive. I had a form with weight in pounds and height in inches, and I confidently divided one by the other and multiplied by 703 โ except I had wired the height input to centimetres from an earlier draft. The result told a 5-foot-10 tester he had a BMI of 4. Nobody has a BMI of 4. The formula was fine; the units were a lie.
That is the entire story of BMI in miniature. The arithmetic is a single division that a ten-year-old can do. Everything that goes wrong goes wrong at the edges: which unit you fed it, which population it applies to, and what you think the number is telling you. I build toolz.dev, and when I added a calculators category I wanted a BMI Calculator that handled the units honestly, showed its working, and โ this is the part most BMI tools skip โ was upfront about the limits of the measure. This guide is the long version of that thinking.
TL;DR: BMI is your weight in kilograms divided by your height in metres squared (kg/mยฒ). In imperial units it is
703 ร pounds รท inchesยฒ. The World Health Organization calls 18.5โ24.9 normal, under 18.5 underweight, 25โ29.9 overweight, and 30+ obese. The BMI Calculator takes metric or imperial input, converts internally so both agree, shows your WHO category and the healthy weight range for your height, and runs entirely in your browser. BMI is a screening number for populations, not a diagnosis for a person โ it cannot tell muscle from fat.
What is BMI, actually?
Body Mass Index is a ratio that relates how much you weigh to how tall you are. The idea is old: a Belgian statistician named Adolphe Quetelet worked it out in the 1830s, which is why it was long called the Quetelet Index. He was not trying to measure health. He was studying the "average man" across a population and wanted a number that stayed roughly constant as people got taller. Dividing weight by height squared did that. It was a tool for describing groups, and it still is.
The formula is deliberately simple:
BMI = weight(kg) รท height(m)ยฒ
Take someone who is 70 kg and 1.75 m tall. Height squared is 3.0625. 70 divided by 3.0625 is 22.9. That sits comfortably in the normal band. The imperial version looks different but computes the same thing:
BMI = 703 ร weight(lb) รท height(in)ยฒ
The 703 is just the conversion constant that turns pounds-per-inch-squared into kilograms-per-metre-squared. A 154 lb, 70 in person: 703 ร 154 รท 4900 = 22.1. Close to the metric example, and the small difference is rounding, not a different formula. In the calculator I convert every imperial input to metric before doing any maths, precisely so the two paths can never disagree. If you ever see a BMI tool give you a different number in pounds than in kilograms for the same body, it has a units bug like the one I shipped years ago.
How do I read the BMI categories?
A raw BMI number means little until you place it on the World Health Organization scale for adults. Here is the full table the calculator uses, including the sub-bands most tools flatten:
| BMI (kg/mยฒ) | WHO category |
|---|---|
| Below 16.0 | Severe thinness |
| 16.0 โ 16.9 | Moderate thinness |
| 17.0 โ 18.4 | Mild thinness |
| 18.5 โ 24.9 | Normal weight |
| 25.0 โ 29.9 | Overweight |
| 30.0 โ 34.9 | Obese class I |
| 35.0 โ 39.9 | Obese class II |
| 40.0 and above | Obese class III |
The bands are cut points on a continuous scale, and the boundaries are conventions, not cliffs. A BMI of 24.9 and a BMI of 25.1 describe almost identical bodies; one lands in "normal" and the other in "overweight" purely because a line had to be drawn somewhere. That is worth remembering when a single decimal place nudges you across a boundary. The categories are useful for spotting broad patterns across thousands of people, which is what they were built for. For one individual they are a rough signpost, not a verdict.
The calculator also reports two extras that put the headline number in context. BMI Prime is your BMI divided by 25 โ the top of the normal range. A BMI Prime of exactly 1.0 sits on that upper edge; 0.9 means you are 10 percent below it, 1.2 means 20 percent above. It turns the category into a simple ratio you can compare at a glance. The Ponderal Index divides weight by height cubed instead of squared, which makes it more stable for people who are unusually tall or short โ one of BMI's known weaknesses, discussed below.
How do I use the BMI Calculator?
The tool is built to be fast and to remove the two most common mistakes: wrong units and mental-arithmetic slips.
Start by choosing your unit system. Metric takes kilograms and centimetres. Imperial takes pounds, plus feet and inches as two separate fields โ because nobody thinks of their height as "70 inches", they think "5 foot 10", and the calculator adds those up for you. Switching systems clears the last result so you never read a metric answer against imperial input.
Enter your weight and height, then press Calculate. You get your BMI to one decimal place, the WHO category as a coloured badge, and a horizontal scale that plots exactly where your number falls between 15 and 40. Below that, three figures: the healthy weight range for your specific height, the distance in kilograms or pounds to the nearest edge of that range, and your BMI Prime. The exact formula the tool used sits underneath, so you can check it by hand or paste it into a spreadsheet.
The healthy-range calculation is the part I find most useful and most tools omit. Instead of only telling you which band you are in, it inverts the formula: for your height, what weight range corresponds to BMI 18.5 to 24.9? For someone 1.75 m tall that is roughly 56.7 kg to 76.3 kg. Now the number is actionable in a concrete way โ you can see the actual weights, not an abstract index. Everything happens locally in your browser, which matters for a measurement this personal; your weight and height are never sent anywhere, a privacy stance I wrote more about in the guide on keeping your data private with client-side tools.
Why is BMI criticised so heavily?
If you have read anything about BMI in the last decade, you have probably seen it called flawed, outdated, or even useless. The criticism is fair, and understanding it makes you a smarter user of the number rather than a cynic who dismisses it.
The core problem is that BMI knows only two things about you: your total weight and your height. It has no idea what that weight is made of. Muscle is denser than fat, so a lean, heavily trained athlete can weigh a lot for their height and score as "overweight" or even "obese" while carrying single-digit body-fat percentages. A rugby forward, an Olympic sprinter, a serious powerlifter โ the index routinely misclassifies them. In the other direction, someone with low muscle mass and higher body fat can land in the "normal" band while being metabolically unhealthy, a pattern sometimes called "normal weight obesity".
BMI is also blind to where fat sits, which turns out to matter enormously. Visceral fat around the organs carries far more health risk than the same amount of fat on the hips and thighs, and BMI cannot see the difference. This is why a waist measurement, or a waist-to-height ratio, often predicts risk better than BMI for an individual. It says nothing about age, sex, bone density, or ethnicity either โ and the standard cut points were derived largely from White European populations, so several health bodies now use lower thresholds for people of South Asian descent, where risk rises at a lower BMI.
None of this makes BMI worthless. It makes it a screening tool. It is cheap, needs no equipment beyond a scale and a tape measure, and across a large population it correlates well enough with health outcomes to be genuinely useful for public-health work. The mistake is treating a population-level screen as an individual diagnosis. The calculator states this plainly under every result, and I would rather a user leave knowing the number's limits than leave with false confidence in either direction.
How is BMI different for children and athletes?
Two groups deserve a specific warning, because the adult categories simply do not apply to them.
Children and teenagers are not assessed with the fixed adult bands at all. A growing body changes composition constantly, and what counts as a healthy BMI at age eight is different from age fourteen, and different again between boys and girls. Paediatricians use BMI-for-age percentile charts instead โ your child's BMI is compared against a reference population of the same age and sex, and the result is a percentile, not a category. Feeding a twelve-year-old's numbers into an adult BMI tool produces a meaningless label. If you need a child assessment, use a dedicated percentile calculator or, better, talk to a paediatrician.
Athletes and very muscular people are the classic false positive. The index cannot distinguish their muscle from fat, so it overstates their risk, sometimes dramatically. For this group, body-fat percentage (via calipers, bioelectrical impedance, or a DEXA scan) or a simple waist measurement tells a truer story. If you train seriously and BMI calls you overweight, the number is describing your density, not your health.
Pregnancy is a third exception โ BMI is not designed to track healthy weight gain during pregnancy, and the pre-pregnancy figure is what clinicians reference. The general rule across all three cases is the same: BMI is calibrated for the average non-pregnant adult, and the further you are from that reference, the less the single number means.
Where does BMI fit in a set of tools?
I think of BMI the way I think of any quick diagnostic in software โ a smoke test, not a full test suite. It is the equivalent of a linter warning: fast, automatic, and worth paying attention to, but not proof of a bug on its own. On toolz.dev it lives alongside other everyday calculators that follow the same philosophy of showing their working. The Percentage Calculator handles the "X is what percent of Y" questions that come up when you are tracking any kind of change over time. The Age Calculator does exact date arithmetic without the off-by-one errors that plague manual counting. And when you are moving between measurement systems for anything โ not just weight and height โ the Unit Converter uses exact standard factors so you are not compounding rounding errors.
The common thread is that each tool computes locally, shows the formula, and refuses to pretend a number means more than it does. That last point is easy to skip when you are shipping a calculator and want it to feel authoritative, but I have come to think transparency about limits is a feature, not a disclaimer. It is the same instinct I bring to building developer tools generally, which I wrote up in the developer productivity tools guide โ a tool that tells you the truth about its own accuracy earns more trust than one that projects false precision.
Common mistakes when calculating BMI
The errors I see fall into a short, predictable list. First, mixed units โ a height in centimetres typed into an inches field, or the reverse. This is the single most common cause of a nonsensical result, and it is exactly the bug I opened this guide with. The calculator guards against it by sanity-checking that your height lands in a plausible human range and warning you if it does not.
Second, rounding too early. If you round your height to the nearest whole centimetre before squaring it, small errors get amplified, because the height term is squared. The tool keeps full precision internally and only rounds the final BMI to one decimal.
Third, over-reading a boundary. Landing at 25.2 instead of 24.8 does not mean your health changed overnight; it means you crossed an arbitrary line on a continuous scale. Treat the bands as gradients, not switches.
Fourth, applying adult BMI to the wrong person โ a child, a pregnant person, or a competitive athlete. In every one of those cases the number is measuring something the categories were never calibrated for.
Frequently asked questions
How is BMI calculated?
BMI is your weight in kilograms divided by your height in metres squared (kg/mยฒ). In imperial units the equivalent formula is 703 times weight in pounds divided by height in inches squared. This calculator converts imperial input to metric internally, so both give the same number.
What is a healthy BMI range?
The World Health Organization defines a normal adult BMI as 18.5 to 24.9. Below 18.5 is underweight and 25 or above is overweight, with obesity beginning at 30. These bands are screening guides for adults, not a diagnosis.
Is BMI accurate for athletes and muscular people?
Not reliably. BMI uses only weight and height, so it counts muscle the same as fat. A muscular athlete can score in the overweight or obese range while carrying very little fat. For those cases, body-fat percentage or a waist measurement is a better indicator.
Does BMI work for children?
No. Children and teenagers are assessed with age- and sex-specific BMI-for-age percentile charts, because their body composition changes as they grow. The adult categories this tool uses do not apply under age 20. Speak to a paediatrician or use a dedicated child BMI-percentile tool.
What is BMI Prime?
BMI Prime is your BMI divided by 25, the upper limit of the normal range. A value of 1.0 sits exactly at that limit, below 1.0 is within normal, and above 1.0 shows how far into the overweight range you are. It is a quick way to express BMI as a simple ratio.
Why does my BMI differ between metric and imperial?
It should not. If you get different numbers, a value was entered in the wrong unit โ a height in centimetres typed into an inches field, for example. This calculator converts imperial to metric before computing, so identical measurements always yield an identical BMI.
Can BMI tell me if I am healthy?
BMI is one screening number, not a health verdict. It ignores body-fat distribution, muscle mass, bone density, age, and sex. A normal BMI does not rule out health issues, and a high BMI does not confirm them. Use it as a starting point and consult a healthcare professional for a real assessment.
Is my data private when I use this calculator?
Yes. The calculation is plain JavaScript that runs entirely in your browser. Your weight and height are never uploaded to a server, never logged, and never stored, and the tool keeps working with no internet connection once the page has loaded.
This article is for general information and is not medical advice. BMI is a screening measure, not a diagnosis. For guidance about your own health, speak with a qualified healthcare professional.
