Skip to content

Barcode Types Compared

Which barcode does what, how much it holds and where it's used.

About Barcode types

A barcode symbology is a set of rules for turning characters into bars and spaces (1D, or linear, barcodes) or into a pattern of square cells (2D codes). Linear barcodes are read along one line, so they hold a few dozen characters at most; stacked and matrix 2D codes are read as an image and hold hundreds or thousands. Every symbology here is defined by an ISO/IEC or industry standard that scanners follow.

The right choice depends less on the data than on who will scan it. Shop tills expect UPC-A or EAN-13 carrying a GS1 product number; warehouses expect ITF-14 and GS1-128; your own systems can use whatever their scanners read, which usually means Code 128 for labels and Data Matrix or QR for 2D. The second table below starts from the job instead of the symbology.

Every barcode type at a glance

SymbologyKindCharactersCapacityTypical useStandard
UPC-A1DDigits12 digits (11 + check digit)Retail products in the US and CanadaISO/IEC 15420, GS1
UPC-E1DDigits8 digits (a zero-suppressed UPC-A)Small retail packs in the US and CanadaISO/IEC 15420, GS1
EAN-131DDigits13 digits (12 + check digit)Retail products worldwideISO/IEC 15420, GS1
EAN-81DDigits8 digits (7 + check digit)Very small retail packsISO/IEC 15420, GS1
ISBN (Bookland EAN)1DDigits13 digits, optional 5-digit price add-onBooks, starting 978 or 979ISO 2108, GS1
Code 1281DAll 128 ASCII charactersVariable; digits pack two per characterShipping, inventory, assets, documentsISO/IEC 15417
GS1-1281DDigits and the GS1 set of 82 charactersUp to 48 data characters, 165 mm wideCase and pallet labels with Application IdentifiersISO/IEC 15417, GS1
Code 391D0-9, A-Z, space and - . $ / + %Variable; wider than Code 128 for the same dataID badges, defense and automotive partsISO/IEC 16388
Code 931DAll 128 ASCII charactersVariable; denser than Code 39Logistics and postal labels (Canada Post)ANSI/AIM BC5
ITF-141DDigits14 digits (a GTIN-14)Outer cases and shipping cartonsISO/IEC 16390, GS1
Interleaved 2 of 51DDigits (an even number)VariableWarehouses, cartons, industrial labelsISO/IEC 16390
Codabar1D0-9 and - $ : / . + with A-D start/stopVariableLibraries, blood banks, labsANSI/AIM BC3
MSI Plessey1DDigitsVariableShelf edge labels, warehouse binsNo ISO standard (MSI Data Corporation)
PDF417Stacked 2DText, digits and bytes1,850 text characters, 2,710 digits or 1,108 bytesDriver's licences, boarding passes, documentsISO/IEC 15438
Data Matrix (ECC 200)2DText, digits and bytes3,116 digits, 2,335 text characters or 1,556 bytesParts marking, electronics, healthcare (GS1 DataMatrix)ISO/IEC 16022
Aztec2DText, digits and bytes3,832 digits, 3,067 letters or 1,914 bytesTrain tickets, mobile boarding passesISO/IEC 24778
QR Code2DText, digits, bytes and kanji7,089 digits, 4,296 characters or 2,953 bytesLinks, payments and menus scanned by phonesISO/IEC 18004

Which barcode should I use?

You need a barcode forUseWhy
A product sold in shops in the US or CanadaUPC-AEvery point-of-sale scanner reads it; the number comes from GS1 US or GS1 Canada.
A product sold in shops anywhere elseEAN-13The worldwide retail standard; US scanners have read it since 2005.
A very small retail packEAN-8 or UPC-EShorter symbols for packs where a full-size code won't fit.
A bookISBN (EAN-13)Book trade systems read the ISBN-13 from the Bookland EAN.
A shipping carton of a retail productITF-14Prints well on corrugated board and carries the case GTIN-14.
A pallet or parcel label with batch, dates or an SSCCGS1-128Application Identifiers say what each field means.
Stock, asset, bin or document labelsCode 128Compact, encodes letters and digits, read by every scanner.
A system that already uses an older codeCode 39, Codabar or MSIMatch what the existing scanners and software expect.
Lots of data on an ID card or documentPDF417Holds over a thousand characters and reads with linear imagers.
A tiny label on a part or medical productData MatrixThe most compact 2D code for short data, and readable when damaged.
A ticket shown on a phone screenAztecNeeds no quiet zone and reads well from screens.

Good to know

1D or 2D?

Laser scanners at older tills and in warehouses read only 1D barcodes. Camera-based imagers, including phones, read both. If the people or systems scanning your code might use a laser scanner, choose a 1D barcode or check first.

Capacities are maximums

The 2D capacities are for the largest symbol at the lowest error correction. Real codes hold less, because they use more error correction and stay a sensible size; a 2D code with a few hundred characters is already large.

More references