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-A, 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. The barcode images are free, with no signup and no watermark, and everything is 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. To choose between formats, the guide to UPC, EAN and Code 128 barcodes compares them and explains where real retail numbers come from. If you're only deciding between the two retail formats, UPC or EAN for your product answers it scenario by scenario.
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.
Common use cases
- Printing inventory and asset labels with Code 128 for SKUs, serial numbers and equipment tags.
- Creating retail product barcodes from EAN-13 or UPC-A numbers issued by GS1.
- Marking shipping cartons with ITF-14 codes for warehouses and distributors.
- Making membership cards, library cards and event tickets that a handheld scanner can read.
- Printing a full sheet of different labels in Batch mode for a stock count or warehouse move.
- Creating gift card and loyalty card barcodes with Code 128 for your own cards, then printing them as a batch sheet.
- Generating free UPC-A barcode images from your own product numbers (the numbers themselves are issued by GS1).
Tips and common mistakes
- Use SVG for print work. A vector SVG stays sharp at any size; if your design software needs a PNG, choose the Print (4×) resolution.
- Keep the quiet zone. When placing a barcode in a label or packaging design, leave clear space on both sides; cropping it is one of the most common reasons a code will not scan.
- Test the printed label, not the screen. Scan a real print with the scanner that will be used, since thermal and inkjet printers can spread thin bars.
- Prefer Code 128 for new internal labels. It is more compact than Code 39 and encodes the full ASCII character set. Use the same SKU on your labels and in the line items of the Invoice Generator so stock and billing match. The barcodes guide compares every format in detail.
Frequently asked questions
For a retail product, use UPC-A if you sell mainly in the US and Canada and EAN-13 everywhere else. Modern checkout scanners read both, and a UPC-A is really an EAN-13 with a leading zero, so the choice mostly follows the number GS1 issues you. For internal inventory, asset tags, shipping and warehouse labels, use Code 128 — it holds letters, numbers and symbols compactly, and every modern scanner reads it. Code 39 suits older industrial and government systems, ITF-14 is for outer shipping cartons, and Codabar is still used by libraries and blood banks.
No. You can generate a barcode image from any valid number here, free. But to sell in retail stores, the number inside a UPC or EAN barcode must be a GTIN issued under a company prefix licensed from GS1; making up your own risks colliding with another company's product. Get your numbers from GS1, then generate the images here. For internal use (stock, assets, events), any number or Code 128 text is fine. How to get a barcode number for your product.
The last digit of an EAN-13, EAN-8, UPC-A or ITF-14 barcode is a check digit, calculated from the other digits with the GS1 mod-10 formula so a scanner can detect a misread. You don't need to calculate it: enter the digits without it and it's added automatically, or enter the full number and this tool tells you whether the check digit is correct before you print it.
Yes: print one barcode at true size, fill a page with copies, or print a batch sheet of different labels. An EAN-13 is nominally 37.29 × 25.93 mm at 100% magnification, and GS1 allows roughly 80%–200% of that for retail. Keep the blank margin (quiet zone) on both sides — scanners need it to find where the barcode starts. The Print button prints at exactly the size shown next to it (for example 105 × 34 mm) rather than scaling to fit the page. For your own artwork, download the SVG: it is vector, so it stays perfectly sharp at any size, while a PNG should be downloaded at High or Print resolution and never stretched unevenly.
The usual causes are low contrast, inverted colors (light bars on a dark background), red or orange bars — which most laser scanners can't see, because they use red light — a quiet zone that's been cropped off, or a barcode printed too small or blurry. This tool warns you about color problems as you pick them. Dark bars on a white background at a generous size are the safest choice.
Yes. You can generate UPC-A barcode images for free, with no signup and no watermark, and the check digit is calculated and added automatically. The tool doesn't issue official UPC numbers, though: those come from GS1, as the GS1 question above explains, so use a GS1-issued number for anything sold in stores.
Code 128 is a common choice because it's compact and holds both letters and numbers, but some systems use Code 39, UPC/EAN or QR codes instead. The right format is whatever the retailer's point-of-sale or gift card system expects, so confirm with your provider first. The barcode only identifies the card; the balance lives in the issuing system. For QR-based e-gift cards, use the QR Code Generator.
Choose Code 128, enter the card number, and keep dark bars on a white background for contrast. Then download the SVG or PNG, or paste one number per line in the Batch tab to print a whole sheet. Test a printed card with a real scanner before making more. The number must also exist in your gift card system, or the card can't be redeemed.
Yes, completely free with no signup and no watermark, including batch label sheets. Every barcode is generated entirely in your browser — nothing you enter is sent to a server or stored.
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.
Reviews
6 ratings- 5 star 67%
- 4 star 33%
- 3 star 0%
- 2 star 0%
- 1 star 0%
-
★★★★★
I was stuck trying to make a barcode and this sorted it out fast. Will definitely use it again.
-
★★★★★
Found this while looking for a barcode and I'm glad I did, it saved me a lot of time.
-
★★★★★
Did exactly what I needed in a couple of minutes. The results were clear and easy to copy.
-
★★★★★
Nice little tool, does one job well. I liked that it runs in the browser and just works.
-
★★★★★
Super quick and easy, no ads everywhere and no account needed which is rare these days.
-
★★★★★
Used this to make a barcode for product labels and it worked straight away, no signup or fuss.
Reviews come from visitors who rated this tool. Every approved review is shown, low ratings included.
Write a review
Used this tool? Rate it and tell others what worked. Takes 10 seconds.