Accurately Calculating Sugar Additions for Carbonation

From German brewing and more
Revision as of 22:49, 2 April 2008 by Kaiser (Talk | contribs) (Final Remarks)

Jump to: navigation, search

Accurately calculating the carbonation is a great exercise for working with apparent and actual attenuations as well as working with the extract % or Plato scale. The latter is not essential, but makes things more intuitive.

The final carbonation of bottle conditioned beer depends on the CO2 currently present in the beer and the CO2 that will be generated during bottle conditioning.

The amount of CO2 already in the beer depends on the CO2 pressure and the temperature of the beer. It can be determined by using a Carbonation Table. These tables show the equilibrium of CO2 content that exists for a given CO2 pressure and beer temperature.

The amount of CO>sub>2</sub> created by bottle conditioning is based on the amount of sugar that is fermented. Each gram of fermentable extract is fermented into equal parts (by weight) of alcohol and CO2 (this is not exactly true, but close enough for this calculation).

corn sugar

The easiest way to add fermentable extract to beer is through the addition of pure sugar. This can be dextrose (corn sugar) or succrose (table sugar). Most corn sugar is actually glucose monohydrate. This means that each glucose molecule bound with a water molecule which adds to its weight but not to the potential of CO2 that can be produced [McGill]. Glucose monohydrate contains 9% water by weight, which means that only 91% of its weight can be considered for the CO2 calculation.

The formula for calculating the carbonation when priming with corn sugar is:

Cbeer = Cflat-beer + 0.5 * 0.91 * mcorn-sugar / Vbeer

  • Cbeer - the final carbonation of the beer (g/l)
  • Cflat-beer - the CO2 content of the beer before bottling (g/l)
  • mcorn-sugar - the weight of the corn sugar (glucose monohydrate) (g)
  • Vbeer - beer volume (l)

table sugar

Table sugar, succrose, does not contain any water and yeast will convert half of its weight to CO2

Cbeer = Cflat-beer + 0.5 * mtable-sugar / Vbeer

  • mtable-sugar - the weight of the table sugar (succrose) (g)

dried malt extract

When using malt extract for priming, its fermentability needs to be taken into account. A typical aparent fermentablility (limit of attenuation) of malt extract is 80%. (a 12 Plato wort will finish at 2.4 Plato / 1.048 OG - 1.010 FG). But to determine the true fermentability the true fermentability needs to be calculated. To convert between apparent and true attenuation, the following formula can be used (see Understanding Attenuation)

Atrue = Aapparent * 0.82

  • Atrue - true attenuation
  • Aapparent - apparent attenuation

With that the carbonation that can be achieved with dried malt extract is

Cbeer = Cflat-beer + 0.5 * 0.82 * 0.80 * mDME / Vbeer

  • Cbeer - the final carbonation of the beer (g/l)
  • Cflat-beer - the CO2 content of the beer before bottling (g/l)
  • mDME - the weight of the dried malt extract (DME) (g)
  • Vbeer - beer volume (l)


The carbonation calculation with Speise is similar to the calculation for malt extract with the difference that the fermentability is known and that the volume of the beer, that is going to be bottled, is increased by the Speise volume. Though water is used for the priming with sugar and DME, its contribution to the beer volume are small and have been neglected. But when using Speise or Kraeusen, the amount of volume that is added can be significant.

First, the apparent attenuation of the Speise needs to be determined. If using wort from a previously brewed batch, generally the same batch that needs to be carbonated, the original extract and final extract are known. When boiling the Speise to sanitize it before bottling, make sure you boil with a lid on to minimize evaporation loss (which changes its original extract) or compensate for it by adding water or adjusting the original extract that is used in the equations.

AASpeise = 1 - OESpeise / FESpeise

  • AASpeise - apparent attenuation of the Speise wort
  • OESpeise - original extract of the Speise wort
  • FESpeise - the expected final extract of the Speise wort. Take the final gravity reading of the beer for this.

From the apparent attenuation we can calculate the real attenuation with

RASpeise = 0.82 * AASpeise

The real attenuation tells how what percentage of the original extract of the Speise is actually fermentable and will contribute to the carbonation of the beer. With the Plato or percent extract scale, the amount of extract (sugars, proteins, dextrines ... everything that is dissolved in the water) in a given wort can easily be calculated with

mextract = VSpeise * SG * OE/100

  • mextract - extract weight (g)
  • VSpeise - volume of the wort (ml)
  • SG - specific gravity of the wort. This can be committed for lower gravity beers as it will be close enough to 1. SG = 1 + OE/250
  • OE - original extract in % or Plato

The amount of fermentable extract can be determined by scaling the extract weight with the real attenuation

mfermentable-extract = mextract * RA

  • mfermentable-extract - the weight of the fermentable extract

At this point the known carbonation equations can be used with the difference that the volume of the final beer is now the Volume of the beer before bottling plus the Speise volume. Note that this equation does consider the Speise saturated with CO2 which is not true, but omitting this fact makes it a little easier and doesn't throw off the result by much since the carbonation contributed by that is fairly small.

