Barcode and Label Software

GS1-128 Barcode – Label Printing Software and Guide

Printing Labels with GS1-128 Barcodes – Software Guide

Example Image

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

GS1-128, formerly known as EAN-128 or UCC-128, is the most complex type of 1D barcode. It enables the encoding of 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 more pieces of information within the same barcode. Each piece of information is preceded 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 here encodes a 14-digit GTIN (AI 01) followed by a 6-digit expiration date (AI 15) in the YYMMDD format. In the human-readable line of the barcode, Application Identifiers are enclosed in parentheses. However, these parentheses are not part of the encoded barcode.

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 the characters allowed for use within 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. Instead, it is a standard for the structured storage of information that uses the barcode type "Code 128" as its data carrier. 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 recognize any GS1-128 barcode as Code 128. Therefore, 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 label software, so you don't need to add it manually.

The FNC1 character also serves another important role within GS1-128, which is explained in detail in a later section.

Data Integrity within GS1-128 through Additional Validation by the Software

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

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

Creating and Printing GS1-128 Labels using the Software

An example project [download link] and the following instructions demonstrate how to print GS1-128 labels in series. The project generates three different GS1-128 barcodes and can be used with the 30-day trial version of the software. The printout is on A4-sized paper, so a standard A4 printer is sufficient for printing.

Accordingly, the Data section contains three datasets with typical GS1 data. You can rename, delete or add new columns by right-clicking the table header. Table with GS1 Data

The data in the table is linked to a GS1-128 barcode object located in the Label section. To see how this linking works, right-click the object, select Edit and navigate 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 placeholder FNC1, highlighted in red, represents the FNC1 character. As mentioned earlier, this character serves a special role. 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 identify where the information ends. The appendix table shows which AIs have fixed or variable lengths.

Tip: To save space on the label, you should place AIs with variable lengths at the end of your data sequence whenever possible, as shown in our example with AI 30. This eliminates the need for the FNC1 character, reducing the number of characters that the GS1-128 barcode has to encode, which in turn slightly reduces the barcode's required width.

SSCC and GTIN – Check Digit Validation and Calculation by the Software

SSCC (AI 00) and GTIN (AI 01 + 02) are among the most commonly used data elements in GS1-128 barcodes. Both are numeric values with a check digit in the last position. The check digit is automatically verified for correctness by our label software.

If the check digit is missing, however, you can use a # symbol in its place. This instructs the software to calculate the check digit automatically and insert it in place of the # symbol. For example, if your table consists of 13-digit GTINs without a check digit instead of the standard 14-digit format, enter the link in the Edit dialog as follows:

(01)[~GTIN~]#
... or when the number is entered directly:
(01)0318255905295#
For display in a text object, use the placeholder [-Mod10-] instead of the # symbol. To do this, open the properties of the text object and place the cursor at the appropriate position. Click on Insert function field and select [-Mod10-]. The result should then look as follows:
(01)[~GTIN~][-Mod10-]   or   (01)0318255905295[-Mod10-]

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 used to represent decimal values. The value itself is encoded without a decimal point. Instead, the number of decimal places 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 label software, please contact us!