Web Development
Barcode Generator
Generate a linear barcode (CODE128, EAN-13, UPC, CODE39, and others) from text or digits.
A linear barcode encodes data as bars of varying width, read by a single laser beam in a scanner. Unlike a QR code, most formats are limited to digits or ASCII text, but in exchange they're readable by virtually any retail scanner.
How to use it
- Pick a format (CODE128, EAN-13, UPC, CODE39, and more) and enter text or digits — the barcode is generated instantly.
- For fixed-length formats (EAN-13, UPC-A), the check digit is calculated automatically.
- Download the finished image to print on a label or paste into a document.
Common uses
- Creating a barcode for a homemade product or internal warehouse inventory.
- Printing test barcodes to check a scanner or POS system before going live.
- Generating CODE128 for internal identifiers (order numbers, batch numbers) that don't need to meet a strict retail standard.
Things to keep in mind
EAN-13 and UPC-A are official retail standards — selling a product in stores requires a real, registered GTIN, not an arbitrarily generated one.
No common linear barcode format supports non-Latin scripts or other Unicode characters directly — use a QR code for that kind of text.
Article about this tool: Barcodes: how Code 128 differs from EAN-13
Frequently asked questions
Why does it say my data doesn't fit the selected format?
Each barcode format has its own constraints — for example EAN-13 requires exactly 12 or 13 digits and CODE39 only supports a limited character set — so the data must match the chosen format's rules.
Which format should I use for arbitrary text?
CODE128 supports the full ASCII character set, including letters, digits and symbols, making it the most flexible choice when your data isn't purely numeric.
Does generating a barcode upload my data?
No, the barcode image is rendered entirely in your browser with the jsbarcode library — nothing is sent to a server.
How is UPC-A different from EAN-13?
UPC-A is a 12-digit format historically used in North America, while EAN-13 is a 13-digit international standard; UPC-A is actually a subset of EAN-13 (prepending a zero turns it into a valid EAN-13), so most scanners recognize both formats without any difference.
Can non-Latin scripts or other Unicode characters be encoded in a barcode?
Most common barcode formats, like EAN-13 or UPC-A, only support digits, and Code 128 is limited to the ASCII character set — none of them support non-Latin scripts or other Unicode characters directly, so you'd need a QR code for that kind of text.