碳水摄入量计算器

填每日总热量、碳水供能份额、体重、膳食纤维与升糖指数,立刻得到每日碳水克数、每公斤体重克数、扣纤维后的净碳水,以及与 DRI 130 g 和生酮 50 g 两个阈值的比较,并按 GI 估算整日血糖负荷 GL。

碳水克数247.5 g
每公斤体重3.536 g/kg
净碳水(扣纤维)222.5 g(占总量 89.90%)
碳水热量990.0 kcal(占总热量 45.0%)
DRI 最低 130 g/天达标(高出 117.5 g)
AMDR 45-65%在区间内
生酮阈值 50 g/天远高于(还差 197.5 g 才降到阈值)
整日 GL(GI=55)122.4(高);三餐均分约 40.8
  • 换算链:2200.0 kcal × 45.0% = 990.0 kcal,÷4 得 247.5 g,再减纤维 25.0 g 得净碳水 222.5 g。
  • 运动补糖(g/h):低强度不足 1 小时 0-30,中强度 1-2 小时 30-60,高强度 2-3 小时 60-90,超长超过 3 小时 80-90。
  • 份额 45.0% 落在可接受范围 45-65% 内;247.5 g 高于 DRI 的 130 g,也远高于生酮的 50 g。

提示:五个输入框里按 Enter 都会立即重算。碳水克数只由「总热量 × 份额 ÷ 4」决定,体重只影响 g/kg,GI 只影响 GL。

使用方法

  1. 填每日总热量(默认示例 2200 kcal)。它应当来自基础代谢与活动水平的估算;手上只有食品标签上的千焦数时,先用「千焦转千卡换算」折成 kcal 再填。
  2. 填碳水供能份额(默认 45%)。它指碳水提供的热量占全天总热量的比例,与「碳水占食物重量的比例」不是一回事,两者可以相差好几倍。
  3. 填体重(默认 70 kg)。体重只影响「每公斤体重克数」这一项,不改变碳水总克数,但正是这一项决定了同一个克数对你是否偏多。
  4. 填膳食纤维(默认 25 g),用于从总碳水里扣除得到净碳水;填 0 表示不扣除,此时净碳水等于总碳水。
  5. 填升糖指数 GI(默认 55,白米饭的常用值)。GI 只参与血糖负荷 GL 的估算,不影响任何克数结果。
  6. 上方五个输入框按 Enter 立即重算;下方批量框用 Ctrl + Enter(macOS 为 Command + Enter)触发。批量表默认 12 行,可「加载更多」或导出 CSV、复制 TSV。

这个碳水摄入量计算器能解决什么问题

一是把「少吃点碳水」变成可以称量的克数。2200 kcal 配 45% 份额,碳水就是 247.5 g;想压到生酮常用的 50 g,份额得从 45% 降到约 9%,而不是「少盛半碗饭」。

二是分清总碳水与净碳水。膳食纤维不被小肠酶解吸收,所以 247.5 g 总碳水扣掉 25 g 纤维后是 222.5 g 净碳水,占总量 89.90%。看标签时,两款都标「碳水 30 g」的食品,纤维含量不同,进入血液的量也不同。

三是给出个体化的 g/kg 而不是一刀切的克数。同样是 247.5 g,45 kg 的人是 5.500 g/kg,100 kg 的人只有 2.475 g/kg,相差一倍多。耐力项目的补糖方案本来就按体重分档:低强度不足 1 小时 0-30 g/h,中强度 1-2 小时 30-60 g/h,高强度 2-3 小时 60-90 g/h,超长超过 3 小时 80-90 g/h。

四是同时对照两个来源不同的阈值。130 g/天来自膳食营养素参考摄入量,依据是大脑与红细胞对葡萄糖的需求下限,长期低于它会转向酮体供能;50 g/天则是生酮饮食维持营养性酮症的经验上限。247.5 g 对前者是「达标(高出 117.5 g)」,对后者是「远高于(还差 197.5 g 才降到阈值)」——两个结论并不矛盾,因为阈值出自两套逻辑。

五是把「份额合不合理」也一并检查。45% 落在可接受宏量营养素分布范围 45-65% 内;份额填 20% 或 80%,克数照样算得出来,但页面会标出低于下限或高于上限。

