Barcode Generator
Generate barcodes from any text or numeric input, with support for five widely-used symbologies: Code 128 (general-purpose, any ASCII), EAN-13 (retail products internationally), UPC-A (retail products in North America), Code 39 (industrial and logistics), and ITF / Interleaved 2 of 5 (shipping cartons and warehouse labels). Select a format from the dropdown, enter your data, and the barcode renders instantly as a crisp SVG.
Each format enforces its own validation rules — EAN-13 expects 12 or 13 digits, UPC-A expects 11 or 12, Code 39 accepts uppercase alphanumerics and a handful of special characters, and ITF requires an even number of digits. Code 128 is the default and accepts any ASCII string, making it the best choice when you are not targeting a specific standard.
Once the barcode looks right, download it as a high-resolution PNG with one click. The export renders the SVG to a canvas at 2x resolution for sharp output on print and screen alike. Everything runs client-side — no data is sent to any server.
By The Paper Room Editorial Team — Misc Utilities
Frequently asked questions
Which barcode format should I use?▼
Code 128 is the most versatile — it encodes any ASCII character and is widely supported by scanners. Use EAN-13 or UPC-A for retail product labels (EAN-13 internationally, UPC-A in North America). Code 39 is common in non-retail industries like automotive and defense. ITF is used on outer shipping cartons.
Why does EAN-13 reject my input?▼
EAN-13 requires exactly 12 digits (the 13th check digit is calculated automatically) or 13 digits if you already know the check digit. Letters, spaces, and other characters are not valid for this format.
Can I scan the barcode directly from my screen?▼
Yes. Most modern barcode scanner apps and hardware scanners can read barcodes displayed on a screen. For best results, increase the barcode size and ensure good screen brightness.
Is my data sent to a server?▼
No. The barcode is generated entirely in your browser using the JsBarcode library. Nothing you type is transmitted anywhere.