ForHosting KIT · Developer Utilities

Béchamel sauce ratio calculator

This béchamel sauce ratio calculator turns a desired sauce volume into practical amounts of butter, flour, and milk.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

It uses a dependable medium-thickness baseline of 60 grams of butter and 60 grams of flour for every 1,000 millilitres of milk, then scales all three ingredients together. Enter the finished volume you need in millilitres and receive a repeatable recipe quantity for a small serving, a family meal, or a larger batch without doing the proportional arithmetic yourself.

Start with the amount of sauce your dish needs

Choose the total béchamel volume according to the food you are preparing, rather than starting from an arbitrary packet size or saucepan. A small quantity may be enough to bind vegetables, while layered pasta or a catering tray can require considerably more. Enter that target in millilitres. The calculator treats the requested volume as the working amount of milk and scales the roux ingredients against it, producing one clear quantity for butter, flour, and milk. The baseline is 60 grams of butter and 60 grams of flour per 1,000 millilitres of milk, a balanced ratio intended for a versatile medium sauce. Because every ingredient changes by the same factor, a 500 millilitre request uses exactly half of the base ingredients and a 1,500 millilitre request uses one and a half times each amount. This makes the result easy to audit, repeat, and transfer into a recipe sheet. Use millilitres consistently; do not enter cups, fluid ounces, or litres without converting them first.

Understand what the calculated ratio produces

Equal weights of butter and flour form the roux, while the milk determines the scale of the sauce. The displayed 60:60:1,000 baseline is designed as a practical middle ground: fluid enough to pour and spread, yet substantial enough to coat food after proper cooking. Ingredient quantities alone do not determine the final texture. Flour type, evaporation, heating time, pan width, and the temperature at which the sauce is served can all change perceived thickness. Melt the butter gently, stir in the flour, and cook the paste briefly before adding milk in stages while whisking. That process disperses the starch and reduces lumps. Bring the sauce to a controlled simmer so the flour can thicken it and lose its raw taste. If a particular recipe calls for a loose pouring sauce or a very firm croquette filling, treat this result as a neutral starting point and adjust the flour deliberately. The calculator does not silently change culinary style; it preserves one declared ratio so repeated inputs remain comparable.

Scale batches reliably in a kitchen workflow

For consistent production, weigh butter and flour instead of estimating them with spoons. Weight avoids differences caused by packing, humidity, and utensil shape. Milk is returned in millilitres because that is normally the most convenient kitchen measure for liquid volume. When preparing a large batch, use a vessel with enough spare capacity for vigorous whisking and gradual additions; multiplying ingredient quantities does not remove the need for good mixing. Season only after the sauce has thickened, since reduction can concentrate salt, pepper, mustard, or nutmeg. The function is deterministic: the same positive target volume always returns the same ingredient amounts, with values rounded to six decimal places for stable use in software and recipe records. It performs no network request, stores nothing, and does not infer serving size or pan dimensions. Automated kitchens can call the API for $0.002 per request, while a cook can run the same calculation in the browser. Rejecting zero and negative volumes prevents a mathematically scalable but unusable recipe from entering a prep plan.

Plan a lasagne batch

Set the béchamel volume required by the number and size of trays, then obtain matching butter, flour, and milk quantities.

Resize a family recipe

Scale a dependable medium sauce up or down without recalculating the roux proportions by hand.

Standardise kitchen prep

Generate repeatable ingredient quantities for recipe cards, purchasing sheets, or automated production planning.

What béchamel ratio does the calculator use?

It uses 60 grams of butter and 60 grams of flour for each 1,000 millilitres of milk, then scales all ingredients proportionally.

Does the target volume exactly equal the cooked yield?

It is a planning target based on the milk volume. Actual cooked yield can vary slightly with evaporation, residue left in the pan, and added seasoning.

Can I enter litres instead of millilitres?

Convert litres to millilitres before entering the value. One litre is entered as 1,000 millilitres.

Why are butter and flour given by weight?

Grams are more repeatable than spoon or cup measures because they are not affected by packing and utensil size.

What happens if the volume is zero or negative?

The calculation returns an invalid-input error because a sauce batch must have a positive target volume.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/cook/bechamel-ratio

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/cook/bechamel-ratio \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"target_volume_ml":500}'
{
  "target_volume_ml": 500
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "cook.bechamel_ratio",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Read the full KIT documentation →