本站的这个碳水摄入量计算器按 Atwater 因子折算,不做这些事:不评估餐后血糖反应,不替代医学营养治疗,也不区分糖与淀粉的代谢差异。

计算原理与变量说明

第一层是份额折算:碳水热量(kcal) = 总热量 × 份额% ÷ 100。2200 × 45 ÷ 100 = 990.0 kcal。这一步只是把百分比换成绝对热量,不含营养学假设。

第二层是Atwater 因子:碳水(g) = 碳水热量 ÷ 4。990.0 ÷ 4 = 247.5 g。这里的 4 kcal/g 是 Atwater 体系给「可利用碳水」的平均代谢能,与燃烧热不是同一个数:它已扣除消化吸收损失与尿中含氮物的能量。同一体系里蛋白质取 4 kcal/g、脂肪取 9 kcal/g、酒精取 7 kcal/g。

第三层是净碳水:净碳水(g) = max(0, 碳水 g − 膳食纤维 g)。247.5 − 25 = 222.5 g。膳食纤维在化学分析上属于碳水化合物,标签的总碳水里含它,但它不被小肠吸收,所以从「可利用」的角度要扣掉。

第四层是个体化指标:g/kg = 碳水 g ÷ 体重 kg。247.5 ÷ 70 = 3.536 g/kg。这一项才适合跨体重比较,也是运动补糖分档的依据。

第五层是血糖负荷:GL = GI × 可用碳水 g ÷ 100,分级为 GL 小于 11 为低、11 到 19 为中、大于等于 20 为高。GI 取 55、整日可用碳水 222.5 g 时 GL = 122.4,属高档。需要说明的是,GL 的经典用法针对一份食物而非一整天,所以整日合计必然很大;按三餐均分每餐约 40.8。

变量取值范围:总热量 1 到 20000 kcal,碳水份额 0 到 100%,体重 1 到 500 kg,膳食纤维 0 到 500 g,GI 1 到 110。五个输入互相独立,改任意一个只影响它参与的那几项输出。

完整示例

示例条件就是页面默认值:每日总热量 2200 kcal,碳水份额 45%,体重 70 kg,膳食纤维 25 g,GI 55。逐项结果是:

换个角度看同一组数:把体重从 70 kg 改成 45 kg,碳水仍是 247.5 g,但 g/kg 从 3.536 跳到 5.500;改成 100 kg 则掉到 2.475。这就是只看绝对克数无法判断高低的原因。

对照表

第一张表固定总热量 2200 kcal、体重 70 kg、纤维 25 g,只把碳水份额从 5% 加到 65%。

份额 %碳水 gg/kg净碳水 g
527.50.3932.5
1055.00.78630.0
1582.51.17957.5
20110.01.57185.0
25137.51.964112.5
30165.02.357140.0
40220.03.143195.0
45247.53.536222.5
50275.03.929250.0
55302.54.321277.5
60330.04.714305.0
65357.55.107332.5

第二张表反过来:固定 2200 kcal、45%、纤维 25 g,只改体重。碳水恒为 247.5 g,变化的是 g/kg。45 kg 那一行已是 5.500 g/kg,接近耐力项目全天补糖的量级;100 kg 那一行只有 2.475 g/kg。

体重 kg碳水 gg/kg
45247.55.500
50247.54.950
55247.54.500
60247.54.125
70247.53.536
80247.53.094
90247.52.750
100247.52.475

第三张表是血糖负荷分级,GI 固定 55,按一份食物里的可用碳水克数算 GL。GI 不变时,吃 30 g 是中负荷(16.5),吃到 100 g 就变成高负荷(55.0)。

可用碳水 gGL(GI=55)分级
3016.5中
5027.5高
8044.0高
10055.0高
15082.5高
200110.0高

第四张表是批量对照:每行写一条「总热量,份额,体重,纤维,GI」,一次算完。默认 14 行,先显示 12 行,点「加载更多」看全部,也能导出 CSV 或复制 TSV。示例固定总热量 2200 kcal 与纤维 25 g,把份额从 5% 推到 65%,最后一行改成 45 kg 体重做对照。

