GS1-128
GS1-128 is an application standard of the GS1 implementation using the Code 128 barcode specification. The former correct name was UCC/EAN-128. Other no longer used names have included UCC-128 and EAN-128. GS1-128 uses a series of Application Identifiers to include additional data such as best before dates, batch numbers, quantities, weights and many other attributes needed by the user.
Overview
The GS1-128 standard is an application standard within the Code 128 barcode. It identifies data with Application Identifiers (AI). Without spaces below, a simple SSCC (Serial Shipping Container Code) barcode would look something like this:
[FNC1] 00 12345678 0000000001
In the example above, [FNC1] is the single character Function Code 1, which specifies that a Code 128 barcode is a GS1-128 code. 00 is the serial shipping container code ("SSCC") AI that designates the following data as a serial shipping container code. 12345678 is the company number. 0000000001 is the container number.
It is possible to encode several pieces of data in one barcode. For example a product serial number (application identifier code 21), production date (code 11), and expiration date (code 17) together would look something like this:
[FNC1] 21 12345 [FNC1] 11 090101 17 100101
An additional FNC1 is required before the production date, because the preceding product serial number is variable length. This is not required before the expiration date, because the production date is fixed length. Reordering the components to place a variable-length field last produces a more compact form:
[FNC1] 11 090101 17 100101 21 12345
Mapping to EPC codes
As EPC and EAN respectively UCC as code systems are not congruent, GS1-128 gets mapped to EPC-GTIN with a reference list including both codes per type of product. However, there is no mapping for the serial number with EPC-SGTIN.
Full list of Application Identifiers
Because code 128 is more efficient at coding pairs of digits, preference is given to even lengths in numeric fields.
All dates are formatted as YYMMDD.
y in the AI gives a number of decimal places in the following value. The represented value is the following integer divided by 10y. For example, a net weight of 22.7 kg could be coded as 3101 000227, 3102 002270, 3103 022700, or 3104 227000.
Code | Description | data length (without AI) |
---|---|---|
00 | Serial Shipping Container Code (SSCC) | 18 |
01 | Global Trade Item Number (GTIN) | 14 |
02 | GTIN of Contained Trade Items | 14 |
10 | Batch/Lot Number | variable, up to 20 |
11 | Production Date | 6 |
12 | Due Date | 6 |
13 | Packaging Date | 6 |
15 | Best Before Date (YYMMDD) | 6 |
17 | Expiration Date | 6 |
20 | Product Variant | 2 |
21 | Serial Number | variable, up to 20 |
22 | Secondary Data Fields | variable, up to 29 |
23n | Lot number n | variable, up to 19 |
240 | Additional Product Identification | variable, up to 30 |
241 | Customer Part Number | variable, up to 30 |
242 | Made-to-Order Variation Number | variable, up to 6 |
250 | Secondary Serial Number | variable, up to 30 |
251 | Reference to Source Entity | variable, up to 30 |
253 | Global Document Type Identifier | variable, 13F17 |
254 | GLN Extension Component | variable, up to 20 |
255 | Global Coupon Number (GCN) | variable, 13–25 |
30 | Count of items | variable, up to 8 |
310y | Product Net Weight in kg | 6 |
311y | Product Length/1st Dimension, in meters | 6 |
312y | Product Width/Diameter/2nd Dimension, in meters | 6 |
313y | Product Depth/Thickness/Height/3rd Dimension, in meters | 6 |
314y | Product Area, in square meters | 6 |
315y | Product Net Volume, in liters | 6 |
316y | Product Net Volume, in cubic meters | 6 |
320y | Product Net Weight, in pounds | 6 |
321y | Product Length/1st Dimension, in inches | 6 |
322y | Product Length/1st Dimension, in feet | 6 |
323y | Product Length/1st Dimension, in yards | 6 |
324y | Product Width/Diameter/2nd Dimension, in inches | 6 |
325y | Product Width/Diameter/2nd Dimension, in feet | 6 |
326y | Product Width/Diameter/2nd Dimension, in yards | 6 |
327y | Product Depth/Thickness/Height/3rd Dimension, in inches | 6 |
328y | Product Depth/Thickness/Height/3rd Dimension, in feet | 6 |
329y | Product Depth/Thickness/3rd Dimension, in yards | 6 |
330y | Container Gross Weight (kg) | 6 |
331y | Container Length/1st Dimension (Meters) | 6 |
332y | Container Width/Diameter/2nd Dimension (Meters) | 6 |
333y | Container Depth/Thickness/3rd Dimension (Meters) | 6 |
334y | Container Area (Square Meters) | 6 |
335y | Container Gross Volume (Liters) | 6 |
336y | Container Gross Volume (Cubic Meters) | 6 |
340y | Container Gross Weight (Pounds) | 6 |
341y | Container Length/1st Dimension, in inches | 6 |
342y | Container Length/1st Dimension, in feet | 6 |
343y | Container Length/1st Dimension in, in yards | 6 |
344y | Container Width/Diameter/2nd Dimension, in inches | 6 |
345y | Container Width/Diameter/2nd Dimension, in feet | 6 |
346y | Container Width/Diameter/2nd Dimension, in yards | 6 |
347y | Container Depth/Thickness/Height/3rd Dimension, in inches | 6 |
348y | Container Depth/Thickness/Height/3rd Dimension, in feet | 6 |
349y | Container Depth/Thickness/Height/3rd Dimension, in yards | 6 |
350y | Product Area (Square Inches) | 6 |
351y | Product Area (Square Feet) | 6 |
352y | Product Area (Square Yards) | 6 |
353y | Container Area (Square Inches) | 6 |
354y | Container Area (Square Feet) | 6 |
355y | Container Area (Square Yards) | 6 |
356y | Net Weight (Troy Ounces) | 6 |
357y | Net Weight/Volume (Ounces) | 6 |
360y | Product Volume (Quarts) | 6 |
361y | Product Volume (Gallons) | 6 |
362y | Container Gross Volume (Quarts) | 6 |
363y | Container Gross Volume (U.S. Gallons) | 6 |
364y | Product Volume (Cubic Inches) | 6 |
365y | Product Volume (Cubic Feet) | 6 |
366y | Product Volume (Cubic Yards) | 6 |
367y | Container Gross Volume (Cubic Inches) | 6 |
368y | Container Gross Volume (Cubic Feet) | 6 |
369y | Container Gross Volume (Cubic Yards) | 6 |
37 | Number of Units Contained | variable, up to 8 |
390y | Amount payable (local currency) | variable, up to 15 |
391y | Amount payable (with ISO currency code) | variable, 3–18 |
392y | Amount payable per single item (local currency) | variable, up to 15 |
393y | Amount payable per single item (with ISO currency code) | variable, 3–18 |
400 | Customer Purchase Order Number | variable, up to 30 |
401 | Consignment Number | variable, up to 30 |
402 | Bill of Lading number | 17 |
403 | Routing code | variable, up to 30 |
410 | Ship To/Deliver To Location Code (Global Location Number) | 13 |
411 | Bill To/Invoice Location Code (Global Location Number) | 13 |
412 | Purchase From Location Code (Global Location Number) | 13 |
413 | Ship for, Deliver for, or Forward to Location Code (Global Location Number) | 13 |
414 | Identification of a physical location (Global Location Number) | 13 |
420 | Ship To/Deliver To Postal Code (Single Postal Authority) | variable, up to 20 |
421 | Ship To/Deliver To Postal Code (with ISO country code) | variable, 3–15 |
422 | Country of Origin (ISO country code) | 3 |
423 | Country or countries of initial processing | variable, 3–15 |
424 | Country of processing | 3 |
425 | Country of disassembly | 3 |
426 | Country of full process chain | 3 |
7001 | NATO Stock Number (NSN) | 13 |
7002 | UN/ECE Meat Carcasses and cuts classification | variable, up to 30 |
7003 | expiration date and time | 10 |
7004 | Active Potency | variable, up to 4 |
703n | Processor approval (with ISO country code); n indicates sequence number of several processors | variable, 3–30 |
8001 | Roll Products: Width/Length/Core Diameter/Direction/Splices | 14 |
8002 | Mobile phone identifier | variable, up to 20 |
8003 | Global Returnable Asset Identifier | variable, 14–30 |
8004 | Global Individual Asset Identifier | variable, up to 30 |
8005 | Price per Unit of Measure | 6 |
8006 | identification of the components of an item | 18 |
8007 | International Bank Account Number | variable, up to 30 |
8008 | Date/time of production | variable, 8–12 |
8018 | Global Service Relation Number | 18 |
8020 | Payment slip reference number | variable, up to 25 |
8100 | Coupon Extended Code: Number System and Offer | 6 |
8101 | Coupon Extended Code: Number System, Offer, End of Offer | 10 |
8102 | Coupon Extended Code: Number System preceded by 0 | 2 |
8110 | Coupon code ID (North America) | variable, up to 30 |
8200 | Extended Packaging URL | variable, up to 70 |
90 | Mutually Agreed Between Trading Partners | variable, up to 30 |
91–99 | Internal Company Codes | variable, up to 30 |