GS1 128

GS1-128 Barcode Generator

With Labeljoy you can easily generate GS1-128 barcodes.GS1-128 is an application standard of the GS1 implementation that uses the Code 128 Barcode specification.

GS1-128 uses Application Identifiers to include additional data such as expiration dates, batch number, quantity, weight and many other types of information.

GS1-128 Barcodes

The barcode GS1-128 was developed to establish a global standard for the data interchange among different companies. GS1-128 will not only encode the data, but also provide a way to specify the meaning of the data through the establishment of a list “Application Identifiers” (AI’s).

This GS1-standard defines the type of data as well as the data format. GS1-128 (previously known as UCC/EAN-128) is essentially a language derived from Code 128 that uses a flagging character (Function Code 1 (FNC1)) and application identifiers.

Example of a GS1-128 Barcode

The human readable application identifiers are shown in parentheses (01) and (10) as illustrated below. It is also possible to concatenate multiple application identifiers in the barcode data, allowing the associated lot number or expiration date to be encoded in addition to the unique GTIN item number.
Example of a GS1-128 Barcode

GS1-128 Symbol Structure

  • Start character (START-A, START-B or START-C)
  • FNC1 character
  • Application Identifier (AI)
  • Encoded Data
  • Symbol Check character
  • Stop character

Structure of the GS1-128 barcode

GS1-128 Barcode Shipping Label

GS1-128 barcode shipping labels are used for carton identification throughout the shipping chain, and are used by most major retailers.

Generally, multiple GS1-128 barcodes are used on a single label. For more information on the GS1-128 shipping label, see Generate GS1-128 barcodes.

Shipping labels with GS1-128 barcodes are an essential part of retail supply chain logistics. The primary barcode on the shipping label s known as the Serialized Shipping Container Code (SSCC-18) and is integrated with EDI data transactions. By using these labels, retailers can accurately identify the contents of each carton.

Note: It is beyond the scope of this help file to explore all the details of the GS1-128 symbology specification. For more information please refer to the official web site of the GS1 authority: www.gs1.org

GS1 Barcode

How to generate GS1-128 Barcodes

To generate a GS1-128 compliant barcode symbol with Labeljoy, you have to enter the text in a visually readable format. Labeljoy validates the text through its internal GS1-128 validation engine and generates the corresponding icon or displays an error message describing the problem.

For example, by entering the text (00)123456789012345678 Labeljoy will create a GS1-128 barcode symbol that will comply with Application Identifier (00) Serial Shipping Container Code (SSCC-18).

For further information please refer to the guide “Generating GS1-128 Barcodes” or try our Online Barcode Generator.

UCC/EAN-128 has been developed to provide a standard format for data exchange between different companies. While other standards simply encode the data without indicating what it is, UCC/EAN-128 encodes the data and what it represents; however, UCC/EAN-128 is not a type of code or symbology, but rather a code formatting system that uses Code 128 for printing. Any reader capable of reading Code 128 is also capable of reading UCC/EAN-128; it is the UCC/EAN-128 compliant application that will have to interpret the formatting of the code.

For example it is possible to encode the weight of 10,97 Kg with any standard like a 2 of 5 barcode by simply encoding 1097, but during the reading phase it is not possible to determine if it is a weight, a time, a price or something else, in other words the application is not able to identify what it is reading.

With the UCC/EAN-128 formatting system, AI (Application Identifier) identifiers are inserted in order to tell the application what it is reading, because more problems occur when reading the barcode than during printing. Returning to our example, using the AI 310y it is possible to indicate that the following data is a net weight in Kg; the digit that follows indicates the number of decimals, while the weight must be of 6 digits, in our example the net weight of 10,97 kg will be encoded as 3102001097.

Modulo 10 check digits:
  • Some AI’s (Application identifiers) require a modulo 10 check digit. When required, Labeljoy will compute the check digit regardless of what was the input.
  • For example, the SSCC-18 code above needs a check digit in the last position which is actually 5 and not 8. In such scenario no error message will be displayed, instead Labeljoy will simply replace the check digit with the correct one.
  • So if you do not know how to calculate the check digit, just enter any number.
FNC1 separators:
  • When two or more AI’s (Application Identifiers) need to be encoded in a single symbol, the GS1-128 specification may require one or more FNC1 separator characters. Labeljoy GS1-128 barcode generator will automatically detect where FNC1 separator characters are needed and will add them accordingly.
  • No extra input is required by Labeljoy to correctly handle FNC1 separators.
  • IMPORTANT: FNC1 separators have no corresponding visually readable text, they are only encoded as a barcode symbol. The interpretation of the FNC1 character may vary depending on the settings of the barcode scanner, although it is often output as ASCII character 29.
  • If you need to create a custom symbol using the FNC1 separator character, please refer to the EAN-128 symbology.

GS1 Barcode Symbols

Text concatenation:
When an GS1-128 barcode element is generated by concatenating fields or counters, the following rules apply:

  • Text length must not exceed 255 characters.
  • The text must take into account the GS1-128 specification.

If a value is found that does not comply with the above rules, the barcode will not be displayed.

GS1-128 Barcode
GS1-128 symbol encoding the text (00)123456789012345678, which corresponds to AI 00 (SSCC-18). Note that the last digit is 5 in the symbol since it is the correct Modulo 10 check digit.
GS1-128 symbol - two Application Identifiers
GS1-128 symbol encoding a concatenation of two Application Identifiers: AI 30 (Quantity Each) and AI 21 (Serial Number). Note that in this case an FNC1 separator character is added right before the start of AI 21 (not visible in the human readable text).
GS1-128 symbol - 3 Application Identifiers
GS1-128 symbol encoding a concatenation of three Application Identifiers: AI 01 (Shipping Container Code) and 2 more like the previous image. Note that in this case no FNC1 separator is needed before the start of AI 30.
  • Labeljoy requires the input of up to 255 characters of alphanumeric text to create the barcode. Enter the text in the text box.
  • The visually readable text can be displayed or hidden below or above the icon , according to the settings specified in the Text combo box.
  • The Check AI sequence check box enforces an additional GS1-128 rule that regulates the concatenation of certain AI’s.
  • For example, when using AI 02 (Number of containers) the symbol should also encode AI 00 (Serial Shipping Container Code) and AI 37 (Number of Units Contained).
  • Also, AI 02 should never be encoded in the same symbol with AI 01 (Shipping Container Code) and 8006 (Component of an Article) since they refer to data considered meaningless when mixed.
  • Keep this check box activated to create GS1-128 symbols that fully comply with the original standard.