序号总热量 kcal份额 %体重 kg碳水 gg/kg净碳水 gGL分级
12200.05.070.027.50.3932.51.4低
22200.010.070.055.00.78630.016.5中
32200.015.070.082.51.17957.531.6高
42200.020.070.0110.01.57185.046.8高
52200.025.070.0137.51.964112.561.9高
62200.030.070.0165.02.357140.077.0高
72200.040.070.0220.03.143195.0107.3高
82200.045.070.0247.53.536222.5122.4高
92200.050.070.0275.03.929250.0137.5高
102200.055.070.0302.54.321277.5152.6高
112200.060.070.0330.04.714305.0167.8高
122200.065.070.0357.55.107332.5182.9高

注意第 1 行:份额 5% 时碳水只有 27.5 g,扣掉 25 g 纤维后净碳水只剩 2.5 g,远低于生酮的 50 g 阈值。纤维是常数,份额越低相对影响越大——极低碳水方案的纤维克数要单独核对,不能照搬 25 g。

结果边界、舍入与适用说明

常见问题

净碳水为什么要把膳食纤维扣掉?

因为膳食纤维虽被计入标签上的「总碳水化合物」,但不被小肠消化酶分解,也不吸收入血,不提供可代谢的葡萄糖。默认示例里 247.5 g 总碳水扣除 25 g 纤维后是 222.5 g 净碳水,占总量 89.90%。

4 kcal/g 准不准?和标签上的热量对不上怎么办?

4 kcal/g 是 Atwater 体系给可利用碳水的平均代谢能,用于估算与配比是够的,但它是平均值:单糖、双糖与淀粉的实际代谢能略有差异,糖醇更低。各国标签还普遍使用简化系数并允许一定误差,所以本页结果与标签有几个百分点的出入属正常。

130 g 和 50 g 这两个阈值分别是什么意思?

两者来源不同。130 g/天 来自膳食营养素参考摄入量,依据是大脑与红细胞对葡萄糖的需求下限,长期低于它会转向酮体供能;50 g/天 则是生酮饮食为维持营养性酮症而采用的经验上限。默认示例 247.5 g 对前者是「达标(高出 117.5 g)」,对后者是「远高于(还差 197.5 g)」,两个结论可以同时成立。

同样的克数,为什么体重不同结论也不同?

因为身体处理碳水的能力与瘦体重、肝糖原储备和运动量挂钩,而这些都随体重变化。同样是 247.5 g,45 kg 的人分摊下来是 5.500 g/kg,接近耐力项目赛前补糖的量级;100 kg 的人只有 2.475 g/kg,属于普通混合饮食的中位水平。判断个体摄入高低要看 g/kg,绝对克数只用于采购与称重。

GI 和 GL 有什么区别?整日 GL 122.4 是不是算错了?

没算错,只是口径不同。GI 描述某种食物升糖有多快,是以葡萄糖为 100 的相对值;GL 描述吃下去这一份实际带来多大负荷,等于 GI 乘以可用碳水克数再除以 100。经典用法针对一份食物,本页把它套到整日的 222.5 g 净碳水上,自然得到 122.4;按三餐均分每餐约 40.8,与单份食物的量级才可比。

份额填 0 或填 100 会怎样?页面为什么不直接拒绝?

0 到 100% 在算术上都有意义,页面照算:0% 得 0 g 碳水,100% 得 550 g 碳水(2200 ÷ 4)。但两者都不在可接受宏量营养素分布范围 45-65% 内,页面会分别标出「低于下限」与「高于上限」。直接拒绝反而让想算极端方案的人拿不到数字。

膳食纤维填得比碳水还多,为什么报错而不是输出 0?

因为净碳水被压成 0 通常意味着数据填反了或单位写错了,比如把每份的纤维当成每日总量。安静地输出 0 会让人误以为方案可行。页面报错时会同时列出纤维克数与算出的碳水总量,方便直接比对。

输入的内容会被上传或记录吗?

不会。全部计算在浏览器本地完成,只使用 JS 的 Number、Math 与字符串格式化,不发任何网络请求,可以在开发者工具的 Network 面板自查;刷新页面后输入即清空,也不写入本地存储。

相关工具