A transparent look at how Scento decodes perfume batch codes, where each scheme came from, what the four confidence tiers mean, and the limits of every public algorithm.
The Scento Decoder turns the cryptic string of letters and digits stamped on the bottom of a perfume bottle into a manufacturing date you can act on. The point of this page is to show our work. Every confidence tier we publish, every house we cover, every limitation we hit — all of it is below.
We built the decoder because the existing free tools (CheckFresh, Batchcode.org, CheckCosmetic) were stuck in 2015. Their interfaces are slow, their language coverage is poor, their niche-house support is patchy, and none of them are honest about which results are algorithmic and which are educated guesses. Scento has spent the last three years authenticating bottles at intake for our 8 ml decant program — by 2026 we've handled north of 50,000 individual flacons across roughly 600 houses. That intake work taught us how each manufacturer codes its product. The decoder is the public-facing surface of that internal knowledge.
A batch code is a manufacturer-issued identifier that ties a specific bottle of perfume to a specific production run. Most fragrance houses print theirs in tiny sans-serif on the underside of the glass and on the outer carton. The exact format varies wildly — some manufacturers encode the date directly, others use it as a reference number that maps back to internal production logs.
Three things you can do with the decoded date:
The decoder cannot tell you whether a bottle is genuine — that requires physical inspection — but a date that fits, combined with correct typography and sticker placement, is a useful first filter.
There is no industry standard. Each corporate group has its own scheme, and many of them have changed at least once when ownership shifted. The major families we cover:
Estée Lauder Group (3-character codes) — Tom Ford, Jo Malone, Aerin, Clinique, Aramis. The first character is a letter encoding the year, the next two encode the production day or week. Estée's scheme has been stable since the late 1990s and is the closest thing the industry has to a documented standard, partly because so much of the algorithm was reverse-engineered by users on Basenotes between 2008 and 2012.
LVMH-era Dior (4-character codes) — Dior, Guerlain, Givenchy, Kenzo, Loewe. Two letters plus two digits, where the first letter is a factory code, the second a year, and the digits are the day of the year. Pre-1998 Dior used a different scheme that we mark as Tier C.
L'Oréal Luxe (6-character codes) — Yves Saint Laurent (post-2008 transfer from Gucci Group), Lancôme, Giorgio Armani, Maison Margiela, Mugler (post-2020 transfer from Clarins), Prada, Valentino, Viktor & Rolf, Cacharel, Atelier Cologne. Six alphanumeric characters with a year letter, a month digit, and a production lot number.
Coty (4-digit codes) — Gucci, Burberry, Marc Jacobs, Calvin Klein (post-2005 transfer from Unilever), Davidoff, Chloé, Lacoste, Hugo Boss, Versace. Two-digit year plus two-digit week. This is the simplest scheme on the market and the easiest to brute-force when partial information is missing.
Inter Parfums (9-character codes) — Jimmy Choo, Boucheron, Coach, Montblanc, Lanvin, Van Cleef & Arpels, Repetto. A nine-character string that includes a production country code, a year-month block, and a sequential lot number.
Creed (year-letter system) — Creed has used a single rotating letter to indicate the year of production since roughly 2010. A=2010, B=2011, and so on through the alphabet. Pre-2010 codes use older multi-character schemes that were not consistently documented and which we mark Tier C.
Chanel (8-year cycle) — Chanel cycles through a fixed sequence of letter-digit codes that repeats every eight years. Without an additional reference point (the launch year of the specific fragrance, or a complementary box code), the decoder can only narrow a Chanel code to a range — typically two or three possible years. We always show this as a range, never a single date.
Hermès vintage (1978–1999 letter-letter) — A two-letter code in which both letters encode the year. Used on bottles produced before Hermès joined the LVMH supply chain in 2000.
There are roughly thirty additional minor schemes used by smaller houses (Le Labo overlay, Armaf explicit MM/YY labelling, ICR for Penhaligon's, Eurolinea for Acqua di Parma, and so on). The decoder includes the ones we have enough crowd-sourced examples to validate against, and excludes the ones we don't.
When you submit a brand and a code, the decoder does this:
The decoder is pure client-side string parsing for the first three steps — no network call, no waiting. Step 4 calls a cached server endpoint that returns a plausible result based on industry-standard production patterns for that house.
Every result the decoder returns is labelled with one of four tiers. We are deliberately public about what each tier means.
The ESTIMATED tier is the one we get the most pushback on, so to be fully transparent: when an algorithm doesn't exist, an estimate is necessarily a model-driven guess. We make the model as good as we can — bounded by the brand's launch year, bounded above by the current date, biased toward recent production for high-volume SKUs — but it remains a guess. Treat it accordingly.
Every flacon that arrives at Scento for our decant programme passes through a 12-point authentication check before any juice is decanted. The points cover glass weight (against a calibrated reference), atomiser pull-test, sticker UV-reactive ink, juice colour, juice viscosity, sticker placement and font, batch-code typography, carton stitching, cellophane wrap pattern, cap fit, screen-printing edge clarity, and box-insert paper grade. A flacon must pass all twelve to enter our inventory. Roughly 4% of bottles we receive at intake fail at least one check; those bottles are returned and the supplier is flagged.
The intake programme is the data source for the per-brand counterfeit stories surfaced on our brand sub-pages, and for the format-pattern estimates that drive the ESTIMATED tier. When we say "we have authenticated 12,400 bottles of Brand X since 2021", that is a literal count from our intake database. We don't extrapolate.
You have three reasonable options:
The decoder draws on three categories of source:
If you find a bottle the decoder cannot read, send the photograph and the code to [email protected] — every reported case helps us improve the registry.
Gratuito, multilingue, senza registrazione.