Quick answer. Pick the barcode type, type the value and download a PNG or SVG. For EAN-13, UPC-A and ITF-14 we add or check the last digit for you. For a list, paste one value per line (or choose a CSV) and download a ZIP. Nothing is uploaded.
How to generate a barcode
- Pick the type. Code 128 for SKUs, EAN-13 or UPC-A for a retail number you already have, Code 39 for older systems, ITF-14 for cartons.
- Type the value. The preview updates as you type. If the value cannot be encoded, you see why (wrong length, a character the type does not allow, or a wrong check digit) and nothing is drawn.
- Download. PNG for documents and label apps, SVG for print. Turn the number under the bars on or off, and set the bar height, width and colours.
- Many codes? Use the bulk box: paste a list or choose a CSV and download a ZIP with one file per code.
Which format should I use?
| Type | Best for | What it accepts |
|---|---|---|
| Code 128 | Internal SKUs, bins, parcels, shipping labels | Letters, digits, spaces and punctuation (printable ASCII) |
| EAN-13 | Retail products outside North America | 12 digits + check digit, from your GS1 prefix |
| UPC-A | Retail products in the US and Canada | 11 digits + check digit, from your GS1 prefix |
| Code 39 | Older scanners and systems that ask for it | A-Z, 0-9, space and - . $ / + % |
| ITF-14 | Outer cartons and cases | 13 digits + check digit (a GTIN-14) |
Retail numbers are not made up. An EAN-13 or UPC-A that goes on a product sold in shops must start with a GS1 company prefix that belongs to you or to your brand. GS1 (or your supplier) issues those numbers; this page does not. A random number may already belong to another company’s product. For your own stock, use Code 128 with your own SKU instead.
Check digits
EAN-13, UPC-A and ITF-14 end with a check digit that scanners use to catch typos. It is worked out with the standard GS1 method: starting from the digit next to the check digit and moving left, multiply the digits by 3, 1, 3, 1…, add them up, and the check digit is whatever brings the total up to the next multiple of 10.
Example: for 590123412345 the weighted total is 93, so the check digit is 7 and the full EAN-13 is 5901234123457. If you type all 13 digits and the last one is wrong, the tool says so instead of drawing it, so a typo never ends up on a pack of labels.
Privacy
SKUs, product numbers and CSV files stay in this browser tab. Barcodes are drawn by JsBarcode, an open-source library hosted on this site. Nothing is saved in your browser or put in the address bar, and Microsoft Clarity session recording is switched off on this page.
Need a code for a web address, Wi-Fi details or a longer message? Use the QR Code Generator. To size label artwork, try the Image Resizer.
Frequently asked questions
Is this barcode generator free?
Yes. No account, no watermark on the file and no limit on single barcodes. A bulk batch is limited to 500 rows only so your browser stays stable.
Is my list uploaded?
No. Barcodes are drawn in this browser tab. Values and CSV files are not sent anywhere, not saved and not put in the address bar.
Do you calculate the EAN-13 or UPC check digit?
Yes. Enter 12 digits for EAN-13 (11 for UPC-A, 13 for ITF-14) and we add the check digit. Enter the full number and we check it; a wrong last digit is shown as an error and nothing is drawn.
Can I generate barcodes in bulk from a CSV?
Yes. Paste one code per line or choose a CSV file with the code in the first column and an optional file name in the second, then download a ZIP of PNG or SVG files. Bad rows are listed with the reason and skipped, never drawn.
Can I use these barcodes on products sold in shops?
The symbol will scan if the number is valid, but retail EAN and UPC numbers must come from a GS1 company prefix you (or your supplier) already have. We do not issue or sell numbers, and you should not make one up: it may belong to another company.
What is the difference between a barcode and a QR code?
Barcodes here are linear codes for SKUs and product numbers that a normal laser scanner reads. For a web address or a longer piece of text, use the QR Code Generator.
Which format should I pick for a shop SKU?
Code 128 is usually the best choice for internal stock, bin and parcel labels, because it takes letters and digits and stays compact. Use EAN-13 or UPC-A only when you already have that retail number.
