GS1-128 Barcode Font (UCC/EAN)

GS1-128 (UCC/EAN) is a standard developed by the GS1 organization for exchanging data. This standard uses a list of Application Identifiers (AI) for defining the format, structure, and meaning of the data. For example, a Serial Shipping Container Code (SSCC) is identified by the AI 00, followed by 18 digits that comprise a GS1 company prefix and a serial reference. The GS1-128 barcode uses the Code 128 barcode symbology as the underlying barcode symbology and is also commonly known as UCC-128 and EAN-128 barcode.

Barcode Font Names and Sizes

GS1-128 (UCC/EAN) uses the Code128 barcode fonts as shown below.

  • CCode128_S1
  • CCode128_S2
  • CCode128_S3
  • CCode128_S4
  • CCode128_S5
  • CCode128_S6
  • CCode128_S7

GS1-128 (UCC/EAN) Application Identifiers

AI (Application Identifiers) Data Data Constraints
00Serial Shipping Container Code (SSCC-18)18 digits.
01Global Trade Item Number14 digits.
02Goods contained in another Unit14 digits.
10Batch or Lot NumberUp to 20 Alphanumeric characters.
11Production DateYYMMDD
12Due DateYYMMDD
13Packaging DateYYMMDD
15Sell By DateYYMMDD
17Expiration DateYYMMDD
20Product Variant2 digits.
21Serial NumberUp to 20 Alphanumeric characters.
22Health Industry DataUp to 29 Alphanumeric characters.
23nLot Number1 digit for the Length Indicator. And up to 19 digits for the data.
240Additional Product ID assigned by ManufacturerUp to 30 Alphanumeric characters.
241Customer Part NumberUp to 30 Alphanumeric characters.
250Secondary Serial NumberUp to 30 Alphanumeric characters.
251Reference to Source EntityUp to 30 Alphanumeric characters.
30QuantityUp to 8 digits
310nNet Weight - Kilograms1 digit for Decimal Point Position. And 6 digits for data.
311nLength/First Dimension - Meters1 digit for Decimal Point Position. And 6 digits for data.
312nWidth/Diameter/2nd Dimension - Meters1 digit for Decimal Point Position. And 6 digits for data.
313nDepth/Thickness/Height/3rd Dimension - Meters1 digit for Decimal Point Position. And 6 digits for data.
314nArea - Square Meters1 digit for Decimal Point Position. And 6 digits for data.
315nVolume - Litres1 digit for Decimal Point Position. And 6 digits for data.
316nVolume - Cubic Meters1 digit for Decimal Point Position. And 6 digits for data.
320nNet Weight - Pounds1 digit for Decimal Point Position. And 6 digits for data.
321nLength/First Dimension - Inches1 digit for Decimal Point Position. And 6 digits for data.
322nLength/First Dimension - Feet1 digit for Decimal Point Position. And 6 digits for data.
323nLength/First Dimension - Yards1 digit for Decimal Point Position. And 6 digits for data.
324nWidth/Diameter/Second Dimension - Inches1 digit for Decimal Point Position. And 6 digits for data.
325nWidth/Diameter/Second Dimension - Feet1 digit for Decimal Point Position. And 6 digits for data.
326nWidth/Diameter/Second Dimension - Yards1 digit for Decimal Point Position. And 6 digits for data.
327nDepth/Thickness/Third Dimension - Inches1 digit for Decimal Point Position. And 6 digits for data.
328nDepth/Thickness/Third Dimension - Feet1 digit for Decimal Point Position. And 6 digits for data.
329nDepth/Thickness/Third Dimension - Yards1 digit for Decimal Point Position. And 6 digits for data.
330nGross Weight - Kilograms1 digit for Decimal Point Position. And 6 digits for data.
331nLength/First Dimension - Meters1 digit for Decimal Point Position. And 6 digits for data.
332nWidth/Diameter/Second Dimension - Meters1 digit for Decimal Point Position. And 6 digits for data.
333nDepth/Thickness/Height/Third Dimension - Meters1 digit for Decimal Point Position. And 6 digits for data.
334nArea - Square Meters1 digit for Decimal Point Position. And 6 digits for data.
335nVolume - Litres1 digit for Decimal Point Position. And 6 digits for data.
336nVolume - Cubic Meters1 digit for Decimal Point Position. And 6 digits for data.
337nKilograms per Square Meters1 digit for Decimal Point Position. And 6 digits for data.
340nWeight - Pounds1 digit for Decimal Point Position. And 6 digits for data.
341nLength/First Dimension - Inches1 digit for Decimal Point Position. And 6 digits for data.
342nLength/First Dimension - Feet1 digit for Decimal Point Position. And 6 digits for data.
343nLength/First Dimension - Yards1 digit for Decimal Point Position. And 6 digits for data.
344nWidth/Diameter/Second Dimension - Inches1 digit for Decimal Point Position. And 6 digits for data.
345nWidth/Diameter/Second Dimension - Feet1 digit for Decimal Point Position. And 6 digits for data.
346nWidth/Diameter/Second Dimension - Yards1 digit for Decimal Point Position. And 6 digits for data.
347nDepth/Thickness/Height/Third Dimension - Inches1 digit for Decimal Point Position. And 6 digits for data.
348nDepth/Thickness/Height/Third Dimension - Feet1 digit for Decimal Point Position. And 6 digits for data.
349nDepth/Thickness/Height/Third Dimension - Yards1 digit for Decimal Point Position. And 6 digits for data.
350nArea - Square Inches1 digit for Decimal Point Position. And 6 digits for data.
351nArea - Square Feet1 digit for Decimal Point Position. And 6 digits for data.
352nArea - Square Yards1 digit for Decimal Point Position. And 6 digits for data.
353nContainer Area - Square Inches1 digit for Decimal Point Position. And 6 digits for data.
354nContainer Area - Square Feet1 digit for Decimal Point Position. And 6 digits for data.
355nContainer Area - Square Yards1 digit for Decimal Point Position. And 6 digits for data.
356nNet Weight - Troy ounces1 digit for Decimal Point Position. And 6 digits for data.
357nNet Volume - Ounces1 digit for Decimal Point Position. And 6 digits for data.
360nNet Volume - Quarts1 digit for Decimal Point Position. And 6 digits for data.
361nNet Volume - Gallons1 digit for Decimal Point Position. And 6 digits for data.
362nGross Volume - Quarts1 digit for Decimal Point Position. And 6 digits for data.
363nGross Volume - Gallons1 digit for Decimal Point Position. And 6 digits for data.
364nVolume - Cubic Inches1 digit for Decimal Point Position. And 6 digits for data.
365nVolume - Cubic Feet1 digit for Decimal Point Position. And 6 digits for data.
366nVolume - Cubic Yards1 digit for Decimal Point Position. And 6 digits for data.
367nGross Volume - Cubic Inches1 digit for Decimal Point Position. And 6 digits for data.
368nGross Volume - Cubic Feet1 digit for Decimal Point Position. And 6 digits for data.
369nGross Volume - Cubic Yards1 digit for Decimal Point Position. And 6 digits for data.
37Number of Items ContainedUp to 8 digits.
400Customer's Purchase Order NumberUp to 30 Alphanumeric characters
401Consignment NumberUp to 30 Alphanumeric characters.
402Shipment Identification Number17 digits.
403Routing CodeUp to 30 Alphanumeric characters.
410Ship to/Deliver to Location13 digits.
411Bill to/Invoice to Location13 digits.
412Purchased From Location13 digits.
413Ship to/Deliver For Location13 digits.
414Identification of a Physical Location13 digits.
415Global Location Number13 digits.
420Ship to/Deliver to Postal Code within a Single Postal AuthorityUp to 9 Alphanumeric characters.
421Ship to/Deliver to Postal Code With Three-Digit ISO Country Code3 digits Country Code. And up to 9 Alphanumeric characters.
422Country of Origin of a Trade Item3 digits.
423Country of Initial Processing3 digits
424Country of Processing3 digits
425Country of Disassembly3 digits.
426Country Covering Full Process Chain3 digits.
8001Roll products - Width, Length, Core Diameter, Direction and Splices14 digits.
8002Electronic Serial ID for Cellular Mobile TelephonesUp to 20 Alphanumeric characters.
8003EAN/UCC Returnable Asset Identifier14 digits. And up to 16 Alphanumeric characters.
8004Global Individual Asset IdentifierUp to 30 Alphanumeric characters.
8005Price per unit of measure6 digits
8100Coupon Extended Code6 digits.
8101Coupon Extended Code10 digits.
8102Coupon Extended Code2 digits.
90Information mutually agreed between Trading PartnersUp to 30 Alphanumeric characters.
91Internal Use by CompanyUp to 30 Alphanumeric characters.
92Internal Use by CompanyUp to 30 Alphanumeric characters.
93Internal Use by CompanyUp to 30 Alphanumeric characters.
94Internal Use by CompanyUp to 30 Alphanumeric characters.
95Internal Use by CompanyUp to 30 Alphanumeric characters.
96Internal Use by CompanyUp to 30 Alphanumeric characters.
97Internal Use by CompanyUp to 30 Alphanumeric characters.
98Internal Use by CompanyUp to 30 Alphanumeric characters.
99Internal Use by CompanyUp to 30 Alphanumeric characters.


