Skip to main content
GS1 DataBar is a family of seven linear barcodes for retail. They carry a GTIN (Global Trade Item Number) in less space than a UPC or EAN, and the Expanded variants can add data such as weight, price, batch and expiry date.

Decode one

Scan or paste a barcode and see every part of it.

Make one

Generate a valid barcode from fields.

Where you’ll see it

  • Fresh food: stickers on loose fruit and vegetables, and labels on meat, fish and cheese sold by weight, where Expanded carries the weight, price or expiry date.
  • Manufacturer coupons in North America, as GS1 DataBar Expanded Stacked.
  • Small items that don’t have room for a UPC or EAN.

The seven variants

Four of the variants are designed for the omnidirectional scanners built into checkouts. The other three aren’t, and GS1 doesn’t approve them for retail checkout. The Omnidirectional variants can also carry a GCN (Global Coupon Number) instead of a GTIN.

Anatomy

Every GS1 DataBar barcode is built from the same parts: The stacked variants cut the same sequence into rows printed one above the other, so the barcode is narrower and taller.

Expanded data

Expanded carries GS1 data in the same form as GS1-128: Application Identifiers followed by their values. A scale label might carry (01) for the GTIN, (3103) for the net weight in kilograms with three decimals, and (15) for a best before date. Scanners report all GS1 DataBar variants with the identifier ]e0.

Check digits

Each variant includes its own built-in check, which the scanner verifies and drops. The GTIN inside also keeps its own GS1 mod-10 check digit, which stays in the data and is worth validating. See Check digits.
  • GS1 Composite: a DataBar with a small 2D barcode stacked on top for extra data.
  • UPC-A and EAN-13: the usual retail barcodes, which carry only a GTIN.
  • GS1-128: GS1 data on cases and pallets, not for checkout.
  • 2D barcodes: GS1 DataMatrix and QR Code can now carry the same data at checkout. See Sunrise 2027.

Gotchas

  • Older checkout scanners don’t read it. A scanner has to be DataBar-ready and have DataBar turned on. GS1 publishes a list of scanners that are.
  • Expanded data runs together. Parse it as GS1 data, not by position. See GS1 Application Identifiers.
  • A weight or price in the data. Fresh food labels change from item to item. Look items up by GTIN, and read the weight and price from their own fields.

Scanning it in your app

GS1 DataBar is in the Retail product and GS1 groups.

Specification