Home arrow FAQs arrow UCC128 & EAN128 FAQ
UCC128 & EAN128 Barcode FAQ & Tutorial Print E-mail

UCC/EAN-128 background information

UCC/EAN-128 was developed to provide a worldwide format and standard for exchanging common data between companies. While other barcodes simply encode data with no respect for what the data represents, UCC/EAN-128 encodes data and encodes what that data represents.

For example, you could encode the weight 20.56 pounds in a Standard 2 of 5 barcode by simply encoding the digits 2056. However, an application reading the barcode would not know whether 2056 is a product code, a price, a time (2056 could be 20:56, which is 8:56PM), a lot number or, in this case, the weight in pounds. Even if it did know it was a weight, the application would not know whether the number represented 2056 pounds or 20.56 pounds--or perhaps the weight was expressed in kilograms.

Of course, a system may implement some kind of internal standard. Perhaps a prefix of "1" before the data (i.e. 12056) would mean the data that followed was a weight in pounds with the last two digits being after the decimal point. However, if this barcode was printed on the product and shipped to a customer, the customer wouldn't have any way to interpret the data unless the customer was informed about the internal standard and implemented it. This would require customizations on each customer's systems, not to mention of downstream systems (what about the customer of your customer?).

As you can see, encoding the data in a barcode is not a problem -- the problem is decoding the barcode afterward. More importantly, the problem is that anyone should be able to decode the barcode with no modifications necessary to their system.

UCC/EAN-128 solves this problem. UCC/EAN-128 has a list of "Application Identifiers" (AI). Each AI tells the system what kind of data will follow and in what format. For example, AI 320 indicates that the data that follows is a net weight in pounds. The next digit indicates the number of digits after the decimal point, followed by 6 digits which express the weight. In our example above, 20.56 pounds would be expressed as AI 3202 (the trailing 2 means there are 2 digits after the decimal point), followed by 002056 which represents the weight right-justified within a 6-digit field. Thus our above example becomes UCC/EAN-128 3202002056. This UCC/EAN-128 could be scanned and successfully interpreted by any UCC/EAN-128-compatible system without modification.

NOTE: A UCC/EAN-128 can be read by any scanner or program capable of reading a Code 128. However, it's the responsibility of the application to recognize the scanned Code 128 barcode as one conforming to the UCC/EAN-128 standard and interpret it as such.

Application Identifier reference table