Using the GS1-128 (UCC/EAN) barcode font

It is recommended to use the Encoder or Excel VB macros provided to generate GS1-128 (UCC/EAN) barcodes. There are several steps required for transforming the input data to characters recognized by the barcode font. For example, to encode AI 00 (Serial Shipping Container Code) with the data 123456789012345675

Input (Using the Encoder or VB macros):

(00)123456789012345675

The brackets are used to identify the AI(Application Identifier) in the Encoder.

Output:



The last digit '5' is a MOD 10 check digit that can be entered (as shown above) or calculated automatically by ConnectCode Barcode Fonts package. For more information, see the MOD 10 Check Digit subsection.

Concatenating multiple AIs

Input (Using the Encoder or VB macros):

(00)123456789012345675(12)1A

Multiple AIs can be concatenated together as shown above. A total of up to 8 AIs concatenation is supported by ConnectCode.

Output:



GS1-128 compliance

A GS1-128 barcode may contain more than 1 AIs and an FNC1 character is usually used to separate them. The GS1-128 specification further specifies that an FNC1 character is not required following an AI with fixed-length data. However, some early GS1-128 barcodes have adopted the format where an FNC1 character is always used to separate the AIs in the same barcode.

ConnectCode supports the different variations through a Strict GS1 128 Compliance option. When this option is enabled, the barcode generated adheres strictly to the UCCEAN/GS1-128 specification. Otherwise, it generates a barcode that always uses the FNC1 character as the separator. If you are new to this barcode, we recommend using the Strict GS1 Compliance option, in compliance strictly to the specification.

