Choux pastry ratio calculator
This choux pastry ratio calculator turns a desired total batch weight into practical gram amounts for water, butter, flour, and eggs.
Run — free
It uses the classic 2:1:1:2 weight relationship, so the formula stays balanced whether you need a small test batch or enough paste for a large production run. Enter the finished dough weight you want, then weigh each ingredient from the result. The calculation is immediate, deterministic, and designed for cooks who prefer scaling by weight instead of multiplying a recipe by awkward serving factors.
Choose the batch weight you actually need
Start with the total weight of raw choux paste you want to mix, expressed in grams. This is more useful than choosing a number of pastries because éclairs, profiteroles, cream puffs, and gougères can all be piped at different sizes. If your production notes show that each finished tray uses about 600 grams of paste, enter 600 rather than estimating from a recipe written for an unknown piping size. The calculator divides that target among the four core ingredients while preserving the formula. Remember that the entered batch size describes the mixture before baking, not the final baked weight. Steam escapes in the oven, so baked shells will weigh less. Filling, glaze, craquelin, cheese, salt, and sugar are also outside this four-ingredient calculation. Plan those separately. For a first production run, it is sensible to add a modest operational allowance to your target for paste left in the pan, bowl, paddle, or piping bag, then record the actual yield for future batches.
Understand the 2:1:1:2 choux ratio
The result follows a weight ratio of two parts water, one part butter, one part flour, and two parts egg. The six total parts make scaling straightforward: one part is one sixth of the requested batch, while water and eggs each receive two sixths. Weight is essential here because volume measures do not preserve the relationship reliably. A cup of flour can vary substantially with scooping and compression, and egg sizes differ. Treat the egg result as a gram target: crack and whisk the eggs together, then weigh the amount you add. The calculator rounds ingredient amounts to two decimal places and puts any tiny rounding remainder into the egg amount, ensuring the displayed ingredients still total the requested batch weight. The ratio provides a dependable starting formula, but flour absorption, pan evaporation, and kitchen humidity affect final consistency. During mixing, add the last portion of egg gradually and judge whether the paste forms a smooth, glossy V from the paddle before adding every final gram.
Turn the calculation into consistent pastry
Prepare mise en place from the calculated weights before heating anything. Bring the water and butter together, make sure the butter melts before vigorous boiling drives off excessive water, then add the flour and cook the panade until it forms a cohesive mass and leaves a light film on the pan. Cool it enough that the eggs will not scramble. Add the weighed egg in stages, mixing thoroughly after each addition. This staged approach matters because the mathematical ratio controls the formula, while the panade's actual moisture loss controls how much egg it can comfortably accept. Pipe a consistent test piece and check spread, definition, lift, and the interior cavity. If the paste is too stiff, use a small amount of reserved beaten egg; if it is already too loose, adding raw flour will not restore the properly cooked structure. Record flour brand, panade cooking time, egg amount actually used, piping weight, oven settings, and yield. Those notes turn this calculator from a one-off scaler into a repeatable production tool.
What you can do with it
Scale a test batch
Calculate a small quantity for testing flour absorption, piping technique, or a new oven without dividing every ingredient manually.
Plan bakery production
Convert a required total paste weight into a consistent mise en place for multiple trays of éclairs or cream puffs.
Standardize recipe notes
Replace variable egg counts and volume measures with gram targets that are easier to repeat across cooks and kitchens.
FAQ
What ratio does the calculator use?
It uses 2 parts water, 1 part butter, 1 part flour, and 2 parts egg by weight.
Does batch size mean baked pastry weight?
No. It is the total weight of the four raw ingredients before cooking and baking; moisture loss makes the baked shells lighter.
Should eggs be entered by count?
No. The result gives egg in grams. Whisk whole eggs together and weigh the amount for better consistency across different egg sizes.
Why might I use slightly less egg than the result?
Panade moisture varies with heating time, pan shape, flour, and humidity. Add the final egg gradually and stop when the paste reaches the proper glossy consistency.
What does an API calculation cost?
Each API request costs $0.002. The calculation is also suitable for free browser execution because it uses no network or stored data.
For developers — API access
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.
API endpoint
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.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/cook/choux-ratio \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"batch_size_g":600}'const res = await fetch("https://api.kit.forhosting.com/cook/choux-ratio", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"batch_size_g": 600
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/cook/choux-ratio",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"batch_size_g": 600
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/cook/choux-ratio", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"batch_size_g":600}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"batch_size_g":600}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/cook/choux-ratio", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"batch_size_g": 600
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "cook.choux_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.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |