Barcodes
Barcode generators, readers and lookups for product labels, stock and shipping. Each tool works out the check digit for you and runs in your browser. Retail sale through large stores still needs numbers licensed from GS1, which no generator can give you.
Make a barcode
Generators for retail product numbers and for your own stock labels. The check digit is worked out for you; GS1 numbers for retail sale still have to be licensed from GS1.
Check, read and look up
Read a barcode from a photo, verify a check digit before you print, and see which GS1 office issued a number.
2D codes for labels and parts
Dense codes for small parts, shipping labels and IDs, where a linear barcode will not fit or cannot hold enough data.
Which barcode tool do I need?
| You want to | Use |
|---|---|
| Make a UPC for a product sold in the US or Canada | UPC Code Generator |
| Make an EAN-13 for a product sold in Europe or most other markets | EAN-13 Generator |
| Label your own stock, bins or shelves | Barcode Generator (Code 128) |
| Print SKU labels for clothing | Garment Barcode Generator |
| Read a barcode from a photo and check the number | Barcode Scanner Online |
| Work out or verify a check digit | Check Digit Calculator |
| See which GS1 office issued a number | Barcode Country Codes |
| Fit a lot of data on a small part or label | Data Matrix Generator |
| Make a shipping or ID style 2D barcode | PDF417 Generator |
UPC, EAN-13 and Code 128 do different jobs
UPC-A carries 12 digits and is what North American point of sale systems expect. EAN-13 carries 13 and is the international version; a UPC is effectively an EAN-13 with a leading zero, so modern scanners read both. Neither can hold letters. Code 128 is the opposite: it encodes letters, digits and punctuation at any length, which makes it the usual choice for internal SKUs, bin labels and shipping references, but a retailer's till will not treat a Code 128 label as a product number.
So the first question is not which barcode looks right but who has to read it. A shop scanner needs a GS1 number in UPC or EAN form. Your own warehouse can read whatever you print, and Code 128 is the most forgiving choice for that.
The check digit catches typing errors, not wrong numbers
The last digit of a UPC or EAN is calculated from the others. Alternate digits are weighted by 3 and 1, the products are added, and the check digit is whatever brings the total up to the next multiple of ten. That catches every single mistyped digit and most swaps of two neighbouring digits, which is why a scanner rejects a damaged label instead of reading the wrong product.
What it cannot catch is a number that was never yours. A valid check digit only proves the number is well formed. Whether it belongs to your company is a question for the GS1 database, not the arithmetic.
A barcode is only as good as the number inside it
The first digits of an EAN show which GS1 member organisation issued the number, not where the product was made. Numbers bought from resellers often trace back to a different company, and large marketplaces check product numbers against GS1 records. If you plan to sell through big retailers or marketplaces, license a company prefix from GS1 first and generate the barcode from that.
Print size and blank margins
A UPC-A at full size is about 1.47 inches wide and 1.02 inches tall, and it can usually be scaled from 80% to 200% of that. Shrink it further and bars blur together on ordinary printers. Leave the blank margin on both sides: scanners use that clear space to find where the code starts and stops, and a label cropped tight to the bars is the most common reason a correct barcode will not scan.
