Sous vide (French: “under vacuum”) is the technique of sealing food in a bag and cooking it in a precisely temperature-controlled water bath. Because the bath temperature equals the desired core temperature, the food cannot overcook — it simply needs enough time for the heat to penetrate to the centre and for pasteurisation to complete. This calculator computes both constraints and gives you the earliest safe pull time plus the quality window.
How it works
The calculator combines two independent equations for each combination of protein and bath temperature.
1. Heat penetration — how long the thermal centre takes to reach the bath temperature. For a slab of thickness d (mm), the simplified infinite-slab conduction formula is:
t_heat (min) = (d/2)² × Fo / α / 60
where α ≈ 1.4 × 10⁻⁷ m²/s is the thermal diffusivity of raw muscle tissue and Fo = 0.4 is the Fourier number corresponding to 99.9% thermal equilibration at the centre. In practice this means a 30 mm chicken breast takes roughly 8 minutes to reach bath temperature; a 60 mm roast takes about 32 minutes.
2. Pasteurisation hold time — the minimum time the centre must stay at the bath temperature to achieve the target log-reduction in pathogens. Values are linearly interpolated from the USDA FSIS / Douglas Baldwin tables:
- Poultry (chicken, duck): 7 D reduction in Salmonella — the most conservative target
- Beef and lamb: 6.5 D reduction in E. coli O157:H7 and L. monocytogenes
- Pork: 6.5 D reduction in Trichinella spiralis and Salmonella
- Fish: FDA parasitic-destruction tables (Anisakis) — freeze first below 60°C
- Eggs: USDA Salmonella enteritidis data for whole-egg pasteurisation
- Vegetables: no pathogen concern — times are texture-only (pectin softening)
Total minimum = t_heat + t_pasteurisation. Remaining in the bath beyond the minimum (up to the texture-window upper bound) improves juiciness without adding food-safety risk.
Worked example
A 40 mm-thick chicken breast in a 63°C bath:
- Heat penetration: (20 mm)² × 0.4 / (1.4 × 10⁻⁷ × 10⁶ × 60) ≈ 9 min
- Pasteurisation hold at 63°C: 4 min (interpolated from USDA table)
- Total minimum: 13 min — but the texture window is 1–2 hours
- Pull any time between 1 h and 2 h for juicy, fully white, pasteurised chicken
| Food | Temp | Thickness | Minimum | Quality window |
|---|---|---|---|---|
| Chicken breast | 63°C | 30 mm | 11 min | 1–2 h |
| Beef steak (medium-rare) | 54°C | 40 mm | 19 min | 1–3 h |
| Salmon | 50°C | 25 mm | 7.5 h* | 15–60 min* |
| Pork loin | 60°C | 35 mm | 5.5 h | 1.5–3 h |
| Duck breast | 57°C | 30 mm | 34 h | 1.5–3 h |
*Salmon at 50°C requires the fish to have been commercially frozen first (FDA advisory).
Formula note
The pasteurisation tables use the D-value / z-value model: each 10°C (18°F) rise in temperature reduces the D-value (time to achieve one log-reduction) by a factor of 10^(10/z), where z ≈ 6–8°C for most foodborne pathogens. This means a 3°C drop in bath temperature can multiply the required hold time by 2–4×. The calculator uses direct table lookup with linear interpolation rather than re-deriving the z-value, to stay close to the regulator-approved figures.