Cbeer = Cflat-beer + 0.5 * mfermentable-extract / (Vflat-beer + VSpeise)

  • Cbeer - the final carbonation of the beer (g/l)
  • Cflat-beer - the CO2 content of the beer before bottling (g/l)
  • Vflat-beer - beer volume before bottling (l)

Kraeusen Beer

The calculations for Kraeusen beer are similar to the ones necessary for Speise with the exception that the current attenuation of the Kraeusen beer should be taken into account. This can easily be done by taking a gravity reading shortly before it is used for priming. From that we can calculate the apparent attenuation and real attenuation

RAcurrent-Kraeusen = 0.82 * (1 - OEKraeusen / AEKraeusen)

RAfinal-Kraeusen = 0.82 * (1 - OEKraeusen / FEKraeusen)

  • RAcurrent-Kraeusen - the current true attenuation of the Kraeusen beer (%)
  • OEKraeusen - the original extract of the Kraeusen wort (Plato)
  • AEKraeusen - the current measured extract of the Kraeusen beer (Plato)
  • FEKraeusen - the expected final extract of the Kraeusen wort (Plato). Take the final gravity reading of the beer for this.

The amount of fermentables left in the Kraeusen is based on the difference between the current true attenuation (RAcurrent-Kraeusen) and the exptected true final attenuation RAfinal-Kraeusen

mfermentable-kraeusen = VKraeusen * SG * OE/100 * (RAfinal-Kraeusen - RAcurrent-Kraeusen)

  • mfermentable-kraeusen - amount of fermentables left in Kraeusen beer (g)
  • VKraeusen - Kraeusen beer volume (ml)
  • SG - Specific gravity of the Kraeusen. Take either the starting gravity or the current gravity of the Kraeusen. If the current

attenuation is low and/or the starting gravity was low to begin with, this factor won't make much of a difference and I actually omit it alltogether.

Once we have the amount of fermentable extract left in the Kraeusen, we can calculate its carbonation contribution.

Cbeer = Cflat-beer + 0.5 * mfermentable-Kraeusen / (Vflat-beer + VKraeusen)

Remaining Extract

The last form of priming, that should be discussed here, is carbonating with remaining (fermentable) extract. For that, a fast ferment test must have been done to determine the limit of attenuation of the beer that is going to be bottled since the beer will be bottled before it is actually done fermenting. In its purest form it means that the bottling time is going to be determined by the rate of fermentation of the beer. While this is rather unpractical, what if the desired bottling extract level is reached while you at work, taking the remaining fermentable extract into account when calculating carbonation allows the brewer to bottle even before a batch is completely done fermenting. Such a scenario can easily happen when a beer is fermented rather cold and the primary or secondary fermentation is taking its time. Once the extract level is below a level that causes over-carbonation, you are ok to bottle the beer. The method of bottling whith remaining extract is also useful for quick botteling of samples from a primary.

Using the previously described formulas, you can calculate the amount of fermentable extract that is lef in a beer if you know its limit of attenuation and curent attenuation. Note that your yeast will not ferment all the way to the limit of attenuation. Depending on the strain, its health and other factors, the final attenuation might be a little lower than the limit of attenuation. If you don't know this number, just assume that this difference is 0%. You can check this later by taking an final extract measurement of the bottled beer after it has been conditioned.

Here I want to demonstrate a different approach of calculating the carbonation. This approach works entirely with true extract percentages and their difference. The carbonation of beer can also be expressed in weight % of CO2. 1 weight % of CO2 equals 10g/l CO2 since one liter weighs 1000g (changes with temperature are neglected here). To get one weight % of CO2 in beer we need 2 weight % of fermentable extract. This is the basis for the follwing calculations:

RAcurrent-beer = 0.82 * (1 - OEbeer / AEbeer)

RAfinal-beer = 0.82 * (1 - OEbeer / AEfast-ferment-test + dattenuation/100)

  • RAcurrent-beer - the current true attenuation of the beer (%)
  • OEbeer - the original extract of the wort used to make the beer (Plato)
  • AEbeer - the current measured extract of the beer (Plato)
  • FEbeer - the final extract of the fast ferment test (Plato)
  • dattenuation - the difference between the limit of attenuation (fast ferment test) and the final attenuation of the beer (%). Use 0% if you don't know this.

With these numbers and the orignal extract of the beer we can calculate the weight % of fermentable sugars that are left in the beer:

FEbeer = OE * (RAfinal-beer - RAcurrent-beer)

  • FEbeer - fermentable extract remaining in the beer (% or Plato)

Half of that will become CO2 and the resulting carbonation is

Cbeer = Cflat-beer + 0.5 * 10 * FEbeer

Note that there was no need to consider the beer volume in the calculations.

Final Remarks

While the number of formulas is daunting, they give the brewer more flexibility over the priming process especially since they can be combined. While priming with Kraeusen I may want to add sugar because the Kraeusen volume is to small or to far attenuated. Oftentimes I also have to account for remaining fermentable extract in the beer because I crashed the yeast to early or the fermentation was just dragging on. Because of that I created a spread sheet into which I simply enter all the data that I have and play with the volumes and amounts of sugar until the desired carbonation is reached.

This spreadsheet can be found here

Figure 1 - the fermentable extract in Speise and Kraeusen


  • [McGill] - Robert McGill, Priming With Sugar BYO article