French Toast, The Custard Test
**This is not a recipe. It's a four-arm experiment**, and it's the best idea in my whole French toast project. Whole milk, evaporated (PET) milk, cream, and — the arm that actually answers the question — **evaporated milk diluted 1:1 with water.** Nobody has published a controlled test of this. Every prediction below is a prediction, and I'd like to be wrong about at least one.
This is not a recipe. It’s a four-arm experiment, and it’s the best idea in my whole French toast project. Whole milk, evaporated (PET) milk, cream, and — the arm that actually answers the question — evaporated milk diluted 1:1 with water. Nobody has published a controlled test of this. Every prediction below is a prediction, and I’d like to be wrong about at least one.
Ingredients
- The constants — one variable, everything else held
- 8 slices of the same bread, cut ¾–1 inch thick — same loaf, same thickness
- Weigh your eggs. Hold the egg constant in GRAMS, not in count — eggs vary 15%+ by size
- 8 large eggs, weighed (about 400 g total; 2 eggs / ~100 g per arm)
- Butter for the pan — same fat, same amount, every arm
- Arm 1 — whole milk (the baseline)
- 160 ml whole milk
- Arm 2 — evaporated (PET) milk
- 160 ml evaporated milk
- Arm 3 — heavy cream
- 160 ml heavy cream
- ⭐ Arm 4 — evaporated milk diluted 1:1 with water. THIS IS THE ARM THAT ANSWERS THE QUESTION.
- 80 ml evaporated milk + 80 ml water
- The ratio is 1 egg : 80 ml dairy throughout. Two eggs, 160 ml, two slices, per arm.
- The instruments — not optional
- A scale
- An instant-read probe
Directions
Key ingredients
- Dry the bread. 275°F / 135°C for 10–15 minutes, flipping once, single layer on a wire rack over a sheet pan. The morning you cook — NOT overnight. The rack matters: it lets moisture escape from the underside instead of steaming against the pan.
- Target: dry and firm to the touch, but NO colour. Colour means you’ve started Maillard on the surface, which both hardens the crust against absorption and gives you a head start toward burning in the pan. Cool before soaking — a warm slice will cook the custard on contact.
- (If you want to be rigorous: weigh the slices before and after drying and treat the water-loss percentage as your variable. Nobody publishes an optimal number — NOT FOUND. That’s a genuinely open question you could answer.)
- Weigh each dried slice and write the number down.
- Mix each arm’s custard: 2 weighed eggs to 160 ml of that arm’s dairy. Nothing else varies — same spice, same sugar, same salt, or none at all in all four.
- Same soak time for every arm. Then weigh each slice again. Absorption is now a measured number, not an impression. This is the cheapest instrumentation in the whole experiment.
- ⚠ COOK TO 180°F INTERNAL. NOT TO COLOUR, NOT TO A TIMER. Probe the centre of the slice and pull each one when it hits temp. Read the notes — this is the single biggest way this experiment could produce a garbage result.
- Expect the evaporated arm to want a lower pan temperature for longer. That’s fine — you’re controlling for doneness, not for time.
- Then compare colour and flavour, with each arm at the same interior doneness.
- Taste blind if you can get someone to hand them to you unlabelled. Evaporated milk’s colour will give it away visually, which will bias you.
Notes
⚠ EVERY PREDICTION BELOW IS A PREDICTION
No controlled side-by-side of whole milk vs evaporated vs cream in French toast custard exists from any source I’d trust. NOT FOUND. What follows is well-established composition and chemistry, and predictions that fall out of it — labelled, so that when the results come in you can tell which reasoning was wrong.
⚠ THE DESIGN WARNING THAT SAVES THE EXPERIMENT
Cook to interior temperature (~180°F), not to colour.
If you cook to colour, the fastest-browning sample looks “done” first and you’ve measured nothing but browning rate — which you already predicted. You’d have run the whole experiment and learned nothing you didn’t start with. Faster browning is not automatically better: against a fixed interior-set requirement of ~180°F, you may hit the colour you want before the custard sets.
The composition table — everything falls out of this
Approximate, per 100 g:
| Water | Fat | Protein | Lactose | |
|---|---|---|---|---|
| Whole milk | ~88% | ~3.3% | ~3.3% | ~4.8% |
| Evaporated milk | ~74% | ~7.6% | ~6.8% | ~10% |
| Heavy cream | ~58% | ~36% | ~2.1% | ~2.9% |
Note especially: evaporated is roughly 2× concentrated across the board; cream has LESS protein and LESS sugar than plain milk — butterfat has displaced the aqueous phase.
Evaporated milk is Maillard-browned before you open the can — and that’s ESTABLISHED, not a hunch
Evaporated milk is sterilized in the can at 110–120°C for 15–20 minutes. The literature is unambiguous about what that does: it is “light brown in color because of chemical reactions between the protein and the lactose (Maillard reaction) occurring during intensive heat treatment” and “possesses a slight cooked flavor.” That cooked, faintly caramel note you taste straight from the can is literally Maillard product.
And it leaves measurable fingerprints: HMF (hydroxymethylfurfural), lactulose, and furosine — the standard analytical markers used to distinguish in-container-sterilized milk from UHT and pasteurized. In-container sterilization produces far greater Maillard browning than UHT. Evaporated milk is the most heat-abused dairy in the store, by design. The chemistry is documented, not folkloric.
PREDICTION — it browns fastest, for four stacked reasons: 2× the lactose (Maillard fuel); 2× the protein (the other reactant — so it compounds rather than adds); the reaction is already partway down the cascade (your pan isn’t starting it, it’s resuming one in progress); and less water, so the surface dries sooner and browning starts sooner.
Cream: the fat genuinely inhibits the set
Three things happen and two of them fight the set:
- Less protein per volume (~2.1% vs ~3.3%). Counterintuitive, but it’s the table — butterfat displaced it.
- Fat physically interrupts the protein network. Coagulation is protein cross-linking into a continuous 3D mesh; dispersed fat globules are inclusions — they occupy volume without contributing bonds. This is why crème brûlée is softer than a milk custard at the same egg loading.
- But much less water (~58%) pushes the other way, partially offsetting 1 and 2.
PREDICTION: cream sets softest — luxurious, tender, borderline underset, and it will read as undercooked even when it isn’t. If you go cream, add a yolk — more protein and emulsifier, aimed at exactly the deficit cream creates.
⭐ The fourth arm, and why it’s the whole point
The straight three-way comparison confounds two explanations: is evaporated milk different because it’s concentrated, or because it’s pre-cooked?
Evaporated diluted 1:1 with water is back to roughly milk’s concentration but still carrying every Maillard product from the can.
That arm separates concentration from pre-cooked chemistry. It’s the arm that answers the question.
The prediction table — ⚠ ALL PREDICTIONS, NOT TESTED
| Browns fastest | Sets firmest | Soaks deepest | Predicted character | |
|---|---|---|---|---|
| Evaporated | 1st (2× lactose, 2× protein, reaction pre-started, less water) | 1st (most total protein) | 3rd (viscous, least free water per unit solids) | Caramelly, “cooked,” dulce-de-leche notes, firm |
| Whole milk | 2nd | 2nd | 1st (most water, least viscous) | The baseline. Clean, balanced, custardy |
| Cream | 3rd (least lactose AND least protein) | 3rd (fat interrupts the network) | 3rd–tied (viscous, water-poor) | Rich, tender, borderline soft; may read underset |
⚠ Why oven-dried, not stale — the popular explanation is wrong
Staling is not drying out. Staling is starch retrogradation. Amylose and amylopectin recrystallize; water isn’t lost, it migrates out of the starch granules into the crumb’s air pockets.
The proof: bread stales FASTER in the refrigerator than at room temperature — retrogradation peaks just above freezing, right in the fridge’s ~4°C range. If staling were drying, a humid sealed fridge would preserve bread. It does the opposite. The drying theory is disproved by your own refrigerator. (Also: you can partially un-stale bread by reheating it to ~140°F+. You cannot un-dry it.)
So the two goals come apart:
- Drying = net water leaves the slice → real absorption capacity. This is what you want.
- Staling = water rearranges internally, total moisture roughly constant → firmness, but no absorption capacity, and a real flavour penalty (retrograded starch tastes flat and cardboardy).
Leaving slices out overnight gives you some drying and a lot of staling — you pay the full flavour cost for a fraction of the benefit. Oven-drying removes water fast, at a temperature above the retrogradation range, and heat actually reverses retrogradation while it dries. It’s not a shortcut for the impatient. It’s the strictly superior method.
⚠ Sourcing flags
The 1 egg : 80 ml ratio is reported for Serious Eats/Gritzer (3 eggs : 1 cup) secondhand — the site blocks automated access entirely, so I could not read the primary. Cook’s Illustrated’s exact ratio is paywalled → NOT FOUND, and I’m not guessing at it. The oven-dry temp/time is likewise secondhand (250°F/10 min and 275°F/10 min both get reported).
Read the gap in the ratio, it’s informative: French toast custard at 1 egg : 80 ml is about three times as egg-rich as a pourable dessert custard (1 egg : 240 ml). That’s deliberate — it has to set fast, in a pan, inside a slice, and hold it together. Wet in the middle? More egg, less dairy. Rubbery and omelette-y? Too much egg. 1:80 is the centre; move in 10 ml steps.
The loaf this is built for: Bread, Cinnamon Sourdough Pullman. The syrup: Syrup, Brown Sugar Cinnamon (Jeff’s).