Default/Legacy Implementation

The following shows the structure of the GS1-128 (UCCEAN) barcode generated using the default/legacy implementation.

GS1-128 (UCCEAN) Barcode (Default Implementation)
Start Char (Start Markers for Code 128 Subset A/B/C)
FNC1 Marker (Separator)
Application Identifier (AI)
Actual Data Following AI
FNC1 Marker (Separator)
Application Identifier (AI)
Actual Data Following AI
Check Char
Stop Char

Strict GS1 128 Compliance

The following shows the structures of GS1-128 (UCCEAN) barcodes generated using the Strict GS1 128 Compliance mode. This implementation is accepted by organizations that require a stricter implementation. The main differences are

1. This mode may create even shorter barcodes because it employs subset C compression whenever the data consists purely of digits.

2. Also, the FNC1 character, a special marker used to separate multiple application identifiers in the barcode, is used only when the particular application identifier is associated with variable data.

Example - Structure of a Fixed-Length Data Application Identifier

GS1-128 / UCCEAN Barcode (Fixed-Length Data)
Start C Marker
FNC1 Marker (Separator)
1st Application Identifier (AI)
Fixed-Length Data Following 1st AI
2nd Application Identifier (AI)
Actual Data Following 2nd AI
Check Char
Stop Char

Example - Structure of a Variable Length Data Application Identifer

GS1-128 / UCCEAN Barcode (Variable Length Data)
Start C Marker
FNC1 Marker (Separator)
1st Application Identifier (AI)
Variable Length Data Following 1st AI
FNC1 Marker (Separator)
2nd Application Identifier (AI)
Actual Data Following 2nd AI
Check Char
Stop Char

Strict GS1 128 Compliance availability

This option is available in most of the utilities of the barcode fonts package, as shown below. If the option is not provided, Strict GS1 Compliance is assumed.

  • Font Encoder
  • .Net Dynamic Link Libraries/.NET Core
  • Microsoft Excel Visual Basic Applications integration
  • Crystal Report Formulas
  • PowerBuilder/COM
  • SQL Server Reporting Services
  • Oracle PL/SQL
  • Javascript (Angular/React/Polymer)
  • WebAssembly