Quick picker
| If you need to… | Use |
|---|---|
| Sell a product in US or Canadian stores | UPC-A (with a GS1 number) |
| Sell a product anywhere else | EAN-13 (with a GS1 number) |
| Barcode a very small retail item | UPC-E or EAN-8 |
| Barcode a book | EAN-13 using the ISBN |
| Label your own stock, SKUs or bins | Code 128 |
| Tag equipment and assets | Code 128 |
| Label a shipping carton of products | ITF-14 |
| Match an older industrial or badge system | Code 39 or Codabar |
| Store a web link, Wi-Fi details or lots of text | A QR code (a 2D code, not a barcode) |
Retail barcodes: UPC and EAN
These are the barcodes checkout scanners expect. They only hold numbers, and the number identifies a product in GS1's global system. The barcode itself is free to make; the number is what you pay GS1 for. More on getting one.
Internal barcodes: Code 128 and Code 39
These hold letters and numbers, so you can encode your own SKUs and IDs. They aren't registered anywhere, so they're free and you control them, but stores won't recognise them at the till. Code 128 is the modern default; Code 39 is older and wider, but still required by some systems.
Logistics barcodes: ITF-14
ITF-14 holds a 14-digit GTIN that identifies a case or carton of a product. It prints well on brown corrugated board, which is why distribution centres use it.
1D barcodes vs QR codes
Everything on this site is a 1D (linear) barcode: a row of bars read by laser and camera scanners. QR codes are 2D squares that hold far more data and are made for phone cameras. Retail checkouts and most warehouse systems still expect 1D barcodes.
Frequently asked questions
Can a barcode scanner read all of these?
Most modern scanners read UPC, EAN, Code 128 and Code 39 out of the box. Some cheaper ones need certain types (like Codabar or MSI) switched on in their settings.
Which barcode holds the most characters?
Among 1D barcodes, Code 128 is the most efficient for mixed text. For much more data, use a 2D code like a QR code.