マクロからカロリー計算
この逆算マクロカロリー計算ツールは、栄養計画、レシピ、食事記録、食品表示に記載されたグラム数を総カロリーへ換算します。たんぱく質、炭水化物、脂質を入力すると、たんぱく質1グラム当たり4キロカロリー、炭水化物は4、脂質は9という標準係数を適用します。各栄養素が占めるカロリーと合計をどちらも表示するため、計算内容を確認し、別の用途にも簡単にお使いいただけます。
無料で実行
マクロのグラム数が分かっている場合にカロリーを求める方法
栄養目標は、一つのカロリー値ではなくグラム単位で示されることがよくあります。換算するには、計画や記録に書かれているとおりに、たんぱく質、炭水化物、脂質の量を入力してください。本ツールは、たんぱく質のグラム数に4、炭水化物に4、脂質に9を掛け、三つの値を合計します。専門家から1日のマクロ目標を提示された場合、栄養分析にエネルギー値がないレシピを確認する場合、食事記録の整合性を確かめる場合に役立ちます。三つの入力はすべて必須です。含まれない栄養素にはゼロを入力してください。小数も使用できるため、12.5グラムのような値を事前に丸める必要はありません。栄養素の物理的な量は負にならないため、負数はエラーになります。結果には受け付けたグラム数を再掲し、各マクロのカロリーと総量を並べて表示します。そのため、エネルギーがどの栄養素から生じたかを明確にご確認いただけます。
標準的な4/4/9カロリー係数について
計算には、主要栄養素に用いられる一般的なエネルギー係数を採用しています。たんぱく質は1グラム当たり4キロカロリー、炭水化物は4、脂質は9です。この違いにより、同じ重量の食品でもカロリーが大きく異なる場合があります。脂質はエネルギー密度が高いため、脂質を1グラム増やしたときの変化は、たんぱく質や炭水化物を1グラム増やした場合より大きくなります。結果では、たんぱく質、炭水化物、脂質由来のカロリーを分けてから合計するので、説明のない総量だけに頼らず式を確認できます。これは入力された三つのマクロのみを基にした算術上の推定値です。不足している栄養素、分量、材料重量を推測したり、食品ごとに別の係数を適用したりはしません。食品表示との小さな差は、端数処理、食物繊維や糖アルコールの扱い、有機酸、アルコール、地域ごとの表示規則などで生じます。あらゆる表示制度を再現する値ではなく、根拠を確認できるマクロベースの合計としてご利用ください。
栄養計画、レシピ、データ確認への活用方法
逆算は、グラム数を基準データとして扱う場面に適しています。1日の栄養計画では、目標のグラム数を入力すると、そのマクロ配分が表すエネルギーを推定できます。レシピの場合は、まず全材料のたんぱく質、炭水化物、脂質を合計し、料理全体のカロリーを計算してください。1食分が必要なら、その後で全体を分けます。栄養データの確認では、各レコードの三つのグラム項目をAPIへ送り、返された合計と保存済みのカロリーを比較できます。差があっても、直ちにどちらかが誤りとは限りません。食品表示では栄養素ごとに丸めたり、この三要素の式に含まれない成分を考慮したりするためです。大きな差は、情報源と前提を調べるきっかけとして扱ってください。材料ごとの早い段階での丸めは差を累積させるため、利用可能な小数は保持することをおすすめします。処理は決定的で、通信、乱数、時刻に依存しません。同じ入力からは常に同じ結果が得られます。ブラウザーでは直接利用でき、自動リクエストは1回当たり$0.002です。
活用例
1日のマクロ目標を確認
専門家が示したたんぱく質、炭水化物、脂質のグラム目標を、計画全体のカロリーへ換算します。
レシピのカロリーを推定
三つの主要栄養素を合計してレシピ全体のエネルギーを求め、出来上がり総量から1食分を計算できます。
栄養データを監査
保存済みのカロリー値を明確な4/4/9合計と比較し、見直す必要があるレコードを見つけます。
よくある質問
どのような式で計算しますか?
たんぱく質のグラム数 × 4 + 炭水化物のグラム数 × 4 + 脂質のグラム数 × 9で計算します。結果は、食品表示で一般にカロリーと呼ばれるキロカロリー単位です。
食品表示の値と異なることがあるのはなぜですか?
表示では、認められた端数処理を行ったり、食物繊維、糖アルコール、アルコール、有機酸などを別の方法で扱ったりします。本ツールは入力された三つのマクロだけを使用します。
小数のグラム値を入力できますか?
はい。各項目には、ゼロ以上の有限な数値を小数も含めて入力できます。先に丸めるより、利用できる精度を保つほうが通常は正確な合計になります。
マクロの値をゼロにできますか?
はい。食品、レシピ、計画にその栄養素が含まれない場合はゼロを入力してください。計算内容を明確にするため、三つの項目はすべて入力が必要です。
負の値を入力するとどうなりますか?
グラム値を負にできないことを示す入力エラーが返されます。この計算では、負の栄養素量に物理的な意味がないためです。
APIでの計算料金はいくらですか?
APIリクエスト1回の料金は$0.002です。このページでは、同じ決定的な計算をブラウザー上で無料で実行することもできます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/calc3/calories-to-macros-reverse \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"protein_g":150,"carbohydrates_g":250,"fat_g":70}'const res = await fetch("https://api.kit.forhosting.com/calc3/calories-to-macros-reverse", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"protein_g": 150,
"carbohydrates_g": 250,
"fat_g": 70
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/calc3/calories-to-macros-reverse",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"protein_g": 150,
"carbohydrates_g": 250,
"fat_g": 70
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/calc3/calories-to-macros-reverse", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"protein_g":150,"carbohydrates_g":250,"fat_g":70}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"protein_g":150,"carbohydrates_g":250,"fat_g":70}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/calc3/calories-to-macros-reverse", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"protein_g": 150,
"carbohydrates_g": 250,
"fat_g": 70
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "calc3.calories_to_macros_reverse",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |