What is an EAN-13 barcode?
An EAN-13 barcode is a 13-digit, linear (1D) barcode that encodes a GTIN-13 - a globally unique number for a product. It is the standard retail barcode used outside the US and Canada, where the 12-digit UPC-A is used, and it is defined by GS1. Because it can be scanned from either direction, it is the format found on almost every consumer product and read at supermarket checkouts worldwide. EAN originally stood for European Article Number; it is now the International Article Number.
What do the 13 digits mean?
An EAN-13 number has four parts. You choose the first 12 digits; the 13th is a check digit calculated from the others.
- GS1 prefix (first 2-3 digits) - identifies the GS1 member organisation the number was issued through. It is not the country of manufacture: a product can be made anywhere and still carry, for example, a 690-699 (China) or 400-440 (Germany) prefix.
- Company prefix and item reference (the middle digits) - assigned to the brand owner; together they identify the specific product. GS1 issues variable-length company prefixes, so the split between company code and product code varies.
- Check digit (final digit) - a modulo-10 checksum using alternating weights of 3 and 1. It lets a scanner detect a misread before the number reaches the till, and it is computed automatically.
- Note: an EAN-13 that starts with 0 is a UPC-A code with a leading zero - which is why any EAN-13 scanner also reads UPC.
How to generate an EAN-13 barcode (free, in your browser)
Enter the first 12 digits and let the generator append the check digit and draw a correctly proportioned EAN-13. Everything runs in your browser - nothing is uploaded, there is no sign-up and no watermark. Paste a single number or a whole column at once - each line becomes its own EAN-13 on the same printable sheet.
- Open the EAN-13 barcode generator.
- Type the 12 data digits and leave the check digit off.
- Click Generate - the check digit is added and the symbol is drawn.
- Use Print sheet to print the codes on a label sheet.
- Scan the printed code with your phone before printing a full run.
EAN-13 size, quiet zone and printing rules
A correctly generated barcode can still fail if it is resized or printed without clear space. GS1 specifies that EAN-13 symbols be printed at a magnification between 80% and 200%, with 100% as the standard retail size.
- Print at 100% scale. Turn off fit-to-page and scale-to-fit in the print dialog - they resize the bars and can break scanning.
- Keep the quiet zones clear. An EAN-13 needs blank, light space before the first bar (about 11 modules) and after the last bar (about 7 modules). No text, borders or images may intrude.
- Stay in range. At 100% magnification the module width (X-dimension) is about 0.33 mm and the bars are about 22.85 mm high; GS1 allows a magnification from 80% to 200%.
- Use high contrast and good resolution: black bars on a white background, printed with a laser or thermal printer at the highest quality setting rather than economy mode.
- Test first: print one label, scan it, then print the batch.
Common EAN-13 mistakes (and EAN-13 vs UPC-A)
Most EAN-13 problems are avoidable. These are the ones that show up most often.
- Typing the check digit yourself. Enter only the 12 data digits; a wrong check digit produces an invalid, non-scannable code.
- Reusing one number for different products. Each product variant needs its own GTIN; reusing one makes retail systems and marketplaces reject or mix up your listings.
- Using EAN-13 in the US where UPC-A is expected. The two are compatible - a UPC-A is an EAN-13 with a leading zero - but some US systems and Amazon listings specify GTIN-12 / UPC-A.
- Shrinking the barcode. Fit-to-page or resizing an image in Word or Photoshop changes the module width and can push the symbol below a scanner's limit.
- Using a self-made number for real retail. If you sell through stores or Amazon, the GTIN must be issued by GS1 or a verified reseller - a random number is not a valid, unique GTIN.
- No quiet zone. A logo, price text or the page edge crowding the bars is a very common cause of a barcode that will not scan.
Reference