Sous Vide Time and Safety, Explained

After reading this you will know why sous vide time splits into two parts, how to compute the come-up time and the pasteurization hold from the food's thickness and the bath temperature, and where the tidy formulas stop matching reality.

What the calculator actually computes

Sous vide cooks food in a temperature-controlled water bath, usually between 50 and 65 °C for meat. The bath never gets hotter than your target core temperature, so the food cannot overcook the way it can in a 200 °C oven. That safety comes with a catch: heat moves into a thick piece of meat slowly, and low temperatures kill bacteria slowly. You need to account for both.

The total minimum safe time is two things added together. First, the come-up time: how long the cold center takes to reach (almost) bath temperature. Second, the pasteurization hold: how long the center must stay at that temperature to reduce pathogens to a safe level. A 30 mm beef steak from the fridge in a 56 °C bath needs roughly 1 hour 20 minutes to come up, then about 1 hour 30 minutes of hold, so nearly 3 hours total. Pull it at 2 hours and the surface is safe but the core is not.

When to use it, and when not

Use this when you cook thick cuts at low temperatures and food safety depends on time rather than a searing-hot surface. A 65 mm pork loin at 60 °C, a chicken breast at 60 °C, a slow egg at 63 °C: all of these live or die by the hold time, and guessing wrong is a real risk.

Do not lean on it for a thin fish fillet you plan to eat immediately at a texture temperature you like, where you are cooking for mouthfeel and not for a full pasteurization. It also does not model brined, cured, or vacuum-compressed food, where salt and structure change both the diffusivity and the death kinetics. And it says nothing about anaerobic risks like Clostridium botulinum in long, warm holds, so do not treat a 24-hour tough-cut cook as covered here.

Below 54.4\,^\circ\text{C} (130 °F) the thermal death of Salmonella is so slow that the hold time runs into many hours and small temperature errors change it dramatically. The tool flags this range as unsafe for pasteurization. Cook hotter, or accept that you are cooking for texture and eating promptly, not pasteurizing.

The come-up time formula

Heat entering a solid follows the transient conduction equation. For a simple shape in a well-stirred bath (surface held at bath temperature), the temperature everywhere is an infinite sum of decaying exponentials. After a short startup the first term dominates, and Baldwin's guide uses that one-term solution:

t = \frac{R^2}{\alpha} \cdot \frac{\ln(A_1 / \theta)}{\lambda_1^2}

Here t is the come-up time in seconds. R is the half-thickness for a slab or the radius for a cylinder or sphere, in meters. \alpha is the thermal diffusivity of the food in \text{m}^2/\text{s}, around 1.4 \times 10^{-7} for lean meat. \theta is the fractional temperature still to go, and \lambda_1 and A_1 are shape constants.

The fractional temperature is defined so that \theta = 1 at the start and falls toward 0 as the center approaches the bath:

\theta = \frac{T_{\text{bath}} - T_{\text{core}}}{T_{\text{bath}} - T_{\text{start}}}

The tool targets the core to within 0.5 °C of the bath. For a 5 °C start and a 56 °C bath, "within 0.5 °C" means \theta = 0.5 / 51 \approx 0.0098. The shape constants are:

One-term conduction constants by shape
Shape\lambda_1A_1What R means
Slab (both faces)1.57081.2732half thickness
Cylinder2.40481.6021radius
Sphere3.14162.0000radius

The key intuition: t scales with R^2. Double the thickness and the come-up time quadruples. That single fact explains most sous vide surprises.

The pasteurization hold formula

Bacterial death at a fixed temperature is log-linear. Each fixed slice of time kills the same fraction, so the count drops by one power of ten every D minutes. The temperature sensitivity is set by z, the degrees needed to change D tenfold. For Salmonella, z = 6\,^\circ\text{C}. A safe cook targets a 6.5-log₁₀ reduction, meaning the surviving fraction is 10^{-6.5}, about one in three million.

\text{hold} = n \cdot D_{60} \cdot 10^{(60 - T)/z}

Here n = 6.5 is the number of decimal reductions, D_{60} is the D-value at 60 °C in minutes, T is the hold temperature in °C, and z = 6. Beef and pork carry more fat around the bacteria, which shields them, so they use a larger D_{60} than poultry. The exponent does the heavy lifting: drop T by 6 °C and the hold gets ten times longer.

The come-up time and the hold pull in opposite directions on temperature. A hotter bath shortens both, but it also firms the texture. That is the real tradeoff behind picking 54 versus 60 °C: safety time versus how the meat feels.

Worked example: the demo 30 mm beef slab

