BARCODE MAKER
Type a product code or serial number, pick a barcode format, and download a PNG with JsBarcode.
print-ready codes
A barcode is a symbology plus a value, and picking the wrong symbology is the usual reason a label refuses to generate. CODE128 takes any ASCII string and is what internal inventory and shipping labels normally use. EAN-13 and UPC are retail standards with fixed digit counts and a check digit, and they will reject anything that does not fit.
The value itself is not validated against anything real. A well-formed EAN-13 scans perfectly and still means nothing unless the number was issued to you — retail barcodes come from GS1, and inventing one puts a code on your packaging that already belongs to somebody else.
three steps
The numeric or alphanumeric payload the scanner should read. Retail symbologies count digits and will show an error rather than silently produce something unscannable.
CODE128 for general labels, EAN-13 or UPC for retail, CODE39 when an older scanner or system insists on it. Adjust bar width and height for the label size you are printing on.
Save the PNG and place it in your label template. Print at the size you exported — scaling a barcode down in a layout is what breaks most of them.
quick answers
CODE128 for almost anything internal — it takes letters, digits and punctuation and packs them densely. EAN-13 and UPC only for retail products with a real issued number. CODE39 when a legacy scanner or an old system specifically asks for it; it is uppercase and digits only, and produces wider bars for the same value. ITF encodes digits in pairs and is the one used on shipping cartons, so it needs an even number of them.
The symbology rejected the value. EAN-13 wants 12 digits plus a computed check digit, UPC-A wants 11 plus a check digit, and CODE39 will not take lowercase letters. The error tells you which rule was broken — switch format or fix the value.
You can generate one, and it will scan. It will also collide with whoever the number was actually assigned to. Retail prefixes are issued by GS1; use CODE128 for anything that stays inside your own operation.
Wider bars survive more. Print at the exported size rather than scaling in a layout, keep a clear margin either side, and test with the scanner you will actually use — thermal label printers and office lasers spread ink differently.
Yes, uncheck the option to show text under the bars. Retail packaging normally keeps it, because a cashier needs to key the number when a scan fails.
PNG with black bars on white. Keep it black on white — coloured or inverted barcodes fail on many scanners, which read reflected infrared rather than the colours you see.
No. The barcode is rendered in your browser, so an internal SKU or serial number never leaves the device.
Yes — free, no sign-up, no watermark.