基础代谢率计算器(BMR / TDEE)
输入性别、年龄、身高、体重(可选体脂率)与日常活动量,得到选定公式的基础代谢 BMR 与每日总消耗 TDEE;表格并列给出三种公式各自的 BMR 与 TDEE,方便看出公式差异。
基础代谢率(BMR)是维持生命最低活动的热量消耗,每日总消耗(TDEE)= BMR × 活动系数——减脂增肌都要先知道这两个数。本工具输入性别、年龄、身高、体重(可选体脂率)与活动量,表格并列给出 Mifflin-St Jeor、Harris-Benedict、Katch-McArdle 三种公式的 BMR 与 TDEE。
公式差异说明:Mifflin-St Jeor 是当前公认最准的通用公式;Harris-Benedict 是经典老公式,对现代人普遍偏高 5% 左右;Katch-McArdle 需要体脂率,肌肉量大者用它更准——三档并列对照,取中位数或按自身情况选。
这个工具解决你的问题了吗?
提交后会把工具名、你的输入与当前结果发送到服务器;请勿填写身份证号、手机号等隐私信息。
AI 助手 会结合你当前的输入与结果回答
追问会再次把当前输入与结果发送到服务器;请勿填写隐私信息。
使用步骤
- 填性别、年龄、身高、体重与日常活动量。
- 有体脂率数据就填上,Katch-McArdle 公式会更准。
- 看三种公式的 BMR 与 TDEE 对照表,取中位数参考。
- TDEE 是维持体重的热量;减脂增肌在此基础上调整。
计算原理与示例
三个 BMR 公式分别是什么
Mifflin-St Jeor:男性 BMR = 10×体重 + 6.25×身高 − 5×年龄 + 5,女性把 +5 换成 −161。以 70kg、175cm、30 岁男性为例,BMR = 700 + 1093.75 − 150 + 5 = 1648.75 kcal。Harris-Benedict 修订版用的是另一组系数(男 88.362 + 13.397W + 4.799H − 5.677A),同一人得 1695.667 kcal。
TDEE 与活动系数
Katch-McArdle 不看身高年龄,只用去脂体重:BMR = 370 + 21.6 × 去脂体重(kg),去脂体重 = 体重 ×(1 − 体脂率)。上例若体脂 20%,去脂体重 56kg,BMR = 370 + 1209.6 = 1579.6 kcal。它最适合肌肉量明显偏离平均的人,但必须知道体脂率。
为什么三种公式结果不同
TDEE = BMR × 活动系数。五档系数为久坐 1.2、轻度 1.375、中度 1.55、高度 1.725、极高 1.9。三种公式的差值通常在 5%~10% 之间,属于估算本身的误差范围,不必纠结「哪个绝对准」,选一个跟着用、再用实际体重变化校准即可。
计算依据:BMR 采用 Mifflin-St Jeor、Harris-Benedict(1984 修订)与 Katch-McArdle 三套公开公式,活动系数取 1.2~1.9 的通用分档。结果均为估算值,个体差异可达 ±10%,不替代医生或注册营养师的专业方案。
代码示例
JavaScript 三种 BMR 公式
function bmrAll({ male, age, hCm, wKg, bodyFatPct }) {
const s = male ? 5 : -161;
const msj = 10 * wKg + 6.25 * hCm - 5 * age + s; // Mifflin
const hb = male
? 88.362 + 13.397 * wKg + 4.799 * hCm - 5.677 * age
: 447.593 + 9.247 * wKg + 3.098 * hCm - 4.330 * age; // Harris
const lbm = wKg * (1 - (bodyFatPct || 25) / 100);
const katch = 370 + 21.6 * lbm; // Katch
return { msj, hb, katch };
}
Python 同三公式的 Python 版
def bmr_all(male, age, h_cm, w_kg, body_fat=25):
s = 5 if male else -161
msj = 10 * w_kg + 6.25 * h_cm - 5 * age + s
hb = (88.362 + 13.397 * w_kg + 4.799 * h_cm - 5.677 * age
if male else
447.593 + 9.247 * w_kg + 3.098 * h_cm - 4.330 * age)
lbm = w_kg * (1 - body_fat / 100)
return {"msj": msj, "hb": hb, "katch": 370 + 21.6 * lbm}
# TDEE = BMR × 活动系数(1.2 久坐 ~ 1.9 重体力)
常见问题
基础代谢率和每日总消耗有什么区别?
基础代谢 BMR 是维持生命体征的最低消耗(躺着不动),每日总消耗 TDEE = BMR × 活动系数,把走路、工作、锻炼都算进去。安排吃多少要看 TDEE,拿 BMR 当标准会明显偏低。
三种 BMR 公式该选哪个?
普通人默认用 Mifflin-St Jeor,它最贴近现代人群;体重正常、数据简单时 Harris-Benedict 修订版结果会略高几个百分点;若你健身、体脂率清楚(尤其肌肉量大),Katch-McArdle 更准。三者相差多在 10% 以内。
Katch-McArdle 为什么必须填体脂率?
它的自变量只有去脂体重,没有身高年龄。没有体脂率就算不出肌肉与脂肪的比例,结果会失真,所以本工具在缺体脂率时会直接提示补填,而不是随便给一个数。
为什么我算出的 BMR 和别人不一样?
BMR 由体重、身高、年龄、性别共同决定,同一公式下不同人本就应该不同。真正需要警惕的是「按公式吃却不变」——那通常是活动系数选高了,或食物记录漏记了烹调油与饮料。
BMR 会随年龄下降吗?
会。公式里每增加 1 岁,男性少吃 5 kcal、女性同样减 5 kcal 的系数;更重要的是 30 岁后肌肉量逐年流失,如果不做力量训练,实际下降幅度往往比公式更大。
想减脂,可以吃得比 BMR 还低吗?
不建议长期这样。低于 BMR 容易触发代谢适应、掉肌肉并引发反弹。稳妥做法是在 TDEE 上减 300~500 kcal,并保证蛋白质摄入;若 TDEE 减去 500 后仍低于 BMR,说明活动量偏低,应先增加日常活动。
和站内的卡路里计算器有什么区别?
卡路里计算器侧重「每天该吃多少」(给出减脂 / 维持 / 增肌目标热量),本工具侧重「BMR 怎么算」——用三种公式并列对照,并解释它们各自的适用人群。两个工具用的是同一套活动系数,数值互相对得上。
我输入的体重和体脂率会被保存吗?
不会离开你的设备。计算全程在浏览器内完成,没有上传接口;若使用计算历史,记录仅写入本机 localStorage,可一键清空,用无痕窗口则关闭即消失。
延伸阅读
来自本站原创文章,讲清这个工具背后的算法与口径。