Blog · Labels · Barcodes

Barcode types in a warehouse and when to use each

A warehouse uses three families of barcodes. Retail product codes (UPC-A and EAN-13) identify the item with its GTIN. Internal linear codes (Code 128) encode locations, pallets and documents. Codes that carry lot data (GS1-128 on cases and pallets, and 2D codes such as GS1 DataMatrix and QR with GS1 Digital Link) add lot, expiration and serial number. The right choice depends on what each label must contain and who will scan it, not on the system's preference.

Close-up of a worker's hand aiming a handheld scanner at the out-of-focus label of a cardboard carton.

A single pallet can carry five different barcodes: the manufacturer's product code, the code on the shipping case, a label with lot and expiration date, the pallet label and, on the rack, the location label. Each has a different function. When a code is used outside its function, for example a product code with no lot where traceability is required, the problem is detected in an audit or a recall.

For companies moving goods between the US and Mexico, the same symbols apply on both sides of the border: UPC-A dominates US retail, EAN-13 dominates Mexican retail, and both encode a GTIN issued through GS1.

The three families

Code Type What it holds Typical warehouse use
UPC-A Linear, GS1 12-digit GTIN Consumer products sold in the US and Canada
EAN-13 Linear, GS1 13-digit GTIN Consumer products sold in Mexico and most other countries
ITF-14 Linear, GS1 14-digit GTIN Shipping cases, printed directly on corrugate
Code 128 Linear, open use Letters and numbers Locations, internal pallets, documents
GS1-128 Linear, GS1 Several data fields with Application Identifiers Cases and pallets with lot, expiration, serial and SSCC
GS1 DataMatrix 2D, GS1 The same data in a small area Healthcare, small parts, packaging with lot and serial
QR with GS1 Digital Link 2D, GS1 A web link that contains the GTIN and other data Consumer products that also carry online information

Product codes: UPC-A and EAN-13

They identify only the item. Two units of the same product from different lots carry exactly the same UPC. They are a prerequisite for selling through retail chains and marketplaces, and their number, the GTIN, is assigned by the brand owner from the company prefix licensed by GS1. The GS1 General Specifications assign a different GTIN to each packaging level: each, inner pack and case.

Internal codes: Code 128

Codes read only inside your warehouse (location A-05-03-2, pallet LP00001234, an outbound document) do not require a trade standard. Code 128 encodes letters and numbers compactly and any scanner reads it.

Codes with data: GS1-128 and 2D codes

When a label must carry more data than the product identification, GS1 defines Application Identifiers: numbers in parentheses that announce which field follows. The most used in a warehouse are (01) GTIN, (10) lot, (17) expiration date, (21) serial number and (00) SSCC, the code for a logistic unit such as a pallet. A GS1-128 with (01), (17) and (10) gives the scanner the product, expiration and lot in a single read.

2D codes carry the same data in less space. GS1 US coordinates the Sunrise 2027 goal for US retail point-of-sale systems to read 2D barcodes, and GS1 Mexico promotes the same transition to QR with GS1 Digital Link and GS1 DataMatrix. For the warehouse, the recommendation is to buy imaging (2D) scanners, not laser-only ones.

Which code fits each label

  • Product sold to retailers or online: UPC-A for the US or EAN-13 for Mexico, with a GS1 GTIN. Do not invent your own codes for retail.
  • Product with lot or expiration: besides the product code, a GS1-128 or 2D label on the case with lot and expiration. If the supplier's label already includes it, read it at receiving.
  • Location: Code 128 with the location code and human-readable text underneath.
  • Pallet: Code 128 with your internal code or, if your customer requires it, GS1-128 with an SSCC.
  • Document: Code 128 with the document number, to open the task with one scan.

Common mistakes

  1. Treating the product code as if it identified the lot. With a UPC alone, the system does not record which lot shipped.
  2. Printing codes too small or with low contrast. The scanner fails and the person must enter the code by hand.
  3. Location labels placed too high to be read. For upper levels, use larger labels or place them on the lower beam with a reference to the level above.
  4. Laser-only scanners in an operation that will receive 2D codes.
  5. No human-readable text. When a code does not scan, staff need the text to enter it.

In Chainlink WMS, each product records the barcode read on the floor (EAN-13, UPC-A, Code 128 or another). When a GS1-128 label is scanned, the app takes the GTIN, expiration date, lot and serial number when the label carries them and, if a field the product requires is missing, asks for it. Label templates are designed by type (product, location, pallet), with a barcode or QR code and variables such as item code, lot or expiration date, with a preview, and they print from the web or the handheld on Zebra printers. The app reads with the scanner on Zebra and Honeywell handhelds or with a phone camera.

Frequently asked questions

What is the difference between UPC or EAN-13 and GS1-128?

UPC-A and EAN-13 identify the product with its GTIN at the point of sale. GS1-128 can carry several fields at once, such as GTIN, lot, expiration date or SSCC, and is used on cases and pallets in the supply chain.

Can Code 128 be used for products?

For internal use, yes. To sell through retail chains or marketplaces, the product needs a GS1 GTIN encoded as UPC-A or EAN-13.

Are 2D scanners necessary?

If you receive, or will receive, products with GS1 DataMatrix or QR codes, yes. Imaging scanners also read linear codes, so they cover both needs.

Share this article: LinkedIn

Subscribe to Chainlink online

Your instance is created when sign-up is complete, ready to set up your warehouse.

Essentials and Professional are purchased online by card: the first month and the implementation are charged at subscription. 30-day trial by invitation: request it from sales.