计算工具 · 健康指标

BMI 计算器

身高体重→BMI/健康区间/中外标准

本地处理 · 不上传 免费 · 无需登录 无次数限制 累计 117 次使用
单位 标准
身高 height
cm
体重 weight
kg
年龄 age
性别 sex
日常活动量 for TDEE
腰围 optional
cm
臀围 optional
cm
请输入身高与体重
就绪 · 身高体重即时计算,刻度盘指针随 BMI 平滑滑动
第一节

关于本工具

About

体检报告上的BMI数字,往往只给一个区间,但“超重”的标准在中国和世卫组织之间差了两个点。这个计算器在算出基础值后,同时显示中国标准与WHO标准的判定结果,避免因参照体系不同而产生误判。身高、体重数据全部在浏览器内处理,不会上传到任何服务器。

使用场景

体检报告复核

拿到单位体检报告,身高体重栏显示 BMI 为 24.6,结论写「超重」。但 30 岁程序员小王记得自己去年 24.1 还是「正常」。把数据输入本工具,工具同时显示中国标准(≥24 超重)和 WHO 标准(≥25 超重),并给出精确到小数点后一位的数值。小王发现报告取整为 25 导致误判,实际按中国标准确实超重,但按 WHO 标准仍在正常范围,两份标准对比让他理解了差异来源。

健身教练评估

私教课第一次体测,学员小李身高 178cm、体重 82kg。教练用本工具算出 BMI 25.9,属于中国标准超重范围。但教练同时输入体脂率 15%,发现小李是肌肉量偏高导致的「假性超重」。工具在输出 BMI 的同时,会注明「该指数不区分脂肪与肌肉」,教练据此向学员解释为什么需要结合体脂率判断,而不是单纯减重。

婚检报告解读

准夫妻在社区医院做完婚检,女方身高 160cm、体重 57kg,报告未列 BMI。她打开本工具输入数据,算出 BMI 22.3,落在中国标准「正常」区间(18.5-23.9)。工具同时显示 WHO 标准下该值也属正常。两人又各自测了对方的数据,发现男方 BMI 24.8 已进入中国标准「超重」但 WHO 标准仍属「正常」,讨论起备婚期间谁该控制饮食有了数据依据。

留学体检准备

准备赴美留学的学生小张收到学校体检表,要求提供 BMI 值且注明需按 WHO 标准。国内社区医院只给身高体重。他用本工具输入 175cm、70kg,得到 BMI 22.9。工具默认同时显示中国和 WHO 两套标准:按中国标准属正常(18.5-23.9),按 WHO 标准也属正常(18.5-24.9)。小张截图保存,附在体检材料里提交,免去了再去三甲医院重新开证明的麻烦。

保险核保自查

35 岁程序员老赵想买重疾险,代理人告知 BMI 超过 30 可能加费或拒保。他身高 170cm、体重 88kg,用本工具算出 BMI 30.4,属于中国标准「肥胖」区间。工具同时显示 WHO 标准下 30.4 为「肥胖 I 级」。老赵看到精确值后,决定先花三个月减重到 80kg 以内(BMI 27.7)再投保,届时按中国标准仅属「超重」而非「肥胖」,核保通过概率更高。

对比矩阵

维度本工具在线 BMI 计算站传统方法
隐私身高体重数据仅在浏览器本地计算,不上传服务器多数需提交表单至后端,数据留存服务器日志纸笔记录,无数字泄露风险但易丢失
离线可用完全离线,断网也可用依赖网络连接,断网无法访问不依赖任何电子设备
标准覆盖同时显示中国标准(24/28)与 WHO 标准(25/30)多数只显示 WHO 标准或单一标准需自行查阅不同标准表格,易混淆
单位灵活性支持 cm/kg 与 ft/in/lbs 即时切换部分仅支持公制,英制需手动换算需额外换算工具或心算
结果解读输出 BMI 数值 + 对应区间 + 中外标准对比通常只输出数值和简单区间查表对照,无自动对比
速度即时计算,无网络延迟受网络影响,通常 0.5-2 秒手动计算或查表,耗时 10 秒以上
第二节

使用指南

Getting Started

