Barcode and Label Software

GS1-128 Barcodes – Label Software for Printing

Printing Labels with GS1-128 Barcodes – Software Guide

Example Image

Follow this step-by-step guide to learn how to create GS1-128 barcodes with our Barcode Forge software and print them on labels or other media.

GS1-128, previously known as EAN-128 or UCC-128 depending on the region, is the most complex type of 1D barcode. It allows encoding extensive information in a single barcode. GS1-128 is used worldwide to manage and track goods throughout the entire supply chain – from production to delivery.

Structure of GS1-128

A GS1-128 barcode can encode one or multiple pieces of information within the same barcode. Each piece of information is introduced by an Application Identifier (AI). The Application Identifier is a numeric value that specifies the meaning and format of the encoded information. Example:

GS1-128 Barcode

According to the table in the appendix, the GS1-128 barcode shown above encodes a 14-digit GTIN (AI 01) followed by a 6-digit expiration date (AI 15) in the YYMMDD format. Application Identifiers are highlighted in the human-readable line of the barcode using parentheses, though these are not encoded in the barcode itself.

As the table shows, there are around 150 such Application Identifiers used for various types of data. Each AI has a specific format that defines the length and allowed characters of the information.

GS1-128 on the Outside, Code 128 at the Core

Example Image 2

Technically, GS1-128 is not a standalone barcode type that translates information into the characteristic pattern of bars. Rather, it is a standard for the structured storage of information that uses the "Code 128" barcode as its medium. This standard enables the identification and traceability of products in global supply chains and is managed by the internationally operating GS1 organization.

As a result, barcode scanners initially recognize a GS1-128 barcode as Code 128. To identify itself as GS1-128 and ensure proper data processing, the barcode always starts with the FNC1 function character. This character is automatically added by our software, so you do not need to handle it yourself.

The FNC1 character also serves a secondary purpose within GS1-128, which is explained in detail in a later section.

Data Integrity through Additional Software Validation

GS1-128 includes built-in mechanisms to detect errors during data entry and barcode scanning. To ensure maximum data integrity, our software performs additional validation of each piece of information within the GS1-128 barcode. For example, dates are checked for validity, while GTIN and SSCC values are verified using their check digits. Other data is validated according to the defined format (see appendix table).

If an error is detected, the software displays a detailed error message in the preview instead of generating the barcode. This allows you to correct any issues before printing.

Creating and Printing GS1-128 Barcodes with the Software

A sample project (download link) and the following explanations show you how to print GS1-128 barcodes in series. The project prints three different GS1-128 barcodes on an A4 sheet and can be tested using the 30-Day Trial version of the software and a standard A4 printer.

The Data section contains three datasets with typical GS1 information. You can rename or delete columns and add new ones by right-clicking the table header. Table with GS1 Data

The data in the table is linked to a GS1-128 barcode object in the Label section. To see how this linking works, right-click the object, select Edit, and switch to the Barcode tab. Editing GS1 Information

The illustration shows how placeholders represent individual pieces of information. These placeholders correspond to columns in the table shown above.

The red-highlighted placeholder FNC1 represents the FNC1 character. As mentioned earlier, this character serves a special purpose. Depending on the Application Identifier (AI), the length of the information can be fixed or variable. While AI 01 and AI 17 in our example always have fixed lengths (14 and 6 characters, respectively), AI 10 and AI 30 consist of a variable number of characters. For such AIs, the end of the information must be marked with an FNC1 character to ensure that a barcode scanner can correctly determine the length of the information.

You can refer to the appendix table to see which AIs require an FNC1 character at the end and which do not.

Tip: To save space on the label, place AIs with variable lengths at the end of the barcode whenever possible, as shown in our example with AI 30. This eliminates the need for the FNC1 character, reducing the width of your GS1-128 barcode by one character.

SSCC and GTIN – Check Digit Calculation

SSCC (AI 00) and GTIN (AI 01 + 02) are among the most commonly used pieces of information in GS1-128 barcodes. Both are numeric values that include a check digit as the last character. The software automatically validates this check digit.

If the check digit is missing, you can use a # symbol in its place. The software will then calculate the check digit and replace the # symbol with the correct value. For example, if your table contains 13-digit GTINs without check digits, set up the link in the Edit dialog as follows:

(01)[~GTIN~]#

Appendix: Explanations for the Following Table

