Flat white vs. latte: same shot, different milk
Ask a barista what separates a flat white from a latte and you'll usually get some version of "the milk" — which is true, but vague enough to be useless if you're trying to reproduce either one at home. The concrete difference is two numbers: ratio and foam depth. A flat white runs a tighter ~2:1 milk-to-espresso ratio with only the thinnest microfoam layer folded in (about 5% of the cup), so the espresso stays forward and the texture reads silky rather than fluffy. A latte opens that ratio up to 4-5:1 and doubles the foam share to roughly 10%, which is why a latte tastes gentler and looks like it has a visible cap where a flat white doesn't.
Neither is "better" — they're different tools for the same espresso shot. If you like your espresso to still taste like espresso, dial the drink toward flat white above. If you want something closer to a milk-forward, all-day cup, dial it toward latte.
How milk steaming actually works
Steaming does two things to milk at once: it heats it, and it stretches it. The stretch is what confuses most home baristas' math, because it means the milk that ends up in your cup is a bigger volume than the milk you poured into the pitcher — roughly 8% bigger, as the steam wand's turbulence works air into the liquid. That's exactly why this calculator works backwards: you tell it what you want in the finished cup, and it reports the smaller COLD volume to measure into your pitcher before you turn the wand on.
Foam and steamed milk aren't different liquids — foam is just the same milk with more air folded in near the top of the pitcher, which is why a cappuccino's deep foam cap and a flat white's thin skin come from adjusting the SAME steaming technique, not a different one. More time with the wand near the surface (before submerging the tip to heat the rest) builds more foam; less time near the surface keeps the milk denser and glossier.
The ratios behind every drink on this calculator
- Cortado — ~1:1 milk to espresso, almost no separate foam layer. The milk is there to round off the espresso's edge, not to dilute or lighten it.
- Flat white — ~2:1, thin microfoam (~5% of the cup). Espresso-forward with a silky, dense texture.
- Cappuccino — ~3:1, but the defining trait isn't the ratio, it's the foam: roughly equal thirds of espresso, steamed milk and foam, giving cappuccino the deepest, driest cap of any drink here.
- Latte — 4-5:1, a thin ~1 cm foam cap. The most milk-forward of the classic ratios, and the most forgiving to make consistently.
- Mocha — built on the latte's ratio and foam profile, with chocolate added underneath the espresso. The chocolate is a flavoring layer, not a volume input, so it doesn't change the milk math above — it just rides along.
Why the pitcher half-line matters
Milk needs headroom to expand as it steams. Fill a pitcher past half and there's nowhere for that extra 8%+ of stretched, aerated milk to go — it either spills out the spout mid- steam or you back off the wand too early to avoid a mess, which produces flat, soupy milk instead of glossy microfoam. This calculator checks your cold-milk pour against half of whichever pitcher you select above and flags it clearly when a drink simply doesn't fit — see the "why the pitcher check matters" example above for what that looks like in practice. The fix is always the same: size up your pitcher, or steam the milk in two batches.
Methodology & limitations
Full transparency, because a calculator that hides its assumptions isn't one you should trust:
- Espresso volume is a fixed 30 ml per shot. Real shots vary by recipe (ristretto runs shorter, lungo longer) — this is a standard reference volume, not a measurement of your specific dial-in. Our Espresso Dial-In Lab handles the shot itself if you want to tune dose, yield and time precisely.
- Foam share is a per-drink modeling constant, not a physical law — cortado's foam is thin enough that we model it as a near-integrated 2% of the cup rather than a distinct layer; cappuccino's is a full third. Real foam varies with technique, milk protein content, and how fresh the milk is.
- The 8% steam-expansion factor is an average, not a universal constant. Whole milk, oat milk and skim milk stretch slightly differently; 8% is a reasonable middle-of-the-road figure for dairy whole milk, the most common base.
- Basket dose is informational only — it doesn't feed into the milk math above, it's just there so you can note what you're dosing alongside the drink.
Once your milk math is dialed in, browse our rich, chocolatey roasts built to hold their own under milk, or check how much caffeine a double-shot milk drink actually carries with our Caffeine Curve Simulator.