Reproduce the demo button: beef, 30 mm thick, slab, from 5 °C into a 56 °C bath.

  1. Half thickness for a slab: R = 0.030 / 2 = 0.015\,\text{m}.
  2. Diffusivity for beef: \alpha \approx 1.4 \times 10^{-7}\,\text{m}^2/\text{s}.
  3. Fractional target: \theta = 0.5 / (56 - 5) = 0.0098.
  4. Log term: \ln(1.2732 / 0.0098) = \ln(129.9) = 4.867.
  5. Come-up: t = \frac{0.015^2}{1.4 \times 10^{-7}} \cdot \frac{4.867}{1.5708^2}. The prefactor is 1607\,\text{s}, times 4.867 / 2.467 = 1.973, giving 3171\,\text{s} \approx 53\,\text{min}.
  6. Hold at 56 °C for beef, with D_{60} \approx 5.5\,\text{min}: 6.5 \times 5.5 \times 10^{(60-56)/6} = 35.75 \times 10^{0.667} = 35.75 \times 4.642 \approx 166\,\text{min}.

Total minimum safe time is about 53 + 166 \approx 219 minutes, roughly 3 hours 40 minutes. The come-up is the smaller piece here because 56 °C is only 4 °C below the 60 °C reference, so the hold is long. Raise the bath to 60 °C and the hold collapses to about 36 minutes.

Reading the results and building intuition

The chart below shows how each part moves as you change the bath temperature for that same 30 mm beef slab. Come-up shrinks gently; the hold falls off a cliff.

The hold time roughly halves for every 1.8 °C rise, so 60 °C pasteurizes about ten times faster than 54 °C.

Note the hold values here use D_{60} = 8.5\,\text{min}, a more conservative beef figure than the example above, which is why the numbers run higher. That gap is the point: published D-values vary, so treat any single number as a ballpark, not a guarantee.

Come-up time scales with the square of thickness while the hold does not depend on thickness at all. For a 20 mm beef slab at 56 °C the come-up is about 24 minutes; at 40 mm it is about 94 minutes, roughly four times longer, while the hold stays near 166 minutes in both cases.

Common mistakes

The biggest error is measuring thickness wrong. For a slab heated from both faces, the model uses the half thickness because heat meets in the middle. For a roast, use the diameter and pick Cylinder. Mislabel a 60 mm cylinder as a 60 mm slab and you underestimate the come-up badly, because a cylinder heats from all sides but the geometry constants differ.

The second mistake is trusting a bath below 54.4 °C. The formula will still return a number, but that number climbs past many hours and becomes fragile: a real bath drifts, food touches food, and the actual core temperature may sit below the reading. Treat sub-54.4 °C cooks as texture-only.

The third is forgetting that the two times add. People read "beef, 56 °C, hold 90 minutes" from a chart and set a 90-minute timer, ignoring the hour the core spent climbing. Always add the come-up.

When unsure about fat content, geometry, or your equipment's accuracy, hold longer. Extra time at these low temperatures barely changes texture but adds real safety margin. Ten extra minutes at 60 °C is another full log of reduction.

Where the idealized model breaks

The one-term solution assumes a stirred bath with the surface pinned at bath temperature, uniform diffusivity, and a clean slab, cylinder, or sphere. Real food violates all three. A steak with a fat cap conducts unevenly. A vacuum bag with trapped air insulates a patch and slows the come-up there. Bones and connective tissue change local diffusivity. A bath without a circulator has cool spots.

The death model has its own limits. D-values come from lab broth or ground meat and scatter by a factor of two or more between studies. Salt and curing shift them. The 6.5-log target suits raw poultry and beef; intact muscle with a seared surface may need less, and immune-compromised diners may want more. The tool gives a defensible starting number, not a certified process. Follow a trusted recipe for anything you are unsure about.

Related tools

If you work in a precise kitchen, three other calculators on this site use the same measure-then-compute approach. The Baker's Percentage and Dough Calculator scales a formula by flour weight. The Coffee Brew Ratio and Extraction Calculator ties dose, water, and yield together. The Brewing ABV and Recipe Calculator handles fermentation math from gravity readings.

Frequently asked questions

Why does a thicker steak take so much longer?

Come-up time scales with thickness squared. A 40 mm slab takes four times as long to come up as a 20 mm slab, not twice, because heat has to travel twice as far and the interior lags the surface more. The hold time does not change with thickness, so all the extra time is come-up.

Can I just set a hotter bath to save time?

Yes, and it works dramatically. Raising the bath from 54.5 to 60 °C cuts the hold by roughly ten times because of the 6 °C z-value. The cost is texture: beef at 54.5 °C is rare and tender, at 60 °C it is closer to medium and firmer. Pick the temperature for the result you want, then compute the time.

Why do beef and pork hold longer than chicken at the same temperature?

Fat surrounds and protects the bacteria, slowing heat death, so beef and pork carry a larger D-value than lean poultry. At the same temperature and target reduction, that larger D-value stretches the hold proportionally.

Is the food safe the instant the core reaches bath temperature?

No. Reaching temperature is the come-up; safety needs the hold on top of it. The core must sit near bath temperature long enough to achieve the 6.5-log reduction. Pulling the food when it "reads done" skips the entire pasteurization step.

Does the starting temperature matter much?

It affects only the come-up time, through the logarithm. Starting at 5 °C from the fridge versus 20 °C room temperature changes the log term modestly, a difference of maybe 10 to 15 percent on the come-up. It does not touch the hold at all.