1. In the Format column, an "N" indicates that only numeric data is allowed, while "X" indicates alphanumeric data (plus additional characters). A double point (..) indicates that the number of characters can vary within a specified range. For example, "N..6" indicates a numeric value with a maximum length of 6 digits. Conversely, "N6" indicates a numeric value that must be exactly 6 digits in length.

2. Application Identifiers (column AI) ending with an "x" are intended to indicate fractions. The fraction is encoded without a decimal point. Instead, the number of fractional digits is inserted into the application identifier at the position of the "x".

For example, 310x (Net weight, kilograms):
(3100)123456 = 123456 kg
(3101)123456 = 12345.6 kg
(3102)123456 = 1234.56 kg
(3103)123456 = 123.456 kg
(3104)123456 = 12.3456 kg
(3105)123456 = 1.23456 kg

Application Identifiers for the GS1-128

AIDescriptionFormatFNC1 required
00Serial Shipping Container Code (SSCC)N18
01Global Trade Item Number (GTIN)N14
02GTIN of contained trade itemsN14
10Batch or lot numberX..20
11Production date (YYMMDD)N6
12Due date (YYMMDD)N6
13Packaging date (YYMMDD)N6
15Best before date (YYMMDD)N6
16Sell by date (YYMMDD)N6
17Expiration date (YYMMDD)N6
20Internal product variantN2
21Serial numberX..20
22Consumer product variantX..20
235Third Party Controlled, Serialised Extension of GTIN (TPX)X..28
240Additional product identification assigned by the manufacturerX..30
241Customer part numberX..30
242Made-to-Order variation numberN..6
243Packaging component numberX..20
250Secondary serial numberX..30
251Reference to source entityX..30
253Global Document Type Identifier (GDTI)N13+X..17
254GLN extension componentX..20
255Global Coupon Number (GCN)N13+N..12
30Variable count of items (variable measure trade item)N..8
310xNet weight, kilograms (variable measure trade item)N6
311xLength or first dimension, metres (variable measure trade item)N6
312xWidth, diameter, or second dimension, metres (variable measure trade item)N6
313xDepth, thickness, height, or third dimension, metres (variable measure trade item)N6
314xArea, square metres (variable measure trade item)N6
315xNet volume, litres (variable measure trade item)N6
316xNet volume, cubic metres (variable measure trade item)N6
320xNet weight, pounds (variable measure trade item)N6
321xLength or first dimension, inches (variable measure trade item)N6
322xLength or first dimension, feet (variable measure trade item)N6
323xLength or first dimension, yards (variable measure trade item)N6
324xWidth, diameter, or second dimension, inches (variable measure trade item)N6
325xWidth, diameter, or second dimension, feet (variable measure trade item)N6
326xWidth, diameter, or second dimension, yards (variable measure trade item)N6
327xDepth, thickness, height, or third dimension, inches (variable measure trade item)N6
328xDepth, thickness, height, or third dimension, feet (variable measure trade item)N6
329xDepth, thickness, height, or third dimension, yards (variable measure trade item)N6
330xLogistic weight, kilogramsN6
331xLength or first dimension, metresN6
332xWidth, diameter, or second dimension, metresN6
333xDepth, thickness, height, or third dimension, metresN6
334xArea, square metresN6
335xLogistic volume, litresN6
336xLogistic volume, cubic metresN6
337xKilograms per square metreN6
340xLogistic weight, poundsN6
341xLength or first dimension, inchesN6
342xLength or first dimension, feetN6
343xLength or first dimension, yardsN6
344xWidth, diameter, or second dimension, inchesN6
345xWidth, diameter, or second dimension, feetN6
346xWidth, diameter, or second dimension, yardN6
347xDepth, thickness, height, or third dimension, inchesN6
348xDepth, thickness, height, or third dimension, feetN6
349xDepth, thickness, height, or third dimension, yardsN6
350xArea, square inches (variable measure trade item)N6
351xArea, square feet (variable measure trade item)N6
352xArea, square yards (variable measure trade item)N6
353xArea, square inchesN6
354xArea, square feetN6
355xArea, square yardsN6
356xNet weight, troy ounces (variable measure trade item)N6
357xNet weight (or volume), ounces (variable measure trade item)N6
360xNet volume, quarts (variable measure trade item)N6
361xNet volume, gallons U.S. (variable measure trade item)N6
362xLogistic volume, quartsN6
363xLogistic volume, gallons U.S.N6
364xNet volume, cubic inches (variable measure trade item)N6
365xNet volume, cubic feet (variable measure trade item)N6
366xNet volume, cubic yards (variable measure trade item)N6
367xLogistic volume, cubic inchesN6
368xLogistic volume, cubic feetN6
369xLogistic volume, cubic yardsN6
37Count of trade items or trade item pieces contained in a logistic unitN..8
390xApplicable amount payable or Coupon value, local currencyN..15
391xApplicable amount payable with ISO currency codeN3+N..15
392xApplicable amount payable, single monetary area (variable measure trade item)N..15
393xApplicable amount payable with ISO currency code (variable measure trade item)N3+N..15
394xPercentage discount of a couponN4
400Customers purchase order numberX..30
401Global Identification Number for Consignment (GINC)X..30
402Global Shipment Identification Number (GSIN)N17
403Routing codeX..30
410Ship to - Deliver to Global Location NumberN13
411Bill to - Invoice to Global Location NumberN13
412Purchased from Global Location NumberN13
413Ship for - Deliver for - Forward to Global Location NumberN13
414Identification of a physical location - Global Location NumberN13
415Global Location Number of the invoicing partyN13
416GLN of the production or service locationN13
417Party GLNN13
420Ship to - Deliver to postal code within a single postal authorityX..20
421Ship to - Deliver to postal code with ISO country codeN3+X..9
422Country of origin of a trade itemN3
423Country of initial processingN3+N..12
424Country of processingN3
425Country of disassemblyN3+N..12
426Country covering full process chainN3
427Country subdivision Of originX..3
7001NATO Stock Number (NSN)N13
7002UN/ECE meat carcasses and cuts classificationX..30
7003Expiration date and timeN10
7004Active potencyN..4
7005Catch areaX..12
7006First freeze date (YYMMDD)N6
7007Harvest dateN6..12
7008Species for fishery purposesX..3
7009Fishing gear typeX..10
7010Production methodX..2
7020Refurbishment lot IDX..20
7021Functional statusX..20
7022Revision statusX..20
7023Global Individual Asset Identifier (GIAI) of an assemblyX..30
703xNumber of processor with ISO Country CodeN3+X..27
7040GS1 UIC with Extension 1 and Importer indexN1+X3
710National Healthcare Reimbursement Number (NHRN) - Germany PZNX..20
711National Healthcare Reimbursement Number (NHRN) - France CIPX..20
712National Healthcare Reimbursement Number (NHRN) - Spain CNX..20
713National Healthcare Reimbursement Number (NHRN) - Brasil DRNX..20
714National Healthcare Reimbursement Number (NHRN) - Portugal AIMX..20
723xCertification referenceX2+X..28
7240Protocol IDX..20
8001Roll products (width, length, core diameter, direction, splices)N14
8002Cellular mobile telephone identifierX..20
8003Global Returnable Asset Identifier (GRAI)N14+X..16
8004Global Individual Asset Identifier (GIAI)X..30
8005Price per unit of measureN6
8006Identification of an individual trade item pieceN14+N2+N2
8007International Bank Account Number (IBAN)X..34
8008Date and time of productionN8+N..4
8009Optically Readable Sensor IndicatorX..50
8010Component/Part Identifier (CPID)Y..30
8011Component/Part Identifier serial number (CPID SERIAL)N..12
8012Software versionX..20
8013Global Model Number (GMN)X..30
8017Global Service Relation Number to identify the relationship between an organisation offering services and the provider of servicesN18
8018Global Service Relation Number to identify the relationship between an organisation offering services and the recipient of servicesN18
8019Service Relation Instance Number (SRIN)N..10
8020Payment slip reference numberX..25
8026Identification of pieces of a trade item (ITIP) contained in a logistic unitN14+N2+N2
8110Coupon code identification for use in North AmericaX..70
8111Loyalty points of a couponN4
8112Paperless coupon code identification for use in North AmericaX..70
8200Extended Packaging URLX..70
90Information mutually agreed between trading partnersX..30
91Company internal informationX..90
92Company internal informationX..90
93Company internal informationX..90
94Company internal informationX..90
95Company internal informationX..90
96Company internal informationX..90
97Company internal informationX..90
98Company internal informationX..90
99Company internal informationX..90



For questions about the GS1-128 or our software, please contact us!