使用步骤

  1. 1在「身高」输入框键入厘米数(如 175),「体重」输入框键入公斤数(如 70),两字段均支持小数点
  2. 2点击「计算 BMI」按钮,结果区立即显示 BMI 数值(保留一位小数)及对应健康区间(偏瘦/正常/超重/肥胖)
  3. 3展开「标准对照」面板,可切换查看中国标准(WS/T 428-2013)与 WHO 国际标准(BMI ≥ 25 为超重)的区间差异
  4. 4点击结果区「复制结果」按钮,将 BMI 数值与区间标签一并复制到剪贴板,方便粘贴到体检报告或健康记录中

输入输出示例

输入输出说明
身高 170 cm,体重 65 kgBMI = 22.5,健康区间:正常(中国标准 18.5-23.9,WHO 标准 18.5-24.9)常规:典型健康成年人,展示中外标准差异(中国上限更严)
身高 160 cm,体重 48 kgBMI = 18.8,健康区间:正常(中国标准 18.5-23.9,WHO 标准 18.5-24.9)常规:偏瘦但仍在正常范围,验证低端边界附近的计算
身高 175 cm,体重 93 kgBMI = 30.4,健康区间:肥胖(中国标准 ≥28,WHO 标准 ≥30)边界:刚好跨过 WHO 肥胖阈值(30),展示两个标准的不同分级
身高 150 cm,体重 33 kgBMI = 14.7,健康区间:过轻(中国标准 <18.5,WHO 标准 <18.5)边界:极端低体重,验证工具对极低值的稳定输出
身高 200 cm,体重 150 kgBMI = 37.5,健康区间:肥胖(中国标准 ≥28,WHO 标准 ≥30)边界:极端高值,验证大数计算是否溢出或四舍五入正确
身高 0 cm,体重 65 kg错误提示:身高必须大于 0易错:零或负数输入的处理,很多工具会返回无穷大或 NaN
身高 170 cm,体重 0 kgBMI = 0.0,健康区间:过轻(中国标准 <18.5,WHO 标准 <18.5)易错:体重为零的边界情况,应正常输出而不报错(物理上不可能但数学上合法)
身高 170 cm,体重 200 kgBMI = 69.2,健康区间:肥胖(中国标准 ≥28,WHO 标准 ≥30)易错:极端肥胖值,验证分级标签是否仍能正确匹配(不因值过大而失效)

常见错误对照

1.身高单位用错,输入厘米却当米算

✗ 错误身高输入 175(实际是厘米),BMI 算出 175² / 体重 = 异常大数
✓ 修复身高输入 1.75(米)或确认工具单位是厘米

BMI = 体重(kg) / 身高(m)²。多数工具默认身高用米,若用户按习惯输厘米(175),结果会放大 10000 倍,完全失真。

2.体重单位误用斤而非公斤

✗ 错误体重输入 130(实际是斤),BMI 算出 130 / 身高² = 异常小
✓ 修复体重输入 65(公斤),或确认工具单位是斤

BMI 公式严格使用公斤(kg)。1 斤 = 0.5 kg,差 2 倍。输入斤会导致 BMI 偏低一半,可能把超重判为正常。

3.身高输入带小数点但单位理解错误

✗ 错误身高 1.75 米,但用户以为工具要厘米,结果 1.75 被当作 1.75 厘米
✓ 修复看清工具单位提示:若单位是米则输 1.75,若单位是厘米则输 175

工具界面通常有单位标注,但用户容易凭习惯忽略。单位混淆会导致 BMI 计算偏差达 10⁴ 倍。

4.只看单一 BMI 数值,忽略年龄/性别差异

✗ 错误60 岁老人 BMI 22.5,直接判定为正常,但老人肌肉流失、体脂偏高
✓ 修复参考年龄分层标准(如 WHO 对 65+ 建议 BMI 22-27),或使用体脂率辅助判断

BMI 是群体统计指标,对老年人、运动员(肌肉多)等个体误差大。标准区间(18.5-24)主要适用于 18-65 岁普通成年人。

5.用 BMI 判断儿童肥胖,套用成人标准

✗ 错误8 岁儿童 BMI 19,按成人标准判为正常
✓ 修复使用儿童 BMI 百分位曲线(如 CDC 生长图),BMI ≥ 95 百分位才算肥胖

儿童 BMI 随年龄性别变化,必须对照同年龄同性别百分位。成人固定阈值(如 24)对儿童完全不适用。

