Beer Best By Expiration Date Codes

At some point I became a fresh beer “nerd”. Too many times I have paid good money for beer that was at or beyond it’s “best by” date, so I check the dates each time. Distributors will sneak some old beer in there from time to time. Perhaps unwitting, grocery stores and bottle shops don’t catch it. They should pay more attention and demand better for their customers. But that’s just me.

How fresh is the beer I am buying? Some of the codes are a bit tricky to figure out. I make a few “educated guesses” for some brands. Some are straight forward. This is my attempt to keep a record of how the various beer best by or expiration dates can be decoded.

These are a guess unless otherwise there is a resource to support it.

Smithwicks Red Ale: Code on bottom of can shows canning date. Example: The first line of print is “L4224GE005”. We are concerned only about the first four digits after the leading “L” which are “4224”. This is in YDDD format. In our example, the beer was canned on the 224 day of 2024, which translates to August 11, 2024. Source: The Beer Emptor
Added on 12/30/24

Guinness Draught Stout: Code on bottom of can show canning date. Example: The first line of print is “L13420J001”. We are concerned only about the first four digits after the leading “L” which are “1342”. This is in YDDD format. In our example, the beer was canned on the 342nd day of 2021, which translates to December 8, 2021. Source: BeerAdvocate forum
Added on 07/01/22

Hacker-Pschorr Oktoberfest: Code on bottom right of rear label shows a best by date above the lot number. Example: “11.21” and “L32805” indicate a best by date of November 2021.
Added on 06/10/21

Ayinger Oktoberfest: Code “L9066” is 2019, 66th day of the year, so early March 2019. From BeerAdvocate forum: in reference to the code L8118, “”thank you for your inquiry and your interest in our Ayinger Beer. The number means that the beer was bottled on the 118th day of 2018, it is a lot number.” Added on 10/13/19

Hofbräu Oktoberfestbier: Code “L 173 Q 09:31”. From BeerAdvocate forum: “hofbrau- there is two sets of numbers/letters on the bottom of back label. look for the first set following the letter “L”, in this case “L 119 E” the 119 is the day in the year it was bottled, the E is the year as in 2001=a, 2002=b, ect. so 119 E= the 119th day of 2005.” Added on 10/16/18

Maisels Weisse Original Hefe-Weissbier: Code “18 H 17 0:08”.
Maisels (didn’t identify the beer): Code “18/08/11”.

Paulaner Oktoberfest Bier: Code on bottom of can: first line “03.22.2022 2”, second line “03.22.2021 X” would indicate that the beer was either brewed or canned on 03/22/2021 and is good until 03/22/2020.Added on 10/30/21

Paulaner Oktoberfest Märzen: Code at bottom right of front label “04.19 n”, second line “L10785 P”. Printed vertically on the label, “Enjoy Before End Of:” would indicate that the “04.19” is the MM/YY. The “L10785 P” might be the lot number.Added on 10/24/18

Weihenstephaner Original Premium: Code “0057”. First digit is day of month, or second digit of the day. The next two digits are the week of the year. The fourth digit is the last digit of the year. The first digit in this example, “0”, is either 10, 20, or 30. Second digit is the 5th week of the year, i.e., last week of January into February. The last digit, “7” is the last digit of the year, or 2017 (we hope it’s not 2007). So looking at the 2017 calendar, the fifth week includes January 29 thru February 4. The only day in that week with a zero in the number is the 30th of January. So, DECODED: January 30, 2017. Here is my source from RealBeer.com. (read the whole thread!)

More as I get to it…Cheers!

Posted in Education | Tagged , , | Leave a comment

Batch #90 – German Pilsners – First Ferment In My Ss Brewtech BrewBucket

I brewed a German Pilsner on January 27, 2018 and used my new Ss Brewtech BrewBucket. It was nice to be able to take samples during the ferment so see how it progresses. I pulled a few samples during the first week and when it got to around 18% remaining I decided to go ahead and keg the beer.

So, on Sunday, February 4, 2018, I used the closed system keg procedure similar to what I found on LowOxygenBrewing.com I sat the BrewBucket on a table and ran a line from the valve to the “OUT” post of the keg. Then ran a tube from the “IN” post on the keg to the air lock hole in the lid of the BrewBucket. This set up allowed me to run the beer into the keg without exposure to outside air. As the beer flows into the keg, CO2 is pulled from the keg into the air lock hole. This went fairly smoothly for the first time. I will need to tweak a few things to make it easier next time.

