Generate a UPC-A or UPC-E barcode with a computed check digit, or switch to EAN-13 and EAN-8 for products sold outside North America.
Digits only: 11 (check digit added for you) or 12 with a valid check digit.
0 of 0 codes ready
Add values on the left to see your codes here.
Generated in your browser — nothing is uploaded.
This tool draws UPC-A and UPC-E, plus EAN-13 and EAN-8 for the numbering system used outside North America.
A UPC number identifies one manufacturer and one product in the GS1 database. That identity comes from GS1 and nowhere else: you buy a company prefix from them for a signup fee plus an annual renewal. Amazon checks every UPC against the GS1 registry when a listing is created, and codes that don't trace back to a paid prefix get rejected. Invented numbers fail that check. So do numbers resold outside GS1's own transfer process. The same applies to the code you generate here and to every other free UPC generator, because none of them can issue a registration.
The generator is useful wherever a barcode has to scan without having to sell anything: internal warehouse labels and bin numbers, load-testing a scanner or POS integration before it goes live, packaging mockups while the real prefix is still in the mail, classroom and demo material. In all of those the barcode holds a value and returns it on a scan, which is the part this tool gets right.
If the numbers are internal, a spreadsheet of which UPC went on which shelf goes stale the first time someone relabels a bin by hand. Asset tagging in UNIO24 keeps the mapping live: print a label, scan it into the record, and the code stays attached to the thing it is stuck to.
| UPC-A | UPC-E | EAN-13 | |
|---|---|---|---|
| Digits | 12 | 6 shown (8 with number system and check digit) | 13 |
| Region | North America, also reads everywhere | North America, small packaging only | Standard outside North America, also reads in the US |
| Best for | Standard retail products | Packaging too small for a full UPC-A | International retail listings |
UPC-A and EAN-13 are not separate systems. Add a 0 to the front of a UPC-A number and you have a valid EAN-13, which is why a US product scans at a European checkout. UPC-E is a compressed six-digit encoding of a UPC-A number rather than a number space of its own, made for labels too small for the full 12 digits.
Same workflow, different code. No sign-up on any of them.
Create QR codes for links, text, Wi-Fi, email, or phone. Customize colors, add a logo, download PNG or SVG, all in your browser.
Open generatorTurn a list, CSV, or numbered sequence into up to 500 QR codes at once, then export them as PNGs, a ZIP, or a print-ready Avery sheet.
Open generatorThe same batch workflow for linear barcodes. Paste a list or upload a CSV and render dozens at once as PNGs, a ZIP, or an Avery PDF sheet.
Open generatorThe alphanumeric format most asset tags use. Letters and digits, any length, and no registration to worry about. One code or a batch of 500.
Open generatorRead a code back with your camera or from a photo. QR, EAN, UPC, Code 128, and Data Matrix, decoded in your browser.
Open scannerUpload a photo of a code that won't scan. The tool decodes what survives in the print and rebuilds a clean replacement to reprint.
Open repair toolEdge cases that show up once you try to put a generated code to real use.
Tagging assets at scale? Talk to sales
Every code renders locally. The digits you type are drawn onto an off-screen canvas in your own browser, and no barcode data reaches our servers. Before printing a batch of real shelf labels, the field guide to barcodes that stop scanning covers the print-resolution mistakes that turn a valid code into an unreadable one.