ShelfYears

Reading the stamp on the container

How to read a date code

Most of what is in a garage does not carry an expiration date. It carries a production date, in a code the manufacturer wrote for itself. Read the code, then count forward.

Updated

The stamp is a birthday, not a deadline


Manufacturers print production codes for their own reasons: which plant, which line, which shift, which batch — so that if something goes wrong they can find every container it went wrong in. Traceability, not customer service. That is why the code is short, cryptic, and sprayed onto a shoulder or a crimp rather than set into the label art.

Almost nothing in this corpus is required to carry a consumer expiration date, and most of it does not. What you get instead is a production code on the container and a shelf-life statement kept somewhere else entirely — a product FAQ, a technical data sheet, a safety data sheet. That split is most of the reason this site exists. The code answers when was this made. The product page answers how long from then.

Where to look for it


  • The bottom of the can or bottle, often at an angle and often smudged.
  • The shoulder or neck, above the label — the usual spot on a bottle that gets filled hot.
  • The crimp seam of an aerosol, on the bottom rim or just under the cap.
  • The back label, near the seam or the barcode block.
  • The lid or cap, on buckets and wide-mouth jars.

A code that is stamped, sprayed or dot-matrixed on is the production code. Numbers molded into the plastic — usually inside a small clock face or a raised circle — belong to the container, not to what is in it. A bottle can be a year older than its contents, and once in a while a good deal newer.

The three shapes worth knowing


Year plus day of the year. Two digits of year, then three digits counting the days from January 1. The code 24138 is the 138th day of 2024 — May 17. Common on lubricants, additives and aerosols, and unmistakable once you have seen one, because the last three digits never go past 366. Some plants print the year in full, so 2024138 says the same thing.

Month, day, year as six digits. The code 091524 is September 15, 2024. It reads like a date, which makes it the friendliest of the three and the easiest to get backwards: 090724 is September 7 in a US-market code and July 9 in a European one. The manufacturer's own published format settles that, not a guess.

A plant prefix, then a date block. One or two letters for the plant and line, sometimes a digit for the filler, then the date — usually year plus day of the year. Household bleach is the flagship: a jug code reading A81913505 breaks up as plant A8, year 19, day 135, which is May 15, 2019. The prefix is the part that makes these look unreadable, and it is the part you ignore.

There is a fourth shape and it is the one to be careful with: a lot number that contains no date at all. If the digits do not fit a published format, they are a batch identifier and nothing more. A code you cannot match to a format the manufacturer publishes is not a date, and this site does not print a decoder for one.

The formats this site reads


Each product page that carries a decoder names one of these. The key is what the page refers to; the sentence beside it is what the digits mean.

The format catalogue
Format What the digits mean
clorox-julian Plant code, then two digits of year, then the three-digit day of that year.
mmddyy Six digits: month, day, then two digits of year.
julian-yyddd Two (or four) digits of year, then the three-digit day of that year.

A format only ships here when the manufacturer publishes it and the decoder can reproduce the manufacturer's own worked examples. That is the whole bar, and it is why this list is short.

Worked examples, by brand


Clorox

Clorox stamps a production code on the neck of the bottle instead of an expiration date. CloroxPro reads it character by character: "The first two characters — A5 — are the code for the production facility. The third and fourth characters — 20 — are numbers that indicate the year of production, in this case 2020. The fifth, sixth and seventh characters — 064 — are numbers that indicate the day of production" on the Julian calendar, counted 1 to 365. Anything printed after those seven characters is line and time information, not part of the date.

Printed code, and the day it means
Printed code Made on
A82223411 August 22, 2022
A520064 March 4, 2020

The window this code counts against: Bleach.

CRC Industries

CRC stamps a five-digit production code on the bottom of the can: the first two digits are the year, and the next three are the day of that year, counted 1 to 365. CRC publishes the key itself — 07 = 2007 and 10 = 2010 for the year, 001 = Jan. 1, 035 = Feb. 4 and 365 = Dec. 31 for the day.

Printed code, and the day it means
Printed code Made on
07182 July 1, 2007
10035 February 4, 2010

The window this code counts against: Starting fluid.

CRC Industries

On a CRC aerosol the code is stamped on the bottom of the can. Since July 2007 it reads as five digits: two for the year, then three for the day of that year — 001 is January 1, 035 is February 4, 365 is December 31. CRC publishes the format and its own worked example.

Printed code, and the day it means
Printed code Made on
07182 July 1, 2007
10035 February 4, 2010

The window this code counts against: Brake cleaner.

CRC Industries

On a CRC aerosol the code is stamped on the bottom of the can. Since July 2007 it reads as five digits: two for the year, then three for the day of that year — 001 is January 1, 035 is February 4, 365 is December 31. CRC publishes the format and its own worked example.

Printed code, and the day it means
Printed code Made on
07182 July 1, 2007
10035 February 4, 2010

The window this code counts against: Carb cleaner.

Loctite PL Premium MAX

Loctite prints a lot code on the cartridge. On PL Premium MAX it is five digits: the first two are the year of manufacture and the last three are the day of that year, so 18060 is the 60th day of 2018. The plain PL Premium cartridge uses a shorter variant of the same idea — a single digit for the year followed by the three-digit day, buried in a longer string like HE9038R302, where 9038 is the 38th day of 2019.

Printed code, and the day it means
Printed code Made on
18060 March 1, 2018
21125 May 5, 2021

The window this code counts against: Construction adhesive.

Loctite Super Glue Pro Gel

Loctite stamps a lot code on the bottom of the bottle or on the crimped end of the tube. On Super Glue Pro Gel it is five digits: the first two are the year of manufacture, the last three are the day of that year. Watch for the other Loctite variant, which prints a single digit for the year before the same three-digit day and ends in two characters to ignore — a code like 6061XX is the 61st day of 2016, not a year 60 anything.

Printed code, and the day it means
Printed code Made on
22060 March 1, 2022
23215 August 3, 2023

The window this code counts against: Super glue.

Motorcraft

Motorcraft states the date code on its DEF jugs is formatted month, day, then two digits of year — six digits in a row. Its own worked example: 022817 is February 28, 2017.

Printed code, and the day it means
Printed code Made on
022817 February 28, 2017
051224 May 12, 2024

The window this code counts against: DEF (diesel exhaust fluid).

STA-BIL

The manufacturer's code on the back of the bottle is a Julian date: the first two digits are the year, the next three are the day of that year (1–365). Gold Eagle publishes the format on its shelf-life page.

Printed code, and the day it means
Printed code Made on
23045 February 14, 2023
22200 July 19, 2022

The window this code counts against: Fuel stabilizer.

What a decoded day is, and what it is not


The decoded day tells you the product's age. It is a fact about the container in your hand — the day that bottle was filled — and it stays that day permanently. A code that works out to a day in 2019 says 2019 on this site next year, and the year after that.

It is never a date about this page. The two are kept apart here on purpose, because it is the easiest mistake to make on a site that is entirely about dates printed on products. A decoded code is content. An "Updated" line is our own record of the day we last changed the page. Neither is ever allowed to stand in for the other, and no date printed on a bottle will ever make a page here look fresher than it is.

What "shelf life" means on a label — the window the decoded day gets counted against.