The world's hardest-to-read expiry dates, ranked
The gochujang from the Asian market. The pineapple cakes you brought back from Taipei. The K-beauty cream with no date anywhere. Expiry dates are written completely differently around the world — different calendars, different digit orders, sometimes no date at all. Here's our ranking of the hardest ones, each with the how-to-read formula and the regulation behind it. And as a bonus, we fed every one of them to DueSnap, the snap-a-photo expiry tracker, to see whether AI can actually read them.
Published July 18, 2026 · Product photos are staged samples that reproduce real label formats (they are not actual products). All AI scan results are real, unedited results from the app (English UI).
#8 🇰🇷 Korea — “소비기한 2026.12.24”
The numbers are easy — year.month.day. The hard part is the Korean words around them. 소비기한 (sobi-gihan) means use-by date; 제조일자 means manufacturing date. When both dates appear side by side, you can't pick the right one without knowing the words.
Fun fact: in January 2023 Korea scrapped its old 유통기한 (sell-by date) system and switched to 소비기한 (use-by date) — so older and newer products literally carry different words.
#7 🇬🇧 UK & EU — “BEST BEFORE END: 03/2027”
Under EU and UK rules, a label with a day-precise date says “best before”, but a label that gives only a month must say “best before end” (Regulation (EU) No 1169/2011, Annex X). Miss the meaning of END and you'll bin it a month early — a classic, entirely avoidable waste. Plenty of UK shoppers still misread it.
#6 🇮🇳 India — “BEST BEFORE 9 MONTHS FROM PACKAGING”
India's food regulator (FSSAI) officially allows relative dating — “best before X months from manufacture/packaging”. No expiry date is printed anywhere; you hunt down the tiny “PKD.” (packed on) date and add the months yourself. Worse, the only date on the pack is the packing date — mistake it for the expiry date and you'll toss the food nine months early.
#5 🇹🇼 Taiwan — “有效日期:116.03.20”
Anyone who's brought pineapple cakes home from Taipei has met the Minguo (Republic of China) calendar, which counts 1912 as year 1. It's Taiwan's official calendar and perfectly normal on food labels (有效日期 = expiry date). “116.03.20” looks like a date from around 2016 — or a lot number — but it's actually in the future. “115.12.31” is New Year's Eve 2026.
Bonus trap: Taiwanese law also allows year-month-only dates on food that keeps for 3+ months (in which case it means the end of that month).
#4 🇹🇭 Thailand — “วันหมดอายุ 20/03/2570”
Not dried mango with a 544-year shelf life — that's the Buddhist Era, Thailand's official calendar, which runs 543 years ahead of the Western one. On Thai food it comes with set phrases like “วันหมดอายุ” (expiry date) and “ควรบริโภคก่อน” (best consumed before).
The really nasty version drops the century: “EXP 20/03/70” doesn't mean 1970 or 2070 — it means BE 2570, i.e. 2027. Unreadable unless you already know.
#3 🇺🇸 US egg cartons — “300 P-1234”
The champion of dates-that-don't-look-like-dates — and it's on cartons in your own supermarket. USDA-graded eggs must be stamped with the day of the year they were packed, as three digits (7 CFR 56.37). “132” is May 12; “300” is October 27. And “P-1234”? That's the packing plant number — not a date at all.
Remember, too, that outside of infant formula the US has no federal requirement to print an expiry date at all, so what you see varies by state and brand: “SELL BY”, “BEST IF USED BY”, or just these three digits.
#2 💄 Cosmetics — “MFG 2025.03 + 24M”: readable, but don't add them up
The temptation is to compute “March 2025 + 24 months = March 2027”. That's the trap. The open-jar icon (the PAO — period after opening — symbol) means 24 months from the day you open it. Open it in 2028 and it's good to 2030; never open it and the clock never starts. Adding 24M to the manufacturing date produces a number that is nobody's expiry date.
Compare it with India at #6: there, the starting point (the packing date) is printed on the label, so the arithmetic can be finished. With PAO, the starting point isn't printed anywhere — the only person who knows it is you.
And here's the kicker: under the EU cosmetics regulation (1223/2009, Article 19(1)(c)), the PAO symbol is used on products whose unopened shelf life exceeds 30 months — which is exactly why there's usually no expiry date printed anywhere. If you can't find one, it's not that you missed it.
That “LOT 5C21A”? Batch codes have no legally standardized format — every manufacturer uses its own scheme, which is why batch-code decoder sites exist at all. Readable, yet unanswerable: a worthy #2.
#1 🌍 “10/12/2026” — plain digits nobody on Earth can read
Not the Buddhist calendar, not Minguo — the #1 spot goes to a perfectly ordinary numeric date. If one number is 13 or higher (“25/03/2026”) you can work it out; but when both day and month are 12 or less, no one on Earth can decide from the label alone. The information simply isn't there. US-style and everywhere-else-style readings can differ by up to eleven months — misread it and you'll bin food that's fine, or eat food that isn't.
AI can't decide this either — so DueSnap deliberately doesn't let the AI guess. It brings back the printed string as-is, and you choose in Settings whether ambiguous dates read month/day or day/month (the default follows your device's region).
The cheat sheet — everything on one table
| Where | Example | How to read it | Memory hook | DueSnap's real result |
|---|---|---|---|---|
| 💄 Cosmetics | MFG 2025.03 + 24M (open-jar symbol) | Not an expiry date 24 months from the day you open it | Never add it to the manufacturing date — the clock is yours | ✅ Registered with no date (add “+ X months” when you open it) |
| 🌍 Imports in general | 10/12/2026 | US style = Oct 12 Elsewhere = Dec 10 | Both numbers ≤ 12 = danger. Decide by origin | ✅ Follows your setting (month/day → 10/12, day/month → 12/10, ⚠️) |
| 🇺🇸 US (eggs) | 300 P-1234 | Packed on day 300 of the year | 3 digits = day-of-year (001–365) | ➖ Registered with no date (no fabricated dates) |
| 🇹🇭 Thailand | วันหมดอายุ 20/03/2570 | March 20, 2027 | Buddhist year − 543 = Western year | ✅ Auto-converted to 2027/03/20 |
| 🇹🇼 Taiwan | 有效日期 116.03.20 | March 20, 2027 | Minguo year + 1911 = Western year | ✅ Auto-converted to 2027/03/20 (⚠️) |
| 🇮🇳 India | BEST BEFORE 9 MONTHS FROM PACKAGING | Packing date + 9 months | Find the tiny “PKD.” date, then add | ✅ Auto-calculated 2026/09/20 |
| 🇬🇧 EU & UK | BEST BEFORE END: 03/2027 | Until March 31, 2027 | END = the end of that month | ✅ Registered as 2027/03/31 |
| 🇰🇷 Korea | 소비기한 2026.12.24 | Until December 24, 2026 | 소비기한 = use-by date (since 2023) | ✅ Registered as 2026/12/24 |
| 🇯🇵 Japan (bonus) | 賞味期限 2027.03 | Until around the end of March 2027 | 賞味期限 = best before / 消費期限 = use by. Food keeping 3+ months may show year-month only — and the printed date is rounded down to the previous month, so it's slightly earlier than the true date | —(not tested this time) |
The world's date labels are a three-part chorus of “different calendar”, “different order” and “not printed at all”. Next time an import stumps you, come back to this table.
Our AI test scorecard: 7 of the 8 scannable formats were registered with the correct date automatically (the ambiguous #1 follows your setting, as designed). The two that genuinely contain no answer — the egg code and the cosmetics jar — were registered without a date instead of with a made-up one. Knowing what it can't read is part of what makes an expiry tracker trustworthy.
Can't read it? Snap it.
DueSnap reads the name and date from a photo — including every hard label in this article —
and reminds you before it expires. Free, no account needed.
FAQ
What does the year 2570 on Thai food mean?
It's the Buddhist Era calendar, Thailand's official calendar. Subtract 543 to get the Western year: BE 2570 is 2027. On Thai food labels it appears with phrases like วันหมดอายุ (expiry date) or ควรบริโภคก่อน (best consumed before).
When does Taiwan's 有效日期 116.03.20 expire?
That's March 20 of Minguo year 116, which is March 20, 2027. Add 1911 to a Minguo year to get the Western year. Taiwan allows both the Minguo and Western calendars on food labels.
How long can I eat food marked best before end: 03/2027?
Until the last day of March 2027 (March 31). Under EU and UK rules, labels that state only a month use the phrase "best before end", meaning the end of that month — while day-precise dates use plain "best before".
What does 24M on cosmetics mean?
The 24M inside the open-jar symbol means 24 months after opening — the clock starts the day you open it, not the manufacturing date. Under EU cosmetics regulation 1223/2009, this symbol is used on products whose shelf life exceeds 30 months, which usually means no expiry date is printed anywhere on the package.
Is 10/12/2026 on imported food October 12 or December 10?
You can't tell from the label alone. US-style dates read month/day/year (October 12), while most other countries read day/month/year (December 10). When both numbers are 12 or less, the only way to decide is to consider where the product comes from.
law.moj.gov.tw (Food Safety Act)/mohw.gov.tw
Thailand: Ministry of Public Health Notification No. 367 (B.E. 2557) — day/month/year order and the required phrases
exfood.fda.moph.go.th (notification PDF)
United States: 7 CFR 56.37 (egg pack date as day-of-year); USDA FSIS (no federal date-label requirement except infant formula)
govinfo.gov (federal regulations)/fsis.usda.gov
Korea: Act on Labeling and Advertising of Foods, amended — 소비기한 (use-by) system effective January 2023
korea.kr (policy briefing)
India: FSSAI labelling FAQ (the "Best Before … months from manufacture/packaging" format)
fssai.gov.in (official FAQ PDF)
EU & UK: Regulation (EU) No 1169/2011, Annex X ("best before" vs "best before end"; date order)
legislation.gov.uk (Annex X)
Japan: Consumer Affairs Agency, food labelling standard Q&A (year-month display allowed for 3+ month shelf life; rounded down)
caa.go.jp (expiration dates)
Coming soon