6.单次测量波动大,却当作最终结果

✗ 错误早晨空腹测 BMI 22.0,晚上饱食后测 22.8,认为体重变了
✓ 修复固定时间(如晨起空腹、排便后)测量,取 3 次平均值

体重日间波动 1-2 kg 正常(水分、食物)。单次 BMI 不可靠,建议同一条件连续测 3 天取均值。

7.中外标准混用,导致误判

✗ 错误中国人 BMI 25,按 WHO 标准判为正常(<25),但按中国标准已超重(≥24)
✓ 修复使用工具提供的中国标准(超重≥24,肥胖≥28)或明确选择地区标准

WHO 标准(超重≥25)基于欧美人群,亚洲人体脂率偏高,中国卫健委采用更低切点(24/28)。混用会漏判超重。

8.输入体重时包含衣服重量

✗ 错误穿冬装称重 78 kg,实际净重 75 kg,BMI 偏高 0.9
✓ 修复称重时穿轻薄内衣,或减去衣物估算重量(冬装约 2-3 kg,夏装约 0.5 kg)

衣物重量可达 3 kg,对 BMI 影响约 1 个单位,足以改变超重/正常分类。

第三节

工作原理

How It Works

核心公式

BMI = 体重(kg) ÷ (身高(m))²

变量说明

  • 体重千克,输入范围 1–500 kg
  • 身高米,输入范围 0.5–2.5 m

示例

体重 75 kg、身高 1.80 m:BMI = 75 ÷ (1.80×1.80) = 75 ÷ 3.24 ≈ 23.15,按中国标准(18.5–23.9)属正常,按 WHO 标准(18.5–24.9)亦属正常。

输入身高 / 体重计算BMI = 体重(kg) / 身高²(m)查表中国 / 国际标准输出区间标准对照表(示例)中国标准:偏瘦 < 18.5 | 正常 18.5–23.9 | 超重 24–27.9 | 肥胖 ≥ 28国际标准:偏瘦 < 18.5 | 正常 18.5–24.9 | 超重 25–29.9 | 肥胖 ≥ 30
用户输入 / 输出 本地计算 标准查表
第四节

开发者集成

For Developers

5 种主流语言实现,复制即用:

