Sweet Stout, commonly called Milk Stout, solves a problem every other high-attenuation style on this site is trying to avoid: it deliberately leaves substantial residual sweetness behind, using an ingredient — lactose, milk sugar — that standard brewer's yeast simply cannot ferment, rather than relying on mash temperature alone to leave unfermented extract behind the way a normal ale would.
Why lactose, specifically, makes this possible
Brewer's yeast lacks the enzyme needed to break down lactose into fermentable sugars, so any lactose added to a batch survives fermentation completely intact and remains in the finished beer as genuine, stable sweetness — a different mechanism entirely from simply mashing hot to leave more maltose and dextrins unfermented, which still leaves the beer vulnerable to further fermentation from wild yeast or bacterial contamination. Lactose's sweetness is milder and less cloying than table sugar at an equivalent weight, which is part of why it works so well here: enough sweetness to balance a roasty, dark-malt-forward beer without tipping into dessert-beer territory.
An unusually high FG floor
This style's approximate BJCP 2021 window: OG 1.044-1.06, FG 1.012-1.024, roughly 15-25 IBU, SRM 30-40, and ABV 4-6%. Confirm against the current guidelines before a competition entry — note the unusually high FG floor for the style's OG range, a direct reflection of how much unfermentable lactose typically goes into the batch.
OG 1.052 down to FG 1.018 marks this style's midpoint, which the ABV calculator turns into 4.46% ABV by the simple formula and 4.59% by the advanced one, just 65.4% apparent attenuation — the lowest attenuation of any stout on this site, entirely consistent with a style built around deliberate residual sweetness rather than dryness. The SRM colour calculator puts a pale-malt base with a chocolate-malt addition around 30.6 SRM in a 19 L batch.
Guessing at the lactose addition instead of measuring it
The most common mistake is guessing at the lactose addition rather than treating it as a deliberate, measured ingredient — too little and the beer barely reads different from a standard stout, too much and it becomes cloying or throws the FG well outside the stated range. Lactose is typically added late in the boil (it doesn't need conversion or boiling to dissolve, and boiling it doesn't harm it, but adding it early wastes kettle time it doesn't need) and its contribution to gravity and sweetness is worth calculating deliberately rather than eyeballing, since it behaves completely differently from every fermentable ingredient in the rest of the recipe.
Grain bill and lactose in practice
A pale-malt base, chocolate malt and a modest roasted-barley or black-malt addition for colour and a background roast note (kept gentler than a genuine Dry Irish Stout, since the sweetness needs room to balance against it rather than fight a harsh, dry bitterness), and a measured lactose addition — commonly somewhere in the range of half a pound to a full pound (roughly 225-450 g) per 5-gallon batch, though recipes vary meaningfully depending on target sweetness. Hop bitterness stays moderate and restrained, present mainly to keep the beer from tasting one-dimensionally sweet rather than to compete for attention.
The name "Milk Stout" and why some markets avoid it
"Milk Stout" refers to the dairy-derived origin of lactose, not to any milk actually added to the beer — a distinction that mattered enough historically that some jurisdictions restricted or banned the "Milk Stout" name on labeling grounds related to dairy-product regulation, which is part of why "Sweet Stout" persists as the more neutral, universally usable name for the same style even where "Milk Stout" remains common commercial branding. Either name describes the same beer; a homebrewer isn't choosing between two different recipes by picking one term over the other.
Lactose intolerance is a real, checkable consideration
Because lactose survives fermentation completely intact, a genuine Sweet Stout contains real, measurable milk sugar in the finished beer — worth flagging clearly to anyone with lactose intolerance sharing a homebrewed batch, since this isn't a trace ingredient that fermentation neutralizes the way it does with most other additions. A brewer serving this style to guests has a genuine reason to mention the lactose content explicitly rather than assuming "it's beer" covers every dietary consideration a taster might have, in the same practical spirit as flagging a nut or gluten ingredient in food.