A "stuck" fermentation is one that stops short of where it should finish — gravity plateaus well above your target final gravity and the airlock goes quiet. Before you panic, confirm it's actually stuck: take two gravity readings two or three days apart. If they're identical and still high (say 1.025 when you expected 1.010), you have a real stall. If gravity is stable and near target, fermentation is simply done.
This is the most common cause. Ale yeast slows dramatically below about 18 °C (64 °F) and may flocculate and quit if a cold snap hits the fermenter. Move the vessel somewhere warmer or wrap it with a heat belt and bring it up to 20–22 °C (68–72 °F) gradually. Yeast that merely went dormant from cold will often wake within 12–24 hours.
Once yeast settles to the bottom, it stops working even if sugar remains. Gently swirl the fermenter — don't splash, you don't want to add oxygen post-fermentation — to lift the yeast cake back into the beer. A warm-up plus a gentle rousing fixes a surprising number of stalls without any new yeast at all.
Too little healthy yeast, especially in a high-gravity wort, runs out of steam early. If warming and rousing don't restart things within a couple of days, pitch fresh yeast. A reliable trick is to make a small starter or pitch an actively fermenting beer ("krausen") and add a vigorous, well-attenuating strain such as US-05 or a dedicated restart yeast.
Yeast needs oxygen and nutrients at the start to build a healthy population. There's nothing you can do mid-stall about the oxygen you didn't add, but it explains why it stuck — fix it next batch by aerating the cooled wort well and using yeast nutrient on big or all-extract beers.
Highly dextrinous worts (lots of crystal malt, a high mash temp) genuinely finish higher than the calculator predicts. Check the yeast strain's attenuation spec against your numbers before chasing a phantom problem.
The honest truth: most stalls are caught — and prevented — by logging gravity over time, not by guessing from the airlock. BrewLog keeps every dated reading per batch so you can see a plateau the moment it forms and act early. It's free, offline, and your data never leaves your browser.
Track your batch in BrewLog →