Batch code formats
A batch code's format belongs to whoever manufactures the product, not to the name on the bottle. Coty stamps the same four digits on Rimmel, Gucci and adidas; Inter Parfums stamps the same nine characters on Montblanc, Coach and Jimmy Choo. Learn the cipher once and you can read every brand that shares it.
Each page below documents one family: what every character encodes, real codes decoded by the same engine that powers the checker, where the code is printed on the pack, and — just as importantly — what the format cannot tell you.
Korean Beauty Batch Codes: The Manufacture Date, Printed Plainly
K-beauty barely uses ciphers. Korean law requires the manufacture date on the pack, and the batch code usually starts with it — COSRX, Laneige, Innisfree, Beauty of Joseon and 40 more.
231122B46 brands5 min readCoty Batch Codes (YDDD): How to Read Them
Coty stamps a 4-digit code — one year digit plus the day of the year — on Rimmel, Bourjois, Hugo Boss, Gucci, Calvin Klein and 35 other brands. Here is the full format, worked examples and its blind spots.
413540 brands5 min readL'Oréal Batch Codes: The Year-Letter System Explained
L'Oréal's 6-character code hides the year in a letter and the month in the character after it. It reads Maybelline, Lancôme, Kiehl's, CeraVe, La Roche-Posay, YSL and 30 more brands.
22U40139 brands6 min readDior, Chanel and LVMH Batch Codes: The Date Is in the Code
Luxury houses don't run a secret cipher — Dior, Guerlain, Givenchy, Chanel and their siblings print the production date straight into the batch code. Here's how to see it.
324520 brands5 min readEstée Lauder Batch Codes: Plant, Month, Year in 3 Characters
The Estée Lauder group packs a plant letter, a month and a year into three characters. The same code reads Clinique, MAC, La Mer, Jo Malone, Tom Ford and Bobbi Brown.
A5619 brands5 min readInter Parfums Batch Codes: Year Letter + Julian Day
Montblanc, Jimmy Choo, Coach, Van Cleef & Arpels, Boucheron and Karl Lagerfeld fragrances share one licensed manufacturer — and one 9-character code.
08J38J16912 brands5 min readUnilever Batch Codes (YDDD): Dove, Axe, Rexona, Vaseline
Unilever's personal-care lines use a 4–5 character code: year digit, day of the year, and an optional plant letter.
6120X10 brands4 min readProcter & Gamble Batch Codes: The Julian Date
Olay, Pantene, Head & Shoulders, Old Spice and Herbal Essences all carry a Julian production date. Three code lengths, one rule.
20260328 brands5 min readShiseido Batch Codes (YDDD): Year Digit + Julian Day
Shiseido and its houses print the year digit first and the day of the year second, followed by plant letters.
5029KG6 brands4 min readRohto Batch Codes: Year Digit + Month Letter (Unofficial)
Hada Labo, Melano CC, OXY and Sunplay follow an observed year-digit-plus-month-letter pattern that Rohto has never confirmed. We decode it, and we say so.
6C24 brands4 min readNeutrogena, Aveeno and RoC Batch Codes: The Day Comes First
Kenvue (formerly Johnson & Johnson consumer health) prints a Julian date backwards compared with most of the industry — day first, then year.
123243 brands4 min readNIVEA, Eucerin and Labello Batch Codes: Year + Week
Beiersdorf is one of the few manufacturers to encode the production week rather than the day. Here's how its 8-digit code works.
81535543 brands4 min readThe Ordinary Batch Codes: Year Digit + Month Letter
Deciem's newer codes encode a year and a month letter — and its older four-character codes cannot be decoded by anyone. Here's how to tell them apart.
4A012 brands4 min readCreed Batch Codes: One Letter, One Year
A Creed batch code encodes the production year in its first letter and nothing else. Here's the full letter table and what the code cannot tell you.
N12341 brand4 min readBioderma Batch Codes (DDDY): Day First, Year Last
Bioderma's code puts the day of the year before the year digit — the mirror image of Coty's. And most Bioderma packs print an expiry date anyway.
296821 brand4 min readJulian Date Codes: The Industry's Default
Most manufacturers with no proprietary cipher simply print the date — as a Julian day number or a packed calendar date. This is the fallback our decoder uses when a brand has no scheme of its own.
240455 min read