GS1-128 logistics label template in ZPL (SSCC)
A GS1 logistic label in ZPL carries the SSCC (AI 00), the GTIN (AI 01) and dates or quantity in GS1-128 barcodes, each with its application identifier. The barcodes are Code 128 with a leading FNC1, written as >;>8 in the ^FD. Copy the 4 × 6 in template below.
Aktualizováno 2026-11-01 · Renders made with the OpenZPL engine
Otevřít v prohlížečiWhat goes on a GS1 logistic label
- The SSCC (Serial Shipping Container Code, AI
00): the 18-digit licence-plate of the pallet or carton, as a wide GS1-128 barcode at the bottom. - The GTIN of the trade item (AI
01) and a date (best-before17, production11) or count (37), in a second GS1-128. - Human-readable text with each value in its AI brackets, e.g.
(00) …,(01) …. - GS1-128 encoding: the barcode is Code 128 that starts with FNC1. In ZPL that is
^BCwith the data beginning>;>8—>;switches to subset C (pairs of digits),>8is the FNC1. See Code 128.
4 × 6 in GS1 logistic template
A content barcode (GTIN + best-before) and the SSCC barcode, each a GS1-128 with its AI text, laid out for 812 × 1219 dots:

^XA ^CI28 ^PW812 ^LL1219 ^FO40,36^A0N,26,26^FDFROM: OpenZPL Foods Ltd^FS ^FO40,70^A0N,22,22^FD125 Innovation Drive, Austin TX^FS ^FO430,36^A0N,26,26^FDTO: Metro Distribution Center^FS ^FO430,70^A0N,22,22^FDDock 7, Dallas TX 75201^FS ^FO40,112^GB732,3,3^FS ^FO40,136^A0N,24,24^FDCONTENT (01) GTIN / (17) BEST BEFORE^FS ^FO40,176^A0N,40,40^FD00614141123452^FS ^FO470,180^A0N,34,34^FDBB 2027-12-31^FS ^BY2,2,110 ^FO40,236^BCN,110,N,N,N^FD>;>8010061414112345217271231^FS ^FO40,356^A0N,30,30^FD(01)00614141123452(17)271231^FS ^FO40,410^GB732,3,3^FS ^FO40,436^A0N,24,24^FDCOUNT OF UNITS (37)^FS ^FO40,474^A0N,46,46^FD24^FS ^FO40,544^GB732,3,3^FS ^FO40,580^A0N,32,32^FDSSCC (00)^FS ^BY3,2,220 ^FO40,628^BCN,220,N,N,N^FD>;>800006141410000000012^FS ^FO40,864^A0N,40,40^FD(00) 0 0614141 0000000001 2^FS ^FO40,1165^A0N,22,22^FDGS1 logistic label - 4 x 6 in^FS ^XZ
Each barcode's ^FD starts with >;>8 (subset C + FNC1) followed by the application identifiers and their values as digits: 00 + the 18-digit SSCC, or 01 + the 14-digit GTIN + 17 + a YYMMDD date. All the values here are numeric, so subset C encodes them in one run. The printed text below each barcode shows the same data in AI brackets. Validate a string with the GS1 barcode validator.
Render it from your code
curl https://api.openzpl.com/v1/printers/8dpmm/labels/4x6/0/ \ --data-binary @label.zpl > label.png
Every template on this page renders through the same API. Send the ZPL as the request body and get a PNG or PDF back; see the API docs and ZPL to PDF.
Otázky
How do I make a GS1-128 barcode in ZPL?
Use ^BC (Code 128) and begin the ^FD with >;>8: >; selects subset C and >8 is the FNC1 that marks it as GS1-128. Then add the application identifiers and values as digits, e.g. ^FD>;>800006141410000000012^FS for (00) and an 18-digit SSCC.
What is the SSCC on a logistic label?
The Serial Shipping Container Code: an 18-digit number (AI 00) that uniquely identifies one logistic unit — a pallet or carton — so it can be tracked and matched to a dispatch advice. Its last digit is a mod-10 check digit.
Do I need FNC1 between application identifiers?
Only after a variable-length AI, to mark where it ends. Between fixed-length AIs such as 01 (GTIN) and 17 (date) no FNC1 is needed, which is why the numeric example concatenates them directly.