← Blog · Barcodes · 4 min read
EAN-13 vs UPC-A vs Code 128: Which Barcode You Need
Three symbologies cover most of what a small business needs. The decision is not technical taste — it is where the code will be scanned and who assigned the number inside it.
Selling retail outside North America: EAN-13
Thirteen digits, fixed length, read by retail tills worldwide. The first digits are a company prefix licensed through a GS1 member organisation (not, despite a common belief, the country the product was made in); the last is a check digit computed from the other twelve. If your product will sit on someone else’s shelf, this is the one — and the number must come from a GS1 licence, not be invented. The small-shop guide covers when you genuinely need that licence and when you do not.
Selling retail in the US and Canada: UPC-A
Twelve digits and structurally the same family — a UPC-A is an EAN-13 with a leading zero, and modern tills read both interchangeably. Choose it when your distributor or marketplace asks for UPC specifically; otherwise EAN-13 is the safer international default.
Everything internal: Code 128
Shelf labels, asset tags, tote boxes, work orders — anything scanned only by your own equipment. Code 128 encodes letters as well as digits, has no registration authority and no fixed length, which suits SKUs like WH-2481-A. The trade: a retail till will beep at it without knowing what to do, because it is not a retail number.
How long a Code 128 label gets
Code 128 has no fixed length, so its width depends on what you put in it. This site's encoder uses Code 128's subset B, which covers letters, digits and punctuation: each character adds 11 modules, and the start, check and stop symbols add 35 more. The widths below include a quiet zone of 10 modules on each side.
| Content | Characters | Width, 0.25 mm module | 0.33 mm module |
|---|---|---|---|
A-1042 | 6 | 30.3 mm | 39.9 mm |
WH-2481-A7 | 10 | 41.3 mm | 54.5 mm |
INV-2026-0847-X | 15 | 55.0 mm | 72.6 mm |
SN-0000-4411-2026-77 | 20 | 68.8 mm | 90.8 mm |
| EAN-13 | 13 | below 80% | 37.3 mm |
A 15-character order number at the 0.33 mm module a retail EAN uses comes out at 72.6 mm, about twice as wide as the EAN itself. Two things keep internal labels small: shorter codes, and a smaller module once you have checked that your own scanners read it. Code 128 also has a subset C that packs two digits into each symbol, so a digits-only code from a generator that uses it is shorter than these figures; this site's encoder uses subset B for everything.
Books: ISBN, which is secretly EAN
An ISBN is a numbering system, not a barcode. On the back cover it is printed as a normal EAN-13 beginning 978 or 979 — the generator here accepts ISBN-10 or ISBN-13 and converts either into the EAN a till actually reads, validating the check digit both ways.
| EAN-13 | UPC-A | Code 128 | |
|---|---|---|---|
| Length | 13 digits, fixed | 12 digits, fixed | variable, letters + digits |
| Number assigned by | GS1 licence | GS1 licence | you |
| Scanned at | any retail till | any retail till | your own scanners |
| Check digit | automatic, position 13 | automatic, position 12 | internal checksum |
The two mistakes that survive this table
First: printing bars in red because it matches the brand. Laser tills read in red light, so red bars vanish. The generator’s safety check warns you before anything is printed. Second: trimming the quiet zone either side of the bars to fit a label; it is part of the symbol, not white space.
EAN-13, UPC-A or Code 128, with the check digit computed for you.
Make a barcode →