UCC/EAN Barcode Font (GS1-128)

UCC EAN is an international barcode format used widely by many different companies. It uses a list of Application Identifiers (AI) for identifying the structure and format of the data in the barcode. For example, AI 00 is used for identifying a 18 digits Serial Shipping Container Code.

The UCC/EAN uses the Code 128 barcode font and specifically the Code 128 Auto character set.

Barcode Font Names and Sizes

UCC/EAN uses the Code128 barcode fonts as shown below.

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

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 UCC/EAN barcode font

It is recommended to use the Encoder or VB macros provided to generate UCC/EAN barcodes as 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

UCCEAN (also known as GS1 128 barcode), is a very important barcode used by many logistics, warehouses and manufacturing firms in their daily activities. Each of these companies may implement its own warehouse management systems differently and adopt different UCCEAN barcode scanning algorithms. Some may implement the scanning algorithms very strictly while others may allow flexibility in the barcode as long as it adheres to the general GS1 specifications.

ConnectCode supports the different variations through a Strict GS1 128 Compliance option. When this option is selected, the barcode generated adheres strictly to the UCCEAN / GS1 128 specifications. Otherwise it generates a barcode that can be read by the scanning algorithm of many legacy systems. This gives users a choice to choose the preferred implementation of the UCCEAN barcode as required by different organizations with various scanning devices and systems.

If you are new to this barcode, you may want to use the default implementation and leave the checkbox unchecked. In the event that the default (legacy) implementation does not meet the strict conditions required by some companies, you may want to turn on the Strict GS1 128 Compliance option.

Default/Legacy Implementation

The following shows the structure of the UCCEAN barcode generated using the default / legacy implementation. This implementation is usually accepted by most warehouse and logistics firms.

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 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 Identifer
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

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 from ConnectCode Barcode Fonts version 5.5. It is supported in the following components :

  • Font Encoder
  • .Net Dynamic Link Libraries
  • Microsoft Excel Visual Basic Applications integration
  • Crystal Report Formulas