Skip to content

Carbonation and packaging

One volume of CO₂ is one litre of gas at 0 °C and one atmosphere dissolved in one litre of beer. CO₂’s density under those conditions is 1.96 g/L, so one volume is 1.96 grams of CO₂ per litre — the conversion between the two ways of quoting carbonation.

The default target is 2.4 volumes, mid-range for most ale styles.

Forced carbonation: pressure and temperature

Section titled “Forced carbonation: pressure and temperature”

The empirical fit of the standard carbonation tables that every keg calculator uses:

V = (P + 14.695) × (0.01821 + 0.09011 × e^(−(T − 32) / 43.11)) − 0.003342

with P in PSI gauge and T in °F. Beerwright takes °C and PSI and converts internally; PSI stays because that is how regulators are labelled. Bar (× 0.0689475729) and kilopascals (× 6.89475729) are offered alongside — some European regulators are marked in kPa, and 100 kPa is 1 bar.

The inverse is exact, so you can ask either question. Some worked values:

Temperature Pressure Volumes
38 °F (3.3 °C) 12 psi 2.58
4 °C 10 psi 2.33
0 °C 8 psi 2.45
3 °C 10.9 psi 2.50

Two things the engine does not do. It does not clamp: ask for a low volume at a warm temperature and it will hand back a negative gauge pressure, because that is the honest answer — you cannot get there by pressure alone. And it has no line-balancing or serving-pressure model at all; dispense line length is outside the engine.

The default keg temperature in the app is 4 °C, a beer fridge.

Beer leaving fermentation already holds dissolved CO₂, and how much depends on how warm it got. The standard residual-CO₂ curve:

V_residual = 3.0378 − 0.050062 × T + 0.00026555 × T²

with T in °F. The critical detail is which temperature: it is the highest temperature the beer reached at or after the end of fermentation, not the temperature it is at now. CO₂ driven off by a warm diacetyl rest does not come back when the beer is chilled. Beerwright derives that peak from the recipe’s fermentation schedule, including ramp end temperatures, so a schedule with a 20 °C rest is priced as a 20 °C rest.

Peak temperature Residual volumes
10 °C 1.20
18 °C 0.92
20 °C 0.86
volumesToAdd = target − residual(peak fermentation temperature)
CO₂_g = volumesToAdd × beerVolume_L × 1.96
sugar_g = CO₂_g / yield(sugar)

If the beer already holds more CO₂ than the target, the dose clamps to zero and says so rather than going negative.

The per-sugar yields are derived from the stoichiometry of fermentation, C₆H₁₂O₆ → 2 C₂H₅OH + 2 CO₂, not copied from a table:

Sugar g CO₂ per g Where the number comes from
Corn sugar (dextrose monohydrate) 0.4442 88.02 g CO₂ from 198.17 g/mol
Dextrose (anhydrous) 0.4886 88.02 g CO₂ from 180.16 g/mol
Table sugar (sucrose) 0.5142 176.04 g CO₂ from 342.30 g/mol, after hydrolysis
Turbinado / demerara 0.5039 ~98 % sucrose
Dry malt extract 0.3908 ~95 % extract × ~80 % fermentable × sucrose’s yield
Honey 0.4007 ~82 % fermentable monosaccharides
Maple syrup 0.3394 ~66 % sucrose

The DME and honey figures are approximations by nature — DME fermentability genuinely varies by product.

For 20 L to 2.4 volumes from a 20 °C peak, Beerwright asks for 135.8 g of corn sugar (6.79 g/L) — 60.31 g of CO₂ to add, on top of 0.86 residual volumes. Table sugar for the same beer is 117.3 g, anhydrous dextrose 123.4 g.

Published tools land anywhere in a 105–140 g band for “priming sugar”, and the whole spread is one question: what the tool thinks a gram of corn sugar is. Tools that treat it as dextrose monohydrate — which is what the bag on the homebrew shop’s shelf actually contains, roughly 9 % of its weight being water of crystallisation — sit at the top of that band. Beerwright is one of them. It is not a different calculation; it is a different assumption about the bag, and it is the assumption that matches what you are weighing.

The engine itself makes no keg-versus-bottle distinction — it knows a beer volume and a target. The app adds the packaging vocabulary: 330 / 500 / 750 mL bottles, 12 and 22 US fl oz, a default packaging temperature of 20 °C, and a default keg temperature of 4 °C.

The style-based carbonation suggestions are guidance, not a guideline, and the app says so. The BJCP 2021 guidelines describe carbonation in words — “high”, “moderately low”, “cask-conditioned” — and never in volumes. The bands Beerwright shows map a BJCP category to the conventional homebrewing range for that family, which is where those numbers are actually published: Palmer’s How to Brew carbonation table and Zainasheff & Palmer’s Brewing Classic Styles.