def bmi(weight_kg: float, height_cm: float) -> float: """计算 BMI,身高单位 cm,体重单位 kg""" if height_cm <= 0 or weight_kg <= 0: raise ValueError("身高和体重必须为正数") height_m = height_cm / 100.0 return round(weight_kg / (height_m ** 2), 1) # 示例:身高 170cm,体重 65kg print(bmi(65, 170)) # 输出: 22.5
function bmi(weightKg, heightCm) { if (heightCm <= 0 || weightKg <= 0) { throw new Error('身高和体重必须为正数'); } const heightM = heightCm / 100; return Math.round((weightKg / (heightM ** 2)) * 10) / 10; } // 示例:身高 170cm,体重 65kg console.log(bmi(65, 170)); // 22.5
package main import ( "fmt" "math" ) func bmi(weightKg, heightCm float64) (float64, error) { if heightCm <= 0 || weightKg <= 0 { return 0, fmt.Errorf("身高和体重必须为正数") } heightM := heightCm / 100 return math.Round(weightKg/(heightM*heightM)*10) / 10, nil } func main() { result, _ := bmi(65, 170) fmt.Println(result) // 22.5 }
function bmi(weightKg: number, heightCm: number): number { if (heightCm <= 0 || weightKg <= 0) { throw new Error('身高和体重必须为正数'); } const heightM = heightCm / 100; return Math.round((weightKg / (heightM ** 2)) * 10) / 10; } // 示例:身高 170cm,体重 65kg console.log(bmi(65, 170)); // 22.5
#!/bin/bash # 用法:./bmi.sh 65 170 weight_kg=$1 height_cm=$2 if [ -z "$weight_kg" ] || [ -z "$height_cm" ]; then echo "请提供体重(kg)和身高(cm)" exit 1 fi height_m=$(echo "scale=2; $height_cm / 100" | bc) bmi=$(echo "scale=1; $weight_kg / ($height_m * $height_m)" | bc) echo "$bmi" # 示例:bash bmi.sh 65 170 输出 22.5
第五节

常见问题

Q & A
我身高170cm,体重70kg,算出来的BMI是24.2,但我觉得自己挺胖的,这个数准不准?

BMI 24.2 在中国标准属于「超重」边缘(24-27.9),但 BMI 只看身高体重,不看体脂率。如果你肌肉量高或骨架大,BMI 会偏高但不代表不健康;反过来,体脂高但 BMI 正常(「瘦胖子」)也常见。本工具用的是 WHO 和中国两套标准并行展示,你可以看自己落在哪个区间。想更准确可以结合腰围或体脂秤数据。

为什么中国标准和WHO标准算出来的区间不一样?我应该信哪个?

WHO 标准(18.5-24.9 正常)主要基于欧美人群数据,亚洲人相同 BMI 下体脂率偏高、代谢病风险更大,所以中国标准把正常上限压到 23.9,超重从 24 开始。本工具结果区同时显示两套标准,你按自己国籍或体检机构习惯参考就行。国内医院体检报告通常用中国标准,健身 App 可能用 WHO。

这个BMI计算器要不要上传我的身高体重?离线能用吗?

完全不用上传。所有计算在浏览器本地完成(纯前端 JavaScript),输入的身高体重不会离开你的设备,关掉页面就没了。没网也能用——页面加载后断网刷新,功能照常。没有次数限制,输多少次都行。

我用英尺英寸和磅量了体重,怎么输进去?

本工具输入框只接受公制单位:身高填厘米(cm),体重填千克(kg)。如果你只有英制数据,可以先换算:1 英尺=30.48 cm,1 英寸=2.54 cm,1 磅=0.4536 kg。或者直接用手机上的换算 App 算好再填。后续版本可能会加英制切换,目前暂不支持。

身高填了160,体重填了120,算出来是46.9,怎么感觉不对?

大概率是单位填反了。BMI = 体重(kg)÷ 身高(m)的平方。如果你把体重 120 斤当公斤填,或者身高 160 cm 当米填,结果就会异常。正确示例:160 cm 填 160,120 斤先除以 2 得 60 kg 再填。本工具输入框旁有单位提示(cm / kg),填之前确认一下数字对不对。

BMI 正常范围是18.5-23.9,我18.4算不算很瘦?需要增肥吗?

18.4 在中国标准属于「偏瘦」(<18.5),但只比正常下限低 0.1,单看 BMI 不一定有问题。如果平时精力正常、没有体重持续下降、没有免疫力下降表现,不用刻意增重。但如果伴有易疲劳、怕冷、月经不调(女性)或经常生病,建议查一下体脂率和营养状况。BMI 是筛查工具,不是诊断。

我连续三天用同一个体重秤,早上空腹和晚上饭后BMI差很多,这个工具算出来的到底以哪个为准?

BMI 反映的是长期体脂水平,不是瞬时值。一天内体重波动 1-2 kg 正常(食物、水分、排便影响),早上空腹排空后称最稳定。建议固定条件:早上起床、空腹、穿内衣、同一台秤称重。然后输入本工具,看的是长期趋势,不是跟数字较劲。

孕妇和小孩的BMI怎么算?这个工具能直接给参考吗?

本工具用的是成人标准(18 岁以上),孕妇和儿童的 BMI 判断需要年龄和性别校正曲线,不适用同一套区间。孕妇体重增长有单独指南(按孕前 BMI 分层),儿童用百分位曲线。如果你是为孩子或孕妇计算,结果区显示的数字仅供参考,不能直接用「正常/超重」判断,建议咨询医生。

我体重160斤,身高175cm,算出来BMI是26.1,这个数在手机App里说正常,这里说超重,哪个对?

两边可能都没错,只是标准不同。26.1 在中国标准属于「超重」(24-27.9),在 WHO 标准属于「超重」边缘(25-29.9 超重),如果 App 用的是 WHO 标准,会显示「正常」(因为 WHO 正常上限 24.9,你 26.1 已超)。本工具同时显示两套标准,你可以对照看。建议以你常去体检的机构所用标准为准。

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

健康参考提示本工具仅供个人记录与生活参考不能代替医生诊断或专业医疗建议。如有健康疑虑或持续不适,请咨询医生或前往医院就诊。

选择 打开 +新窗口 esc关闭