レシピの材料分量を人数に合わせて計算
4人分を10人分にすると、すべてが2.5倍になり、小麦粉300 gは750 g、卵2個は5個になります。元の人数、作りたい人数、材料を入れれば、各分量が単位つきで計算されます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 元の人数分
- 4
- 目標の人数分
- 10
- スケール因子
- 2.5
この分量計算ツールは、人数、取り分け数、仕込み回数が変わる場合に、レシピ内のすべての材料を再計算します。元の分量が何人分か、何人分を作りたいか、そして構造化された材料一覧をご入力ください。すべての数量に同じ倍率を適用し、材料名と単位を維持したまま、元の値と換算後の値を返します。計算は常に決定的で、ネットワークを使用せず、0以下の人数は計算前にエラーとして扱います。
配合比を変えずにレシピ全体を増減できます
レシピは、想定される出来上がり量に結び付いた材料同士の比率です。4人分のスープを10人に提供する際、だしだけ、または野菜だけを増やすと、量を増やすのではなく料理そのものを変えてしまいます。この計算ツールでは、目標人数を元の人数で割り、材料一覧全体に共通する倍率を1つ求めます。
その後、各数量に同じ倍率を掛けるため、小麦粉、水、塩、油、香辛料などの関係が数学的に維持されます。数量は数値で入力し、単位は任意の専用欄に分けてください。結果には材料名、元の数量、換算後の数量、単位が並ぶため、変更前後の表示や別の処理への受け渡しが容易です。
使わない任意材料を表す数量0は認めますが、負の数量はレシピデータとして不正なため拒否します。この処理は数値だけを変更し、グラムとカップの変換、包装単位の選択、密度の推定は行いません。入力時と同じ単位で結果をお読みください。
人数倍率と計算結果の意味をご確認ください
4人分から10人分への変更では2.5、8人分から2人分への変更では0.25になります。元の各数量にこの倍率を掛けます。たとえば、4人分で300グラムの小麦粉は10人分では750グラムになり、卵2個は5個になります。
結果は安定した数値精度に整えられ、二進浮動小数点に由来する不要な長い小数列を避けます。2つの人数は、いずれも有限で0より大きい数値でなければなりません。材料の数量は有限かつ0以上にしてください。
包装、スプーン、卵などの整数への丸めは自動では行いません。現場に適した調整は結果をご利用になる方が判断してください。
調理現場やアプリで換算結果をご活用いただけます
家庭では、掲載されている出来上がり人数と実際の人数を入力し、再計算された一覧を買い物メモや下ごしらえ表へ転記できます。ケータリングでは、厨房で採用している単位を保ったまま、同じ応答を製造指示書に利用できます。レシピアプリでは、利用者が人数選択を変更するたびにこの関数を呼び出せます。
材料ごとに表示規則を設ける場合は、表示段階まで丸め前の数値を保持してください。液体は小数第1位、香辛料はさらに細かな単位で示す一方、卵のように分割しにくい品目には明示的な運用判断が必要です。こうした判断は比例計算の範囲外であり、計算値を無断で変更すべきではありません。
送信前には、一覧が空でないこと、材料名が明確であること、単位が意図どおりであること、両方の人数が正であることをご確認ください。分量を減らす際は、型の大きさ、加熱時間、調理機器の容量もあわせてご検討ください。
活用例
来客人数に合わせて夕食を増量
4人分のレシピを10人分へ換算し、すべての材料比率を保った数量を確認できます。
ケータリング用の製造表を作成
試作済みの配合を催事の必要量へ拡大し、各結果に材料名と単位を残せます。
レシピアプリに人数選択を追加
読者が出来上がり人数を変更するたびに、構造化された材料一覧を再計算できます。
よくある質問
単位も変換されますか?
いいえ。 材料に付けた任意の単位は維持し、数値だけを比例換算します。
卵や包装数は自動的に丸められますか?
いいえ。 比例結果をそのまま返しますので、その後に厨房に適した実用的な丸め方をご指定ください。
倍率はどう決まりますか?
作りたい人数を、レシピの元の人数で割った値です。4人分のレシピを10人分にするなら倍率は2.5で、すべての分量にこの数を掛けます。
レシピを少ない人数に減らせますか?
できます。8人分を2人分にすると倍率は0.25になり、どの分量も元の4分の1になります。増やすときも減らすときも同じ決まりです。
なぜすべての材料を同じ倍率で変えるのですか?
レシピは材料同士の割合でできているからです。だしや野菜だけを増やすと料理そのものが変わってしまうので、粉、水、塩、香辛料をそろって変えます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/life/recipe-scale-servings \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"original_servings":4,"target_servings":10,"ingredients":[{"name":"flour","quantity":300,"unit":"g"},{"name":"eggs","quantity":2,"unit":"count"}]}'const res = await fetch("https://api.kit.forhosting.com/life/recipe-scale-servings", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"original_servings": 4,
"target_servings": 10,
"ingredients": [
{
"name": "flour",
"quantity": 300,
"unit": "g"
},
{
"name": "eggs",
"quantity": 2,
"unit": "count"
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/recipe-scale-servings",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"original_servings": 4,
"target_servings": 10,
"ingredients": [
{
"name": "flour",
"quantity": 300,
"unit": "g"
},
{
"name": "eggs",
"quantity": 2,
"unit": "count"
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/recipe-scale-servings", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"original_servings":4,"target_servings":10,"ingredients":[{"name":"flour","quantity":300,"unit":"g"},{"name":"eggs","quantity":2,"unit":"count"}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"original_servings":4,"target_servings":10,"ingredients":[{"name":"flour","quantity":300,"unit":"g"},{"name":"eggs","quantity":2,"unit":"count"}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/recipe-scale-servings", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"original_servings": 4,
"target_servings": 10,
"ingredients": [
{
"name": "flour",
"quantity": 300,
"unit": "g"
},
{
"name": "eggs",
"quantity": 2,
"unit": "count"
}
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.recipe_scale_servings",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
人数倍率と計算結果の意味をご確認ください
倍率はtarget_servingsをoriginal_servingsで割って求めます。応答にはscale_factorも含まれるため、計算の検算や画面上での説明に利用できます。元の人数が0以下では基準が成立せず、目標人数が0以下では実用的な仕込みにならないため、どちらの場合もinvalid_inputを返します。一覧の長さと数値の上限により、誤って巨大なリクエストを送ることを防ぎつつ、業務用の詳細な配合にも対応します。
調理現場やアプリで換算結果をご活用いただけます
同じ入力には常に同じJSONが返り、外部サービス、乱数、現在時刻に依存しないためです。成功したAPIタスクは1回$0.002で、不正な入力には型付きエラーを返します。
技術的な質問
各材料の数量はどのように換算されますか。
target_servingsをoriginal_servingsで割り、その倍率をすべての材料数量に掛けます。
人数が0または負の場合はどうなりますか。
invalid_inputを返します。original_servingsとtarget_servingsは、正の有限数である必要があります。
APIリクエストの料金はいくらですか。
成功したタスクは1回$0.002です。ブラウザー版はローカルで動作し、不正な入力には型付きエラーを返します。