SSCC-18 Explained: The 18 Digits, the Check Digit, and Why You Can Never Reuse One
The SSCC-18 is the serial shipping container code that ties a pallet to its ASN. Here is how the 18 digits break down, how the check digit is computed, and the rule that makes reuse a chargeback.

If you have ever stared at an 18-digit number printed under a GS1-128 barcode on a pallet label and wondered what it means, this is the guide. The SSCC-18 (Serial Shipping Container Code) is the most important number in a logistics shipment — it is what lets a retailer's warehouse system pull up the exact electronic record for that physical box, verify it against the ASN, and route it without touching it.
This guide decodes the structure, walks through the check digit calculation, explains the Application Identifier it lives under, and makes clear the one rule that generates the most chargebacks: SSCCs must never be reused.
What an SSCC-18 actually is
The SSCC is an 18-digit number that uniquely identifies a logistics unit — any combination of trade items packaged together for storage or transport, such as a case, a pallet, or a parcel.
Two things make it special:
- It is global. The number is unique worldwide because it embeds a GS1 Company Prefix, and it is managed through GS1.
- It is a container, not a product. An SSCC identifies the shipment unit, not the item inside. Do not confuse it with a GTIN, which identifies the product itself. One pallet has one SSCC; it can contain hundreds of GTINs.
The 18 digits, field by field
The structure is:
Extension digit GS1 Company Prefix Serial reference Check digit
N1 N2 ... (7-9 digits) N10 ... N18
| Position | Field | What it is | Who assigns it |
|---|---|---|---|
| N1 | Extension digit | Adds numbering capacity (0–9) | You (the shipping party) |
| N2–N10+ | GS1 Company Prefix | Identifies the company globally | GS1 Member Organisation |
| Rest | Serial reference | A unique serial per carton | You (sequentially, normally) |
| N18 | Check digit | Validates the whole number | Computed by the GS1 algorithm |
Extension digit (N1)
The first digit is not a country prefix — a common misconception. It is simply an extension digit that increases the numbering space. It can be any value from 0 to 9, and its use is at the discretion of the company assigning SSCCs.
Many suppliers believe the first digit must be 3. It does not — that was an arbitrary convention from when SSCC was introduced in the 1980s. Any digit works, but if you change it, you must recompute the check digit.
GS1 Company Prefix (N2–N10)
This is your identity in the GS1 system, and it is what makes the SSCC globally unique. Its length (7, 8, or 9 digits) is set by your GS1 Member Organisation's allocation policy. It does not identify where the box was made — it identifies who is responsible for the logistics unit.
Serial reference (N11–N17)
This is the serial number your company assigns to each individual carton. The simplest and most common way is sequential: ...000000, ...000001, ...000002, and so on. This is the part that must be unique for every carton you ever generate — the heart of the no-reuse rule.
Check digit (N18)
The final digit is computed from the preceding 17 using the standard GS1 modulo-10 algorithm (the same one used for GTINs). It exists to catch transposition and transcription errors — if someone types the number and the check digit does not match, the system knows the number is wrong without checking a database.
How to compute the SSCC check digit
The algorithm is the GS1 modulo-10 method, applied by summing every other position, weighted 3 and 1 alternately, from the right, then subtracting from the next multiple of 10.
Worked example — take the first 17 digits 3 0 123456 1234567 8 (using a 7-digit prefix here for clarity):
- From the rightmost of the 17 (which is position 17, the 7), alternate weights 3, 1, 3, 1... moving left.
- Sum the weighted digits.
- The check digit = the smallest number that makes the total a multiple of 10.
In practice nobody computes this by hand — GS1 publishes a check digit calculator, and a correct GS1-128 generator will compute and append the check digit for you. Our free barcode generator does this automatically. If you are entering an SSCC manually, use the calculator; an off-by-one in the check digit silently poisons the whole carton.
The Application Identifier (00)
On a GS1-128 label, the SSCC is carried under Application Identifier (00). In human-readable form it appears as (00) 3 0 123456 123456789 8. The parentheses around 00 are part of the human-readable interpretation only — they are never encoded into the barcode itself.
The AI tells the scanner what kind of data follows. (00) means "the next 18 digits are an SSCC." This is why the number can sit alongside other encoded data, like a GTIN (01) or a lot number (10), inside a single GS1-128 symbol.
The no-reuse rule (why it drives chargebacks)
The single most expensive SSCC mistake is reusing a serial reference. Because the SSCC is the join key to the ASN:
- If you print the same SSCC on two different cartons in the same (or overlapping) shipments, the receiving system cannot tell them apart. The second carton "already" arrived in the ASN, so the match fails.
- In Walmart's program, an incorrect or missing SSCC-18 label is $500 per carton. Reuse is a textbook "incorrect SSCC."
- Retailers track this. Reusing a serial reference is not a rounding error; it breaks the audit trail that traceability mandates (like FSMA 204) rely on.
The rule is absolute: each logistics unit gets its own SSCC, and you never reuse a serial reference. If your system allocates serials sequentially and you run out, you use the extension digit to grow the space — you do not start reusing numbers.
SSCC vs. the other GS1 keys
It is common to confuse the SSCC with other GS1 identifiers. The difference is functional:
| Key | Identifies | Example |
|---|---|---|
| SSCC-18 | A logistics unit (pallet/case) | One specific pallet in a shipment |
| GTIN | A product (trade item) | "This 12-pack of cereal" |
| GRAI | A returnable asset | "This pallet crate" |
| GIAI | An individual asset | "This forklift" |
On a full logistics label you might see an SSCC (the logistic unit), one or more GTINs (the contents), and a GLN (the ship-to location) — all in different segments. The GS1 Logistic Label Guideline shows the standard three-segment layout: carrier on top, customer in the middle, the SSCC segment at the bottom.
Who assigns the SSCC
A frequent source of confusion is the question "which company is responsible for creating the SSCC?" The GS1 rule is clear:
- The SSCC is assigned by whoever creates the logistics unit — the "shipping party" — using that company's own GS1 Company Prefix.
- If a logistics unit arrives at a warehouse without an SSCC, the next party in the chain (a 3PL or the customer) may allocate one.
This has a practical consequence for a supplier who does not yet have a GS1 Company Prefix: you may not be able to create valid SSCCs yourself, and that is a real reason to get one rather than improvising a number. An SSCC built on someone else's prefix — or on a made-up prefix — is not globally unique and will fail the match at the receiving dock.
There is a second, subtler point: because the SSCC is allocated at packing time by the party that packs, the same physical goods can legitimately end up under different SSCCs if they are re-packed or re-palletized mid-transit. The SSCC is tied to the container, not the contents. This is why the SSCC "loses its value" after it is received and unpacked — it has served its purpose as the shipping reference.
A worked example: a real SSCC string
Let's put it all together with a concrete string. A representative SSCC-18 is:
(00) 3 0 123456 123456789 0
Breaking that down:
(00)— the Application Identifier telling the scanner "this is an SSCC."3— the extension digit.0123456— the GS1 Company Prefix (7 digits here).123456789— the serial reference assigned to this one carton.0— the check digit computed from the preceding 17.
A common question is whether the extension digit and check digit can collide with the prefix or serial. They cannot, because the check digit is derived from the full 17 digits and the extension digit changes the numbering space. The whole point of the structure is that no two valid combinations collide — which is exactly why you must not override the uniqueness by reusing a serial.
If you need to generate an SSCC string quickly and correctly, the free barcode generator handles the structure and check digit so you don't have to reason about it.
Placement and size requirements
Because the SSCC is the anchor, it has the strictest placement rules of anything on the label:
- Lowest barcode. The SSCC, under AI (00), must always appear in the lowest barcode on the label, below any other segment. This is a normative requirement, not a preference.
- Picket-fence orientation (bars perpendicular to the base of the unit).
- Bar height ≥ 31.75 mm (1.25 in) for every GS1-128 on the label.
- X-dimension 0.495–0.94 mm, target 0.495 mm.
- Quiet zone ≥ 10× the X-dimension on each side.
- Grade B (2.5) at point of production, Grade C (1.5) minimum at point of use.
The physical-side placement rules are detailed in the logistics label placement guide, and the size constraints in the X-dimension guide.
The short version
The SSCC-18 is an 18-digit, globally unique number identifying one logistics unit. It is built from an extension digit, a GS1 Company Prefix, a serial reference, and a check digit, and it rides in a GS1-128 symbol under Application Identifier (00). It is the join key that ties a physical pallet to its ASN, so it must be unique — never reuse a serial reference, or you turn a correct shipment into a $500-per-carton chargeback. Let a generator compute the check digit, print it as the lowest, picket-fence barcode at Grade B with a 10× quiet zone, and match every SSCC on the truck to the ASN you transmitted.
