Generate CODE128, EAN-13, UPC, CODE39 and more - customise the size and colors, then download as PNG or SVG.
A barcode encodes a number or short string as a pattern of parallel bars that optical scanners read. Different symbologies suit different jobs - EAN-13 and UPC are the retail product codes you see at a checkout, while CODE128 and CODE39 are flexible formats for logistics, shipping labels and asset tags. This tool renders the barcode in your browser with the JsBarcode library and exports a print-ready PNG or a scalable SVG; the value you enter is never uploaded.
Each format has its own rules. The fixed-length retail codes (EAN, UPC) carry a check digit the tool calculates for you, so a single typo is caught rather than silently encoded. The variable-length codes (CODE128, CODE39) can encode letters and symbols, which is why they dominate internal tracking.
Generate labels for inventory and warehouse bins, tag equipment for an asset register, print shipping or batch codes, or mock up packaging artwork. For anything internal, CODE128 is a safe default; for real retail, use the registered EAN or UPC number printed on the product.
Use EAN-13 or UPC for retail products that need a real registered number, and CODE128 or CODE39 for internal use like shipping labels, asset tags and inventory, where you choose the value yourself.
EAN-13 expects 12 or 13 digits and computes a check digit, so a wrong length or non-digits cannot form a valid symbol. UPC needs 11 to 12 digits and EAN-8 needs 7 to 8.
Yes, as long as you print it at a sensible size with good contrast and quiet space on the sides. Very thin bars or low-contrast colors can trip scanners, so test before a big print run.
The tool draws a valid barcode from the number you give it, but a retail UPC or EAN number itself must be bought from GS1. This is for rendering, not for issuing official product codes.