Serial Shipping Container Code.
Eighteen digits naming one logistic unit, the mod-10 rail, AI (00), and the custody join into AggregationEvents.
The pallet label, blown out.
rendered as a GS1-128 barcode — the scannable spine of the pallet label
SSCC 39506000000000123 · check 5
sum 3×3 + 9×1 + 5×3 + 0×1 + 6×3 + 0×1 + 0×3 + 0×1 + 0×3 + 0×1 + 0×3 + 0×1 + 0×3 + 0×1 + 1×3 + 2×1 + 3×3 = 65
check (10 − 65 mod 10) mod 10 = 5 → mod10 passThe row.
| scheme | gs1.sscc |
|---|---|
| grammar | 18 digits — extension digit, GS1 company prefix, serial reference, check digit. Carried as AI (00); names exactly one logistic unit, serialized by construction. |
| check digit | GS1 mod-10, right-anchored — the same rail as every GS1 key. |
| canonical form | The 18-digit form; EPC form urn:epc:id:sscc. |
| symbologies | GS1-128 on the logistics label; the AI (00) line is the scannable spine of the SSCC-18 label |
| enrichment | identity is open; shipment context is per-caller — the ASN that names this SSCC belongs to the parties on it |
| join rule | AggregationEvent parentID (CBV 2.0 §8.5): the pallet gains and loses its cases against this one identifier — the unit of custody. |
| pinned digest | gs1.sscc sha256:2cc9a5e60d67ffe766f2b7228b3f8269ad7e8c9d925146e6a027a989061ce122 |
| as data | /schemes/sscc.json |
In practice.
A tracking number names a shipment for one carrier's lifetime; the SSCC names the physical unit for the unit's lifetime, across carriers and documents. The registry treats the two as different schemes with different verdict labels — see the tracking family row.
On the blog.
-
SSCC: the logistic unit is the unit of custody
The SSCC is the only identifier that names this pallet — not the product class, not the shipment abstraction, the physical unit that crosses your dock. That is why it parents every EPCIS AggregationEvent, why the ASN hangs on it, and why the parcel networks throwing it away severs product identity at the label.
-
The case and the pallet: GS1-128, ITF-14, and generating SSCC labels
Logistics labeling is its own discipline — ITF-14 for the corrugate-printable case GTIN, GS1-128 for AI-bearing labels, SSCC allocation for the logistic unit — and the label is the first artifact where a generation error becomes physical. A complete pallet label generated, decomposed, and round-tripped before the print run.
-
Tracking numbers are a scheme family too: 1Z, IMpb, and the SSCC nobody keeps
Carrier tracking formats are proprietary grammars doing a logistic-unit identifier's job — and the parcel APIs that mint them are SKU-poor and GS1-blind. Product identity dies at the label, and the registry treats carrier formats as first-class scheme rows so the death is at least visible.
Get an API key.
The local verbs run from npx barcoding.dev today with no key. A key opens the network half of the verb set.