Every barcoded element is three things: the barcode format that carries it, the thing it names, and the standard that shapes it. Almost any format carries almost any thing, so the plate keeps them apart: a rail of formats, and a grid of things, each naming its standard and the formats that carry it. Select an element to open it.
axis one · the container
The barcode format is the container, not the thing.
Nine ways to carry an identity on a package. barcoding.dev reads every one of them. RFID is a sibling, a radio rather than a printed mark. One format carries almost any content, so each of these recurs across the grid below.
PDF417PDF417ISO 15438 · 2D stackedroom for a paragraphcarries the AAMVA driver license
DMGS1 DataMatrixISO 16022 · 2D matrixpacks dense at a tiny sizecarries SGTIN on Rx and devices, GRAI
QRQRISO 18004 · 2D matrixa whole web address, camera-readcarries any identity, as a GS1 Digital Link
RFIDRFID, EPC UHF Gen2ISO 18000-63 · radioread without line of sight, a sibling not a barcodecarries SGTIN, SSCC (this one)sibling
read it both ways Read down a container in the rail: it carries many things. Read across a thing in the grid below: it rides many containers. The mapping is many-to-many, and the format is never the thing.
Pick up a single non-grocery item at Target and it carries a UPC and a QR and an RFID tag, at the same time, not one instead of another. The UPC carries the GTIN, the kind that every identical item shares. The RFID tag carries the SGTIN, the serial that names this one. Same thing. Three containers. Two grains. The format was never the thing.
UPC / EAN, the linear container → the GTIN (the kind)
QR, a GS1 Digital Link → the same GTIN, plus its fields
(( • ))RFID
an EPC UHF Gen2 tag, read without line of sight (no printed mark to draw)
RFID → the SGTIN (this one): 01/09506000134352/21/987
The number on almost everything you buy. A GTIN names a class of trade item: every identical 12oz bag of lettuce shares one GTIN, the shelf, the register and the catalog all agree on it.
in practice The kind, not the copy. A UPC on the front carries it in the US; an EAN-13 carries it in Europe; a QR carries it as a Digital Link. One meaning, several containers.
the shelf barcode (EAN-13)
the modern square (GS1 Digital Link QR)
Two forms, one identity: 09506000134352.
barcoding.dev reads this and checks it from the digits alone. The Digital Link resolves at id.org.ai, and the scan becomes an event at epcis.dev. This door holds no history.
The one instance. A GTIN plus a serial names THIS bag of lettuce, not the identical one behind it, the finest grain there is. Same GTIN as its neighbor, a different serial.
in practice Every US prescription package already carries this under DSCSA, usually in a DataMatrix. The GTIN goes to the register; the serial, lot and expiry rode in on the same scan and go nowhere today. An RFID tag carries this same instance grain without line of sight.
GTIN + expiry + lot in one GS1-128 strip
the serialized instance as a Digital Link QR
barcoding.dev reads this and checks it from the digits alone. The Digital Link resolves at id.org.ai, and the scan becomes an event at epcis.dev. This door holds no history.
in practice A 12-pack is one sellable unit that holds twelve sellable units: the case is a class, each can inside it a finer class, and each physical can an instance. It rides an ITF-14 printed straight onto the corrugate, or a GS1-128 label.
a case-grain GS1-128 label
barcoding.dev reads this and checks it from the digits alone. The Digital Link resolves at id.org.ai, and the scan becomes an event at epcis.dev. This door holds no history.
in practice What a dock scans when a shipment arrives. One SSCC, one thing that moves, on a GS1-128 pallet label.
a pallet label (SSCC on GS1-128)
barcoding.dev reads this and checks it from the digits alone. The Digital Link resolves at id.org.ai, and the scan becomes an event at epcis.dev. This door holds no history.
in practice The kind of thing that moves through your building carrying no barcode at all until you give it one. Serialize is the act that comes first for assets, usually onto a GS1-128 label.
barcoding.dev reads this and checks it from the digits alone. The Digital Link resolves at id.org.ai, and the scan becomes an event at epcis.dev. This door holds no history.
in practice Counted from memory and reconciled by argument until it has an identity. A hospital surgical tray is a GRAI, not an SGTIN, because it survives the autoclave and returns; its DataMatrix does too.
barcoding.dev reads this and checks it from the digits alone. The Digital Link resolves at id.org.ai, and the scan becomes an event at epcis.dev. This door holds no history.
in practice Proof that the trade-item space is one space: a book scans at a register exactly like a can of soup, on an EAN-13.
an ISBN as an EAN-13
barcoding.dev reads this and checks it from the digits alone. The Digital Link resolves at id.org.ai, and the scan becomes an event at epcis.dev. This door holds no history.
in practice Over the counter, it is a GTIN, a product class. On a prescription package it becomes an SGTIN with a serial and lot, in a DataMatrix. Structural validation only: the standard defines no check math.
barcoding.dev reads this and checks it from the digits alone. The Digital Link resolves at id.org.ai, and the scan becomes an event at epcis.dev. This door holds no history.
A medical device's unique identifier. Read at the FDA grain the GTIN is the device identifier and the production identifiers are the lot, expiry and serial.
meaning
a medical device, at two grains
standard
US FDA UDI (GS1 / HIBCC / ICCBBA issuing agencies)
in practice One label, read at two grains: the same characters name the device class and the individual device, in a DataMatrix small enough to ride the device itself.
a UDI on a GS1-128 label
barcoding.dev reads this and checks it from the digits alone. The Digital Link resolves at id.org.ai, and the scan becomes an event at epcis.dev. This door holds no history.
in practice Fully published and check-verifiable from the digits. Decomposed by the vehicle authority; resolved via auto.dev. Code 39 carries it because it needs no GS1 application identifiers.
a real VIN on Code 39 (the door-jamb form)
barcoding.dev reads this and checks it from the digits alone. The Digital Link resolves at id.org.ai, and the scan becomes an event at epcis.dev. This door holds no history.
The individual who actually did it, picked, packed, scanned, dispensed.
meaning
the individual who did it
standard
id.org.ai person identity
format
a person identity, never read off a document
in practice The dimension the event standard leaves out: a company appears as the party, the individual does not. Whether that gap matters to your week is your call.
The barcode on the back of a US driver license: a person, and the state's grant of their license to drive. Its container is a PDF417; its standard is AAMVA, not GS1.
in practice This is where the domain guardrail lives, and it is why a container is not a meaning. The format is a barcode like any other; the meaning is a person.
Handed a driver license, this door answers with a refusal, not a reading: parsed, verified, and nothing kept, nothing shown, nothing sent. The refusal is a document, see personal-document-refused. A person is otherwise represented on this plate through Consumer and Patient, never read off a license.