Barcode Generator
A barcode generator turns a number or text into a machine-readable pattern of bars that any barcode scanner can read. Create UPC, EAN-13, Code 128 and 9 other formats — with check digits calculated for you, print-ready labels (a single barcode at true size, a full page of copies, or a batch sheet), and PNG or SVG download, all generated in your browser.
1 Your data
Letters, numbers, spaces and symbols (standard ASCII). The most flexible format — ideal for inventory, shipping and asset labels.
Every line becomes its own barcode in the format selected above. Invalid lines are skipped and listed, so one typo never blocks the whole sheet.
Customize
2 Your barcode
Enter valid data on the left to see your barcode here.
Generated entirely in your browser — nothing you enter is ever sent to a server.
What makes a barcode actually scan
A barcode is only useful if every scanner reads it the first time — and most failures come from details that look fine on screen: a wrong check digit on a retail code, bars printed in red (invisible to red-light laser scanners), inverted colors, or a quiet zone cropped off in a label layout. A misprinted check digit is especially costly, because it only shows up after thousands of labels are already on shelves.
This generator validates as you type: EAN-13, EAN-8, UPC-A and ITF-14 check digits are calculated for you or verified against what you entered, and color choices that scanners struggle with are flagged before you download. Barcodes store data in one dimension, so they suit short identifiers like product numbers and SKUs — for a URL, Wi-Fi login or contact card, a QR Code Generator is the better fit, since a QR code holds far more data and any phone camera can read it.
How to generate a barcode
-
1
Pick a barcode format
Choose Code 128 for general labels, EAN-13 or UPC-A for retail products, or one of the other formats from the dropdown.
-
2
Enter your data
Type the number or text to encode. For EAN and UPC codes, the check digit is added automatically — or validated if you enter it yourself.
-
3
Customize the look
Adjust bar width, height, margin, colors and the text below the bars. The tool warns you if a color choice could stop it from scanning.
-
4
Download or print
Download a PNG or a vector SVG, copy the image, or print — one barcode at its exact size, or a full page of copies. Switch to Batch for a sheet of different labels, then print it or save it as a PDF.
Worked example: the EAN-13 check digit
Enter the 12 digits 590123412345 as an EAN-13 and the tool adds the 13th digit automatically. Here's the GS1 mod-10 calculation it runs — digits in odd positions count once, digits in even positions count three times:
Digits: 5 9 0 1 2 3 4 1 2 3 4 5
Weight: 1 3 1 3 1 3 1 3 1 3 1 3
Odd positions: 5 + 0 + 2 + 4 + 2 + 4 = 17
Even positions: (9 + 1 + 3 + 1 + 3 + 5) × 3 = 66
Total: 17 + 66 = 83
Check digit: (10 − (83 mod 10)) mod 10 = 7
Full EAN-13: 5901234123457
If you type all 13 digits and the last one doesn't match — say 5901234123458 — the tool flags it and tells you the correct digit instead of generating a barcode that scans as the wrong product.
Frequently asked questions
Encodes with JsBarcode, a widely used open-source barcode engine, validates GS1 check digits with the same mod-10 algorithm scanners use, and every format was verified by decoding the generated output with an independent scanner library (ZXing) — not just checked by eye.
Was this tool helpful?
Rate it and leave a comment — takes 10 seconds, and genuinely helps decide what to fix or build next.