As I understand it, The key bits of data are in the QR code, they are just encoded as a URL - a highly structured URL that point of sale systems can decode without visiting the URL.
Doing it this way means the QR code is directly usable by consumers to get to a product info / marketing page, and directly usable by the POS systems.
We have the technology to encode a short, plain human-readable description of an item into a 2D barcode, with born-on and/or sell-by dates, and/or things like serialization and/or lot codes, or other useful things.
Brevity is important; fields can have a standardized-but-flexible format that fits the particular item's needs.
A single-quantity small Fuji apple, picked today (October 3, 2026), with a PLU of 4129, and a magic-number lot code of b29sF, distributed by Stemilt Growers might present as such:
Apple Fuji Sm,B0261003,P4129,Lb29sF,MStemilt
A single 1.5 liter bottle of Crystal Geyser spring water with a UPC of 07514000500, a best-by date of January 12 of 2028, and a lot code of kek67:
Water Spring 1.5l,D0280112,U07514000500,Lkek67,MCG
We can even add more real information and still have less data to encode than:
...but, I mean: A coded URL for a website that might be designed to avoid being forthcoming with information isn't necessarily any better for consumers, long-term, than the UPC we've had for over 50 years. It's still just a pointer that relates to someone else's database. It has no informational value on its own.
> We can even add more real information and still have less data to encode
The reason they're so verbose comes from a few facts.
First of all, it's an existing logistics labelling standard, they've just replaced brackets with forward slashes and put a domain name on the front. So <a href="https://example.com/01/09521207311511/21/1234ABDE1235" rel="nofollow">https://example.com/01/09521207311511/21/1234ABDE1235 is just a QR code version of those huge barcodes like (01)09521207311511(21)1234ABDE1235 you see on cases of products in the supermarket.
Second of all, the standard doesn't limit itself to a single date, so they can't identify dates with a simple ,D prefix. It's a kitchen sink standard [1] with 16 different types of date (production date, due date, packaging date, sell by date, best before date, expiration date, release date, first freeze date, harvest date, production date and time...) and just as many options for sizes and weights - so the identifier can be up to 4 digits. /11/ or /8008/
The third thing to know is QR codes pack different alphabets at different densities. Numbers at 3.5 bits per character, upper case letters and some symbols at 5.5 bits per character, ASCII at 8 bits per character. So the 13 characters of of "Apple Fuji Sm" uses about as much space in a QR code as a 29-digit number like "12345678901234567890123456789"
Fourth, you've replaced the 14-digit GTIN with an 11-digit UPC and replace the 13-digit serial number with a 5-digit lot code :)
IMHO the standard isn't going to take over the world, and anyone who says "Barcodes are about to go extinct" doesn't know what they're talking about. But it's not the information density, it's other reasons.
byte-sized-snac · · focus · HN ↗
Surely the actual data will be stored in the QR code and available offline
kiallmacinnes · · focus · HN ↗
Doing it this way means the QR code is directly usable by consumers to get to a product info / marketing page, and directly usable by the POS systems.
Edit: I looked it up. An example URL:
<a href="https://example.com/01/09521207311511/21/1234ABDE1235" rel="nofollow">https://example.com/01/09521207311511/21/1234ABDE1235
01 is a marker before the traditional barcode.
21 is a marker before the serial number.
There seems to be many other codes like 17 (expiry date) and 10 (batch number).
ssl-3 · · focus · HN ↗
We have the technology to encode a short, plain human-readable description of an item into a 2D barcode, with born-on and/or sell-by dates, and/or things like serialization and/or lot codes, or other useful things.
Brevity is important; fields can have a standardized-but-flexible format that fits the particular item's needs.
A single-quantity small Fuji apple, picked today (October 3, 2026), with a PLU of 4129, and a magic-number lot code of b29sF, distributed by Stemilt Growers might present as such:
A single 1.5 liter bottle of Crystal Geyser spring water with a UPC of 07514000500, a best-by date of January 12 of 2028, and a lot code of kek67: We can even add more real information and still have less data to encode than: ...but, I mean: A coded URL for a website that might be designed to avoid being forthcoming with information isn't necessarily any better for consumers, long-term, than the UPC we've had for over 50 years. It's still just a pointer that relates to someone else's database. It has no informational value on its own.michaelt · · focus · HN ↗
The reason they're so verbose comes from a few facts.
First of all, it's an existing logistics labelling standard, they've just replaced brackets with forward slashes and put a domain name on the front. So <a href="https://example.com/01/09521207311511/21/1234ABDE1235" rel="nofollow">https://example.com/01/09521207311511/21/1234ABDE1235 is just a QR code version of those huge barcodes like (01)09521207311511(21)1234ABDE1235 you see on cases of products in the supermarket.
Second of all, the standard doesn't limit itself to a single date, so they can't identify dates with a simple ,D prefix. It's a kitchen sink standard [1] with 16 different types of date (production date, due date, packaging date, sell by date, best before date, expiration date, release date, first freeze date, harvest date, production date and time...) and just as many options for sizes and weights - so the identifier can be up to 4 digits. /11/ or /8008/
The third thing to know is QR codes pack different alphabets at different densities. Numbers at 3.5 bits per character, upper case letters and some symbols at 5.5 bits per character, ASCII at 8 bits per character. So the 13 characters of of "Apple Fuji Sm" uses about as much space in a QR code as a 29-digit number like "12345678901234567890123456789"
Fourth, you've replaced the 14-digit GTIN with an 11-digit UPC and replace the 13-digit serial number with a 5-digit lot code :)
IMHO the standard isn't going to take over the world, and anyone who says "Barcodes are about to go extinct" doesn't know what they're talking about. But it's not the information density, it's other reasons.
[1] <a href="https://ref.gs1.org/ai/" rel="nofollow">https://ref.gs1.org/ai/