After kegging, I added about 3 PSI of tank CO2 to the keg to seal the poppets and valve. I put the spunding valve on the keg and sat it back into the fermenter fridge to continue fermenting. The pressure started at about 0.2625 bar and by 2:30 PM the pressure had risen to 0.4625.

Posted in Brewdays, Equipment, Pilsner | Tagged , , , , , | Leave a comment

New Equipment in the Brewhouse: Ss BrewTech BrewBucket

I purchased a Ss Brewtech 7 gallon BrewBucket this past week after a long time pondering stainless steel fermenters. There are so many choices out there for fermenters. After considering a conical fermenter for years, I finally decided to give the Ss Brewtech BrewBucket a try. I drooled over the many conical choices but decided in the end that, on small scale, the conicals might be more trouble than they are worth. Not from a fermenting stand point, but the cleaning and upkeep afterwards. I watched a YouTube video that I thought would sealed the conical deal for me but afterwards, I was turned off. The BrewBucket seemed to be a good compromise to get rid of the plastic bucket and having to syphon from it.

With the BrewBucket, I can take samples for checking SG. I never did that with buckets as the introduction of oxygen is too much of a threat. On my first attempt at taking a sample, I almost sucked the Star San from the air lock. I couldn’t simply remove the air lock as that would allow oxygen to be sucked into the fermenter. So, my new fermenter has created a new issue to deal with. I had to devise a way to prevent sucking Star San or oxygen back into the fermenter when drawing samples.

I measured the amount of liquid required to float the hydrometer by filling my cylinder with water and inserting the hydrometer. This would be the worst case scenario since water should come up as SG=1.000. All of my beers will float the hydrometer higher than that. My graduated cylinder holds a total of 130 ml of liquid without the hydrometer, so I used that volume as a guide for designing a CO2 exchange system.
Continue reading

Posted in Equipment | Tagged , , , , , , , | Leave a comment

Batch #91 – Pfriem Pilsner Recipe

On Sunday, January 28, 2018, I brewed a Pfriem Pilsner recipe from the book ‘Lager: The Definitive Guide to Tasting and Brewing the World’s Most Popular Beer Styles’ by Dave Carpenter. I ran a little high on my mash strike temperature at 144.3°F instead of the recommended 142. Also, I ran a bit low on the ramp up temp at 153.6 versus the recommended 156°F. I was please that, end the end, I hit my expected gravity at SG=1.049.

I used half of the Saflager 34/70 yeast from Batch #86 after two minutes of oxygen. Also, during the boil, I used 1/8 tsp of diammonium phosphate and 3 tsp of Fermax yeast nutrient.

Posted in Brewdays, Pilsner | Tagged , | Leave a comment

Brews For 2017

Nineteen brews for 2017.

Batch #71 – German Pils
Batch #72 – Nooner Attempt
Batch #73 – Black Ale
Batch #74 – Nooner 2nd Attempt
Batch #75 – Black Ale
Batch #76 – Black Ale
Batch #77 – Stout
Batch #78 – Guinness Draft Stout Clone
Batch #79 – NEIPA
Batch #80 – Galaxy Pale Ale
Batch #81 – Haus Weisse
Batch #82 – Haus Weisse
Batch #83 – Commander Of The Galaxy Pale Ale
Batch #84 – NEIPA
Batch #85 – Haus Weisse
Batch #86 – Nooner Attempt #3
Batch #87 – Pale Ale
Batch #88 – Stout
Batch #89 – Kolsch

Posted in Brewdays | Tagged | Leave a comment

Batch #89: Kolsch on December 24, 2017

On Sunday, December 24, 2017, I brewed a Kolsch-style ale. After reading about the style, I put together a recipe. I made an attempt to reduce oxygen pick up in the mash tun by running the mash water into the mash tun through a silicone tube to bottom fill instead of running it in from the HLT spout. I also used the tube with a SS float ball on the end to run the sparge water into the MT versus my normal copper drip ring. Not sure how effective these oxygen-limiting practices will help since there are so many other opportunities for oxygen to enter the hot side system.

RECIPE

Batch Size: 5.25 gal
SRM: 3.3
IBU: 23.6
OG: 1.053 (Overshot!)
FG: 1.011
ABV: 5.5%
Final pH: x.xx (PREDICTED)
Brewhouse Efficiency: 62% (PREDICTED)
Boil Time: 90 Mins

Fermentables:
——-
8 lbs Dingemanns Pilsner malt, 2.0 SRM
1 lb Avengard Wheat malt, 2.5 SRM
4 oz Acid malt, 3.0 SRM

