Free barcode generator
Make Code 128, EAN-13, UPC-A, EAN-8, Code 39 and ITF-14 barcodes with the check digit worked out for you, then download PNG or SVG, one at a time or in bulk.
- 100% free
- Runs in your browser
- No uploads
Letters, digits and symbols. Shipping labels, inventory, asset tags.
Preview
Your barcode will appear here.
Scan a test print before you print a full run.
- Runs on your deviceEvery tool works directly in your browser. No files are uploaded.
- Your privacy mattersYour files never leave your device, so there's nothing for us to store.
- No limitsUse any tool as much as you need. No daily caps, no waiting.
- Completely freeNo signup and no trial to cancel. Ads keep the tools free.
How to make a barcode
- Pick the barcode type. Use the type your shop, warehouse or software asks for. The line under the buttons says what each one holds.
- Type the value. For EAN, UPC and ITF-14 you can leave off the last digit: the check digit is calculated and added. Spaces and dashes copied from packaging are ignored.
- Set the size. Bar width is the width of the narrowest bar in pixels; everything else scales from it. Leave the margin empty to keep the standard clear space.
- Download and test. Save a PNG for screens or an SVG for print, then scan a test print with a phone or the scanner you'll use.
Barcode types compared
| Type | Holds | Used for |
|---|---|---|
| Code 128 | Any ASCII text, up to 80 characters here | Shipping labels, stock and asset tags |
| EAN-13 | 12 digits + check digit | Retail products worldwide, books (ISBN) |
| UPC-A | 11 digits + check digit | Retail products in the US and Canada |
| EAN-8 | 7 digits + check digit | Small packs with no room for EAN-13 |
| Code 39 | A–Z, 0–9, space and - . $ / + % | Older industrial, ID and library systems |
| ITF-14 | 13 digits + check digit | Outer cartons and cases |
Code 128 switches automatically to a compact mode for runs of digits, two digits per symbol, so long numbers make a narrower barcode than in Code 39. To share a web link, a QR code works better: phones read it with the camera app. Use the QR code generator for that.
How the check digit is worked out
EAN, UPC and ITF-14 use the same GS1 rule. Starting from the rightmost digit, multiply the digits alternately by 3 and 1, add the results, and take the number that brings the total up to the next multiple of 10.
For 400638133393: the products from the right are 9, 9, 9, 3, 9, 1, 24, 3, 18, 0, 0 and 4, which add up to 89. The next multiple of 10 is 90, so the check digit is 1 and the full EAN-13 is 4006381333931. Code 39 has an optional check character (mod 43) instead, and Code 128 always includes a mod 103 checksum inside the bars, which scanners verify without showing it.
Printing barcodes that scan
- Size. The standard EAN-13 bar unit is 0.33 mm. At 300 dpi that's 4 pixels, so choose a 4 px bar width and print at 300 dpi for a full-size retail barcode. Shrinking below about 80% of that makes it hard to scan.
- Margin. Keep a clear space on both sides: 10 bar units for Code 128, Code 39 and ITF-14, 11 on the left and 7 on the right for EAN-13, 9 for UPC-A. The default margin does this.
- Colour. Black or dark blue bars on white. Checkout scanners use red light, so red, orange and yellow bars disappear for them.
Frequently asked questions
Can I put these barcodes on products I sell in shops?
The image is yours to use, but for retail the number matters more than the picture. Shops and marketplaces expect EAN and UPC numbers that belong to your company, which you license from GS1, the organisation that runs the system. For your own stock or asset labels, any value in Code 128 or Code 39 is fine.
Which barcode type should I choose?
Use the type the system reading it asks for. Retail products use EAN-13 (or UPC-A in the US and Canada), cartons of products use ITF-14, and warehouse, shipping and asset labels mostly use Code 128 because it holds letters and is compact.
It says my check digit is wrong. What does that mean?
The last digit of an EAN, UPC or ITF-14 number is calculated from the others, so a typo is caught before it reaches a till. If the tool says the last digit should be something else, one of the digits was mistyped. Enter the number without its last digit and the correct check digit is added for you.
PNG or SVG: which should I download for printing labels?
SVG for printing. It's a vector file, so the bars stay perfectly sharp at any size in Word, Illustrator, Canva or label software. PNG is a fixed grid of pixels: fine for screens and for printing at its natural size, but scaling it up blurs the bar edges, which can stop scanners reading it.
How do I make many barcodes at once?
Choose Bulk, then paste a column of values from a spreadsheet, one per line. Lines with problems are listed with the reason and left out; the rest download as one ZIP of PNG or SVG files, each named after its value. Up to 1,000 lines at a time.
Why won't my barcode scan?
The usual causes are a margin that's too narrow, colours with too little contrast, red or yellow bars (red-light scanners can't see them), or a PNG stretched so the bars blur. Print dark bars on white, keep the standard margin clear on both sides, and test-scan a print before a full run.