Barcode Generator
Generate scannable barcodes as SVG or PNG. Check digits calculated for you, proper quiet zones, and nothing uploaded.
Related tools
All QR tools →This tool runs entirely in your browser. Nothing you enter is sent to our servers, so there is nothing for us to store or see.
About the Barcode Generator
Generate a barcode and download it as SVG for print or PNG for a screen. Four symbologies, which between them cover almost everything anyone needs: Code 128 for any text, which is what shipping and internal labels use; EAN-13 and UPC-A for retail products; and Code 39, older and wider, still common in warehouses and on asset tags.
Check digits are calculated rather than trusted. A retail barcode ends in a digit derived from the others, and getting it wrong produces a symbol that scans cleanly as a different product — a failure you cannot see by looking at it. Give twelve digits and the thirteenth is added; give thirteen with the wrong last digit and it is corrected, with a note saying so.
Every symbol is drawn with a proper quiet zone — ten modules of clear space on each side. Cropping that off is the single most common reason a printed barcode refuses to scan, and it is invisible until somebody tries.
SVG is the format to use for anything that will be printed: it stays sharp at any size, and a barcode scaled up from a bitmap gets soft edges that scanners struggle with. Everything is generated in your browser and nothing is uploaded.
How to use the Barcode Generator
-
Choose the type
Code 128 for text or an internal reference. EAN-13 or UPC-A for a retail product. Code 39 when an existing system requires it.
-
Enter the value
For EAN-13 and UPC-A give the digits without the check digit and it is worked out for you.
-
Adjust the size
Module width controls how wide the bars are; height controls how tall. Wider modules survive worse printing.
-
Download
SVG for print and anything that will be resized. PNG for a screen or a system that will not take vector artwork.
Frequently asked questions
Which barcode type should I use?
Code 128 for anything internal — it takes any printable text, packs digits efficiently and is the standard for shipping labels. EAN-13 if you are selling a product at retail outside North America, UPC-A inside it. Code 39 only when something you already use requires it: it is roughly three times wider than Code 128 for the same content.
Can I make up my own EAN-13 number?
You can generate a valid-looking one here, and it will scan. But retail barcode numbers are allocated by GS1, and a made-up number may already belong to another product — which causes real problems at a till. For internal stock control, an invented number is fine. For anything sold in a shop, you need a genuine allocation.
Why will my printed barcode not scan?
Most often the quiet zone: the clear space either side has been cropped off or something has been placed too close. After that, printing too small, printing at low resolution so the bar edges are ragged, or poor contrast — a scanner needs dark bars on a light background, and a coloured or reversed barcode frequently fails.
What is a check digit?
A digit calculated from the others so a scanner can tell a misread from a valid code. In EAN and UPC each digit is weighted alternately by one and three, summed, and the check digit is whatever brings the total to a multiple of ten. If a scan does not add up, the scanner rejects it rather than reporting the wrong product.
Is anything sent to a server?
No. The encoding and the SVG are both produced in your browser, so nothing about your product codes, order numbers or asset tags is transmitted or stored.