Mash
——-
Mash-in at 147.0°F with 164°F water (target was 145°F) for 30 mins, 1.51 qts/gal.
After 30 mins. added 1.3 gallons of boiling water to raise mash temp to 157.1°F (target was 158°F) for 45 mins.
pH=5.27 after 1 hour mins.
Continue reading

Posted in Brewdays, Kolsch | Tagged , , , , | Leave a comment

Kolsch Notes

Kolsch Notes:

BJCP Category 5B.
IBUs: 18 – 30
SRM: 3.5 – 5
OG: 1.044 – 1.050
FG: 1.007 – 1.011
ABV: 4.4 – 5.2%

Mash:
Water: Calcium=50, high Chloride ratio to Sulfate ratio.
Mash pH~5.4-5, wort pH~5.2.
Single infusion mash at 145°F.
Mash with as high as 4:1 ratio water to grain by weight (1.92 qts/lb).
Sparge at 170 to 175°F.
Stop sparking when less than 2° Plato.

Hops:
7 to 14 grams AA per hectoliter.

Boil length: 75 to 90 mins.
Hop with 2/3 AA at 60 mins (90 min. boil); Perle or Hallertau hops.
Last 1/3 for aroma 10-20 mins. before end of boil; Tettnang or Hersbrucker hops.

Minimize hot break/trub. Upon chilling, minimize cold break/trub in fermenter.

Found this info on the GermanBrewing.net forum: (this was discussing Pils)
6 g/hl of AA at 60 minutes using group A (perle) or half and half hops from group A and either B or C.
3 g/hl of AA at 30 minutes using hops from group B
3 g/hl of AA at 10 minutes using hops from group C

Aerate wort 7 to 10 mg/l oxygen at pitching.
Pitch between 10 and 20 million cells per ml wort.
Ferment at 59°F (15°C).
Raise to 65°F for diacetyl rest.
Drop to 34°F over several days.
At 15% fermentable remaining, start aging/natural carbonation process.
2.2 to 2.4 volumes of carbonation.

See “Kölsch” article by Dave Clark in May/June 2017 issue of Zymurgy.

Posted in Kolsch | Tagged , | Leave a comment

Batch #86: Another Shot At A Nooner-like Pilsner

On Wednesday, December 6, 2017, after a long period of doing ales of sorts, I decided to take another shot at brewing a Nooner-like Pilsner. I used the same ingredients mentioned on Sierra Nevada’s website. It is up to me to figure out the proportions of each of the ingredients.

Mashed in at 150.4°F (150 was target) for 90 minutes. Sparged at around 12 minutes per gallon and collected 7.2 gallons of wort. Boiled for 75 minutes. Held at between 166°F-174°F for a 15 minute whirlpool for that hop addition. Cooled to around 42°F using my chiller rig with hose water and then ice bath water once the wort chilled to 80°F.

I let the kettle sit for a couple of hours to settle out. Added two minutes of oxygen, then sprinkled two packets of Saflager 34/70 yeast on the surface, mixed well and put into the fermenter fridge at 49°F.

Continue reading

Posted in Brewdays, Pilsner | Tagged , , , | Leave a comment

Batch #85: Berliner-style Weisse Brew Session

On Sunday, December 3, 2017, I brewed up another Berliner-style Weisse. I changed the recipe some just to see what a difference it would make. I used more wheat malt than Pilsner malt. Usually I used the same amount of each.

I mashed for 90 minutes and once I had the wort in the kettle, I boiled it for 20 minutes, put the lid on and turned the heat off. It sat for several hours before the temperature got down to 110°F before pitching the two GoodBelly Straight Shots at 5:25 pm. I mixed up the wort good and replaced the cover and weighted it with bricks. I let that sit overnight. The next morning, the kettle temperature was 72°F at 10:25 am. After seeing that my two prior Weisse brew were mildly sour, I decided to heat the wort back up slowly in hopes that the lactic acid bacteria (LAB) would produce more souring.
Continue reading

Posted in Berliner Weisse, Brewdays, Uncategorized | Tagged , , , | Leave a comment

Hops Notes

Some notes on hops:

Hop oils:
1. Hydrocarbons (50-80%)
Myrcene
2. Oxygenated hydrocarbons (20-50%)
Linalool (floral, orange)
Geraniol (floral: roses, geraniums)
Citronellol (green, floral, citrusy)
3. Sulfur compounds (thiols)
4MMP – 4-mercapto-4-methylpentan-2-one (catty)
3MH – 3-mercaptohexan-1-ol (yeast->3MH->3MHA) Reference
3MHA – 3-mercaptohexyl acetate

Posted in Hops, Ingredients | Tagged , | Leave a comment