TDEE・BMR 計算ツール
体重80 kg、身長180 cm、30歳で座りがちな男性の基礎代謝量は1780 kcal、体重を保つのに必要な1日の総消費エネルギーは2136 kcalです。性別・体重・身長・年齢・活動レベルを入力すれば、ご自身の値が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 性別
- 男性
- 体重(kg)
- 80
- 身長(cm)
- 180
- 年齢
- 30
- 活動レベル
- 低活動
- 活動係数
- 1.2
- 基礎代謝量
- 1,780
- 1日の総消費カロリー
- 2,136
性別・キログラムの体重・センチメートルの身長・年齢・活動レベルから、Mifflin-St Jeor 式を用いて基礎代謝量と 1 日の総消費エネルギーを推定します。
安静時の消費から1日の必要量へ
計算は2段階です。まず、完全に安静にしているときの消費エネルギーである基礎代謝量を、Mifflin-St Jeor式で求めます。体重(kg)の10倍に身長(cm)の6.25倍を足し、年齢の5倍を引いて、男性は5を足し、女性は161を引きます。体重80 kg、身長180 cm、30歳の男性なら1780 kcalです。次に、この値に活動係数を掛けて、体重を保つためのカロリーである1日の総消費エネルギーを求めます。係数は座りがち1.2、軽い1.375、中程度1.55、活発1.725、非常に活発1.9で、座りがちなら1780が2136になります。
処方ではなく計画の出発点として
この式は体組成やホルモンの状態、代謝の適応を考慮しないため、実際の必要量は推定値と異なることがあります。数値は決まった指示ではなく、計画の目安として使ってください。結果は初期設定で整数のカロリーに丸められ、必要なら小数点以下2桁まで表示できます。よくある間違いは、実際の生活より高い活動レベルを選ぶことで、総消費エネルギーとそこから計算した目標がすべて大きくなってしまいます。
活用例
栄養とコーチングのアプリ
クライアントのプロフィールを維持カロリーの目標に変え、返される tdee に対して不足または余剰を適用します。
よくある質問
小数のカロリーを得られますか?
はい。 decimals を 0 から 2(既定 0)に設定します。bmr と tdee は生の値からそれぞれ独立に half-up で丸められます。
これは医学的な助言ですか?
いいえ。 体組成と代謝適応を無視する決定的な推定です。診断ではなく計画に使ってください。
基礎代謝量と総消費エネルギーの違いは何ですか?
基礎代謝量は、完全に安静にしているときに体が消費するエネルギーです。総消費エネルギーは活動係数で日常の動きや運動の分を加えたもので、体重を保つための現実的なカロリーです。
活動レベルはどれを選べばよいですか?
普段の1週間に合うものを選びます。座りがちは基礎代謝量の1.2倍、軽いは1.375倍、中程度は1.55倍、活発は1.725倍、非常に活発は1.9倍です。使われた係数は結果と一緒に表示されます。
減量や増量にはどう使えばよいですか?
基礎代謝量ではなく総消費エネルギーを基準にし、それより少なく食べれば不足、多く食べれば余剰になります。基礎代謝量は完全な安静時の値なので、そこから減らすと目標が低くなりすぎます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/dev/calorie-needs \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"sex":"male","weight_kg":80,"height_cm":180,"age_years":30,"activity":"sedentary"}'const res = await fetch("https://api.kit.forhosting.com/dev/calorie-needs", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"sex": "male",
"weight_kg": 80,
"height_cm": 180,
"age_years": 30,
"activity": "sedentary"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/calorie-needs",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"sex": "male",
"weight_kg": 80,
"height_cm": 180,
"age_years": 30,
"activity": "sedentary"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/calorie-needs", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"sex":"male","weight_kg":80,"height_cm":180,"age_years":30,"activity":"sedentary"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"sex":"male","weight_kg":80,"height_cm":180,"age_years":30,"activity":"sedentary"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/calorie-needs", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"sex": "male",
"weight_kg": 80,
"height_cm": 180,
"age_years": 30,
"activity": "sedentary"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.calorie_needs",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
Mifflin-St Jeor 式
認識される 5 段階のレベルは固定の係数に対応します。実例の男性・80 kg・180 cm・30 歳・sedentary は BMR 1780、TDEE 2136 kcal を生みます。dev.calorie_needs はまず Mifflin-St Jeor の式で基礎代謝量(BMR)を計算します。10 × weight_kg に 6.25 × height_cm を加え、5 × age_years を引き、次に男性なら 5 を足し、女性なら 161 を引きます。その安静時の値に activity_factor を掛けて 1 日の総消費エネルギー(tdee)、すなわち述べられた活動でその体重を維持するのに必要なカロリーを求めます。sedentary 1.2、light 1.375、moderate 1.55、active 1.725、very_active 1.9 です。応答は各入力を activity_factor・bmr・tdee と並べて返しますので、適用された係数が明示され、2 つのカロリー値を手作業で照合できます。
必須フィールド・範囲・丸め
sex は male または female でなければならず、activity は 5 つの列挙値のいずれかでなければなりません。decimals は 0 から 2 までの整数(既定 0)で、bmr と tdee の両方の丸めを制御します。sex・weight_kg・height_cm・age_years・activity のすべてが必須です。その他の文字列は型付きの invalid_input エラーを返します。weight_kg は 0 より大きく 500 まで、height_cm は 0 より大きく 300 まで、age_years は 0 より大きく 120 までの有限な数でなければならず、これが算術の前に不可能な身体を締め出します。
数値の読み方と使い方
BMR は身体が完全な安静時に消費するエネルギーです。減量または増量には、クライアントは通常 bmr ではなく tdee に対して不足または余剰を作ります。この式は体組成・ホルモン状態・適応的熱産生を無視するため、出力は計画を定めるための推定であり、処方ではありません。TDEE は activity_factor を通じて日々の動きと運動のコストを加えますので、現実的な維持の目標になります。失敗した API タスクは決して課金されません。
連携の活用例
オンボーディングの計算ツール
widget を埋め込み、新しい会員が性別・体重・身長・年齢・活動から自分の BMR と TDEE を即座に見られるようにします。
食事計画の一括サイズ設定
名簿全体に対して API を呼び出し、各人の tdee から一度の実行で分量とマクロを設定します。
技術的な質問
BMR にはどの式が使われますか?
Mifflin-St Jeor です。10*weight_kg + 6.25*height_cm - 5*age_years に、男性なら 5 を足し、女性なら 161 を引きます。
TDEE は BMR からどう導かれますか?
BMR にレベルの activity_factor を掛けます。sedentary 1.2、light 1.375、moderate 1.55、active 1.725、very_active 1.9 です。
どの単位と範囲が期待されますか?
weight_kg は 500 まで、height_cm は 300 まで、age_years は 120 まで、いずれも 0 より大きくなければなりません。範囲外の値は invalid_input を返します。