The following table is a summary of valid Application Identifiers and the format of the data using that AI. Some AI's include a clickable link which you may click to obtain more detailed information about the AI and/or the format of its data. Note that some AI numbers contain an 'x' or a 'y' following the AI in the AI column. This means that a single digit must be appended to the AI, the digit having the following meaning:
x: A single digit indicating the length of the data field
y: A single digit indicating the number of decimal points in the data field
AI AI Description Data Structure After AI Code
00 Serial Shipping Container Code (SSCC-18) 18 digits
01 Shipping Contained Code (SSCC-14) 14 Digits
02 Number of containers contained in another unit (used with AI 37) 14 Digits
10 Batch Numbers 1-20 Alphanumeric
11 Production Date 6 Digits: YYMMDD
13 Packaging Date 6 Digits: YYMMDD
15 Sell By Date (Quality Control) 6 Digits: YYMMDD
17 Expiration Date (Safety Control) 6 Digits: YYMMDD
20 Product Variant 2 Digits
21 Serial Number 1-20 Alphanumeric
22 HIBCC Quantity, Date, Batch and Link 1-29 Alphanumeric
23x Lot Number 1-19 Alphanumeric
240 Additional Product Identification 1-30 Alphanumeric
250 Second Serial Number 1-30 Alphanumeric
30 Quantity Each -
310y Product Net Weight in Kg 6 Digits
311y Product Length/1st Dimension (Meters) 6 Digits
312y Product Width/Diameter/2nd Dimension (Meters) 6 Digits
313y Product Depth/Thickness/3rd Dimension (Meters) 6 Digits
314y Product Area (Square Meters) 6 Digits
315y Product Volume (Liters) 6 Digits
316y Product Volume (Cubic Meters) 6 Digits
320y Product Net Weight (Pounds) 6 Digits
321y Product Length/1st Dimension (Inches) 6 Digits
322y Product Length/1st Dimension (Feet) 6 Digits
323y Product Length/1st Dimension in (Yards) 6 Digits
324y Product Width/Diamater/2nd Dimension (Inches) 6 Digits
325y Product Width/Diameter/2nd Dimension (Feet) 6 Digits
326y Product Width/Diameter/2nd Dimension (Yards) 6 Digits
327y Product Depth/Thickness/Height/3rd Dimension (Inches) 6 Digits
328y Product Depth/Thickness/Height/3rd Dimension (Feet) 6 Digits
329y Product Depth/Thickness/Height/3rd Dimension (Yards) 6 Digits
330y Container Gross Weight (Kg) 6 Digits
331y Container Length/1st Dimension (Meters) 6 Digits
332y Container Width/Diameter/2nd Dimension (Meters) 6 Digits
333y Container Depth/Thickness/3rd Dimension (Meters) 6 Digits
334y Container Area (Square Meters) 6 Digits
335y Container Gross Volume (Liters) 6 Digits
336y Container Gross Volume (Cubic Meters) 6 Digits
340y Container Gross Weight (Pounds) 6 Digits
341y Container Length/1st Dimension (Inches) 6 Digits
342y Container Length/1st Dimension (Feet) 6 Digits
343y Container Length/1st Dimension in (Yards) 6 Digits
344y Container Width/Diamater/2nd Dimension (Inches) 6 Digits
345y Container Width/Diameter/2nd Dimension (Feet) 6 Digits
346y Container Width/Diameter/2nd Dimension (Yards) 6 Digits
347y Container Depth/Thickness/Height/3rd Dimension (Inches) 6 Digits
348y Container Depth/Thickness/Height/3rd Dimension (Feet) 6 Digits
349y Container Depth/Thickness/Height/3rd Dimension (Yards) 6 Digits
350y Product Area (Square Inches) 6 Digits
351y Product Area (Square Feet) 6 Digits
352y Product Area (Square Yards) 6 Digits
353y Container Area (Square Inches) 6 Digits
354y Container Area (Square Feet) 6 Digits
355y Container Area (Suqare Yards) 6 Digits
356y Net Weight (Troy Ounces) 6 Digits
360y Product Volume (Quarts) 6 Digits
361y Product Volume (Gallons) 6 Digits
362y Container Gross Volume (Quarts) 6 Digits
363y Container Gross Volume (Gallons) 6 Digits
364y Product Volume (Cubic Inches) 6 Digits
365y Product Volume (Cubic Feet) 6 Digits
366y Product Volume (Cubic Yards) 6 Digits
367y Container Gross Volume (Cubic Inches) 6 Digits
368y Container Gross Volume (Cubic Feet) 6 Digits
369y Container Gross Volume (Cubic Yards) 6 Digits
37 Number of Units Contained (Used with AI 02) 1-8 Digits
400 Customer Purchase Order Number 1-29 Alphanumeric
410 Ship To/Deliver To Location Code (EAN13 or DUNS code) 13 Digits
411 Bill To/Invoice Location Code (EAN13 or DUNS code) 13 Digits
412 Purchase From Location Code (EAN13 or DUNS code) 13 Digits
420 Ship To/Deliver To Postal Code (Single Postal Authority) 1-9 Alphanumeric
421 Ship To/Deliver To Postal Code (Multiple Postal Authority) 4-12 Alphanumeric
8001 Roll Products - Width/Length/Core Diameter 14 Digits
8002 Electronic Serial Number (ESN) for Cellular Phone 1-20 Alphanumeric
8003 UPC/EAN Number and Serial Number of Returnable Asset 14 Digit UPC +1-16 Alphanumeric Serial Number
8004 UPC/EAN Serial Identification 1-30 Alphanumeric
8005 Price per Unit of Measure 6 Digits
8100 Coupon Extended Code: Number System and Offer 6 Digits
8101 Coupon Extended Code: Number System, Offer, End of Offer 10 Digits
8102 Coupon Extended Code: Number System preceeded by 0 2 Digits
90 Mutually Agreed Between Trading Partners 1-30 Alphanumeric
91 Internal Company Codes 1-30 Alphanumeric
92 Internal Company Codes 1-30 Alphanumeric
93 Internal Company Codes 1-30 Alphanumeric
94 Internal Company Codes 1-30 Alphanumeric
95 Internal Company Carrieres 1-30 Alphanumeric
96 Internal Company Carrieres 1-30 Alphanumeric
97 Internal Company Codes 1-30 Alphanumeric
98 Internal Company Codes 1-30 Alphanumeric
99 Internal Company Codes 1-30 Alphanumeric


More About EAN128, UCC128 and Application Identifiers

The Application Identifier (AI) - defines the barcode data fields in the Code 128 barcode. Each AI uniquely identifies the meaning and format of the data following it. The AI has parentheses around it in the human readable interpretation of the information. However, the parentheses are not encoded in the barcode, just the numbers.

Examples of encoding UCC/EAN-128

Code SSCC-18
Data Encoded: 00008012349999999997
BarText property: <AI00>008012349999999997
Barcode: SSCC-18 barcode



Shipping Code (SCC-14), EAN 14 and Global Trade Item Number (GTIN)
Data Encoded: 0130012345678906
BarText property: <AI01>30012345678906
Barcode: SSCC-14, EAN14, GTIN barcode



Coupon Extended Code (Offer Code and Expiration Date)
Data Encoded: 81010123450901
BarText property: <AI8101>0123450901
Barcode: Coupon Extended Code (Offer Code and Expiration Date) barcode



EAN-128 Including Article Number, Best Before Date and Batch Number
Data Encoded: 01194211234500111599123110101234
BarText property: <AI01>19421123450011<AI15>991231<AI10>101234
Barcode: EAN-128 Including Article Number, Best Before Date and Batch Number barcode



Shipment Identification Number
Data Encoded: 40212345678901234560
BarText property: <AI402>12345678901234560
Barcode: Shipment Identification Number barcode


 

Copyright (c) 1999-2013, VBC Software. All rights reserved.
All trademarks mentioned are the property of their respective owners