Skip to main content
This reference explains how barcodes are built, what the data inside them means, and why a scan sometimes isn’t what you expected. It covers every barcode type ZipZapKit and ZipZap hardware know about, whether or not a particular reader reads it. A barcode type is a way of drawing data as bars, squares or dots: UPC-A, QR Code and PDF417 are all barcode types. The industry term is symbology. These docs say barcode type, and so does ZipZapKit’s API, though it also accepts Symbology for code that uses the industry term.

Start here

Why doesn't my scan match the label?

Leading zeros, check digits, add-ons and prefixes, explained.

Barcode groups

Enable products, shipping labels or IDs without knowing their barcode types.

Check digits

How each method works, with worked examples.

Error correction

How much to use for screens, labels and boxes.

GS1 AI table

Every Application Identifier, from GS1’s own dictionary.

Sunrise 2027

The move to 2D barcodes at retail checkout.
Not sure which barcode type you have? Decode one and the tool will tell you.

By what you’re scanning

Products

The barcodes on things sold in shops. Each carries a GTIN, the number that identifies the product. QR Code and Data Matrix count as product barcodes when they carry a GTIN, as more and more products do. See Sunrise 2027.

Boxes, pallets and parcels

GS1-128 labels often carry batch numbers and dates too. See the GS1 AI table.

Mail

Identity documents

Everything else

General-purpose barcodes for asset tags, tickets, parts, links and your own formats: Barcode groups lists every barcode type and every group it belongs to.

How each page is organized

Every barcode type page follows the same pattern:
  • At a glance: what it encodes, how long it is, its check digit, its groups and its standard.
  • Where you’ll see it.
  • Anatomy: an annotated diagram where we can check one with a decoder, or a table of its parts where we can’t.
  • Check digit or error correction.
  • Gotchas: the mistakes people make with it.
  • Scanning it in your app: which readers read it, and the ZipZapKit code to enable it.
  • Specification: the standard and where to find it.