SSCC Barcode: Serial Shipping Container Code Guide
Learn what an SSCC barcode is, how its 18 digits are structured, how to calculate the check digit, and where SSCC codes are used in shipping and logistics.
If you have ever seen a long barcode on a shrink-wrapped pallet or shipping carton, there is a good chance it was encoding an SSCC. This number is what lets a warehouse scan one label and instantly know everything an Advance Ship Notice says about that shipment, without opening a single box.
Try it yourself: Scan and decode your own SSCC barcodes with our free online barcode scanner.
This guide explains what an SSCC is, how its 18 digits are built, how the check digit is calculated, and where the code shows up in real shipping and warehouse operations.
What Is an SSCC Barcode?
A Serial Shipping Container Code (SSCC) is an 18-digit number that GS1 defines to uniquely identify a single logistics unit, meaning a pallet, case, carton, roll cage, or any other container moving through the supply chain. It is not printed as a standalone barcode type; it is encoded inside a GS1-128 barcode using Application Identifier (00).
Unlike a GTIN, which identifies a product type (every can of the same soup shares one GTIN), an SSCC identifies one specific physical unit. Two pallets of the identical product, packed on different days, get two different SSCCs. This is why GS1 describes the SSCC as "non-significant": the digits themselves carry no product meaning, they function purely as a unique lookup key.
GS1's own logistics label standard treats the SSCC as the single mandatory data element on a logistics unit label. Other Application Identifiers, such as batch number or expiry date, are optional additions, but every compliant logistics label must carry an SSCC.
How Is an SSCC Number Structured?
An SSCC always contains exactly 18 digits, split into four fixed segments: an extension digit, a GS1 company prefix, a serial reference, and a check digit. The lengths of the middle two segments vary, but the total always adds up to 18.
[Extension Digit] [GS1 Company Prefix] [Serial Reference] [Check Digit]
1 digit 7-10 digits 6-9 digits 1 digit
-----
18 total
Extension digit (1 digit): A number from 0-9 chosen by the company. It exists purely to multiply how many SSCCs a single company prefix can generate; it is not standardized to mean anything specific, though some companies informally use it to flag packaging level.
GS1 company prefix (7-10 digits): The prefix licensed to your organization by your local GS1 Member Organization. Prefix length depends on how many numbers your organization needs; a business needing more capacity gets a shorter prefix, leaving more digits for the serial reference.
Serial reference (6-9 digits): A number the company assigns itself to each logistics unit. It can be sequential, randomized to hide shipping volume from competitors, or structured to embed a location or date code, as long as no SSCC is ever reused.
Check digit (1 digit): Calculated from the first 17 digits using the same GS1 mod 10 algorithm used for GTINs and UPCs, so a damaged or mistyped digit can be caught immediately.
Example breakdown:
3 4012345 000001199 0
│ │ │ │
│ │ │ └─ Check digit
│ │ └─ Serial reference (company-assigned)
│ └─ GS1 company prefix (licensed)
└─ Extension digit
How Do You Calculate the SSCC Check Digit?
The SSCC check digit uses the GS1 mod 10 algorithm applied to the first 17 digits, the same method used to validate GTINs, UPC-A, and EAN-13 numbers. Working right to left, digits alternate between a weight of 3 and a weight of 1, and the check digit brings the final sum up to the next multiple of 10.
Worked example using the 17 digits 34012345000001199:
- Working from the right, label each digit's position, with the rightmost digit as position 1.
- Multiply the digits in odd positions (1, 3, 5, 7, 9, 11, 13, 15, 17) by 3. Here those digits are 9, 1, 0, 0, 0, 4, 2, 0, 3, which sum to 19. Multiplied by 3, that is 57.
- Sum the digits in even positions (2, 4, 6, 8, 10, 12, 14, 16), which are 9, 1, 0, 0, 5, 3, 1, 4, totaling 23.
- Add both sums: 57 + 23 = 80.
- Take the last digit of that total (0) and subtract it from 10, then take the result modulo 10: 10 - 0 = 10, which becomes 0.
The check digit is 0, making the full 18-digit SSCC 340123450000011990.
Barcode generators and GS1-128 label software perform this calculation automatically, so manual computation is mainly useful for spot-checking a number by hand or debugging a rejected label. For a broader look at how check digits work across barcode types, see our barcode check digit guide.
Where Is the SSCC Used in Shipping?
SSCCs live on the outside of pallets and cartons, printed as GS1-128 barcodes, and simultaneously travel inside the electronic paperwork that accompanies a shipment. This dual presence, physical label plus electronic record, is what makes automated receiving possible.
In practice, the SSCC-18 encoded on a carton or pallet label must exactly match the SSCC-18 referenced in the shipment's EDI 856 Advance Ship Notice (ASN), which lists the products, quantities, and batch details packed inside that specific unit. When a receiving dock scans the SSCC, its warehouse management system looks up the matching ASN record and confirms the shipment's contents automatically, without needing to open the container.
Retailers build compliance programs around this matching. Major retailers such as Walmart require SSCC-18 as the mandatory identifier on every pallet label, encoded in GS1-128 and applied to at least two adjacent sides of the pallet, and a mismatch between the physical label and the ASN typically triggers a compliance chargeback at receiving. For more on building compliant shipping labels, see our guide on creating a shipping label barcode.
Beyond retail receiving, SSCCs support:
- Put-away and slotting, linking a scanned pallet to a warehouse location in the WMS
- Cross-docking, where a pallet is routed straight from inbound to outbound trailers based on its SSCC
- Multi-level tracking, where a shipment-level SSCC references the pallet SSCCs it contains, which in turn reference the case-level identifiers inside them
Our guide to warehouse barcode systems covers how these scans fit into broader inventory workflows.
How Do You Generate and Manage SSCCs?
Generating SSCCs responsibly means assigning your company prefix and extension digit once, then managing serial references so no number is ever issued twice, since a reused SSCC breaks the link between physical units and their electronic shipment records.
Most warehouse or ERP systems handle this with a running counter tied to the licensed GS1 company prefix, incrementing the serial reference for every new pallet or carton generated. Some companies keep the counter strictly sequential for simplicity; others randomize it to avoid revealing shipping volume to trading partners, provided a database tracks which numbers are already in use.
Whichever approach is used, three practices matter most:
- Never reuse a number. Even years later, a reused SSCC can create false matches in a trading partner's system.
- Keep the number licensed. A company prefix must come from GS1, not be invented, or the resulting codes will not be globally unique and retailers will reject them.
- Test before going live. Generate sample labels, scan them, and confirm the check digit and AI (00) prefix are read correctly before printing a full production run.
Frequently Confused Terms
An SSCC is easy to confuse with a GTIN or a carrier tracking number, but each serves a different role. A GTIN identifies a product type and stays the same across every unit of that product. A tracking number belongs to a carrier's delivery system and usually stops mattering once a package is delivered. An SSCC identifies one specific logistics unit and remains meaningful inside the supply chain's own systems, independent of which carrier moves it.