EtikStudio

Guide normative

GS1 barcodes: the complete guide (GTIN, GS1-128, SSCC, DataMatrix)

What every GS1 code encodes, how check digits and application identifiers work, and how to print barcodes that scan first time.

Questo articolo è disponibile in inglese e spagnolo.

GS1 is the global organization that assigns the numbers behind almost every barcode in retail, healthcare and logistics. A GS1 code is not a random string: every digit has a meaning and a position, and a scanner at a customer's warehouse expects exactly that structure. This guide explains the pieces you need to get right on a label.

1. The GS1 Company Prefix and the GTIN

Everything starts with a GS1 Company Prefix licensed from your national GS1 member organization. You append an item reference and a check digit to build a GTIN (Global Trade Item Number), the number that identifies a product. GTINs come in four lengths:

FormatDigitsTypical useSymbology
GTIN-1313Retail items outside North AmericaEAN-13
GTIN-1212Retail items in the US and CanadaUPC-A
GTIN-88Very small packagesEAN-8
GTIN-1414Cases and pallets (packaging levels)ITF-14 or GS1-128

Example: the 12 digits 750123456789 get the check digit 3, so the retail GTIN-13 is 7501234567893. A case of that product uses indicator digit 1 in front: 17501234567890. The check digit is recalculated because the digits changed.

2. How the check digit is calculated

All GS1 keys use the same modulo-10 algorithm: starting from the rightmost digit (excluding the check digit), multiply digits alternately by 3 and 1, add the results, and the check digit is what you must add to reach the next multiple of 10. Label software should compute it for you — typing it by hand is the most common cause of unscannable codes.

3. GS1-128 and Application Identifiers

A GTIN identifies what the product is; it says nothing about which lot, when it expires or how many units are in the case. GS1-128 (Code 128 with the FNC1 start character) carries that extra data using Application Identifiers (AIs): two-to-four-digit prefixes that tell the reader what follows. The parentheses printed in the human-readable text are never encoded in the bars.

AIMeaningFormat
00SSCC (logistic unit)18 digits, fixed
01GTIN14 digits, fixed
10Batch / lot numberUp to 20 characters, variable
11 / 13 / 15 / 17Production, packaging, best-before, expiration dateYYMMDD, fixed
21Serial numberUp to 20 characters, variable
30 / 37Count of items / count in logistic unitUp to 8 digits, variable
310nNet weight in kg, n decimals6 digits, fixed

Fixed-length AIs can be concatenated directly; a variable-length AI must be the last element or be followed by an FNC1 separator. Getting this wrong produces a code that scans but is parsed incorrectly by the receiving system — a far more expensive error than a code that does not scan at all.

(01)17501234567890(17)270315(10)MX-240917

Reading the example above: GTIN of the case, expires 15 March 2027, lot MX-240917. The lot is last because its length is variable.

4. The SSCC for pallets

The Serial Shipping Container Code identifies one specific logistic unit — this pallet, not this kind of pallet. It is 18 digits: an extension digit, your GS1 Company Prefix, a serial reference you must never repeat, and a check digit. Example: 075012340000001236. On the GS1 Logistics Label the SSCC is the bottom barcode, encoded as AI (00), and it must be the last symbol on the label so operators scan it first.

5. GS1 DataMatrix and 2D codes

Healthcare, small items and any label with several AIs benefit from GS1 DataMatrix: it holds the same AI structure in a square a few millimeters wide and reads even when partially damaged. Pharmaceutical serialization (DSCSA in the US, FMD in Europe) mandates it. GS1 is also driving retail toward 2D codes at the point of sale under its "Sunrise 2027" program, so new packaging designs should reserve space for a QR or DataMatrix next to the EAN.

6. Print quality: why codes fail to scan

How EtikStudio handles this

The editor generates every GS1 symbology natively, computes check digits, inserts FNC1 where the standard requires it, validates AI syntax before printing and warns when the module width does not fit the printer's dots. Data for AIs (lot, dates, serials, weights) comes from your database or ERP as variable fields, so the barcode and the human-readable text can never disagree.

Questa guida è informativa e non costituisce consulenza legale. Le normative cambiano; verifica sempre il testo ufficiale vigente prima di stampare.

Correlati

La tua prossima etichetta può essere l'ultima che rifai.

Parla con il nostro team e attiviamo la tua prova insieme. Senza impegno.

Inizia la prova gratuita