Free Barcode Generator — EAN, UPC & Code 128
Create a real barcode in seconds — EAN-13, UPC-A, Code 128 or Code 39. Live preview, download as PNG or SVG, free forever, no sign-up, nothing uploaded.
✦ Free forever • No sign-up • Real standard barcodes • PNG + SVG download
▮Code 128 Barcode Generator
The best choice for labels, inventory, tracking and shipping — Code 128 holds any letters and numbers, and almost every modern scanner reads it.
Rule: Any printable text (letters, numbers and symbols).
Example:
▮EAN-13 Barcode Generator
The 13-digit number on most products sold in shops outside North America. The generator checks the number before drawing it.
Rule: Exactly 13 digits, and the last digit must be the correct check digit worked out from the first 12.
Example:
▮UPC-A Barcode Generator
The 12-digit number on products sold in the USA and Canada. The generator checks the number before drawing it.
Rule: Exactly 12 digits, and the last digit must be the correct check digit worked out from the first 11.
Example:
▮Code 39 Barcode Generator
The simplest choice for plain labels — capital letters, numbers and a few symbols. Lowercase letters are changed to capitals automatically.
Rule: Capital letters A–Z, numbers 0–9, a space, and - . $ / + % only. Any other character is refused.
Example:
How to create a barcode
Pick a barcode type above, type your text or number, and press Generate barcode. The barcode appears instantly as a live preview. Use the controls to change the bar width, the height and whether the human-readable text shows under the barcode. Then press Download PNG for labels and documents, or Download SVG for design work and print shops — SVG stays sharp at any size. Not sure which type you need? Read our barcode types guide — EAN-13 vs UPC-A vs Code 128 vs Code 39, compared side by side.
Why use this barcode generator?
✓ Real standard barcodes
EAN-13, UPC-A, Code 128 and Code 39, drawn to the usual proportions with the standard JsBarcode library — not a picture of bars, a real encoding a scanner can read.
✓ Wrong numbers are refused
5901234123457 is a valid EAN-13 (check digit 7); 5901234123458 is refused, because the correct check digit is 7, not 8. You never print a barcode that will not scan.
✓ Real PNG and SVG downloads
Both buttons make a real file in your browser — PNG for labels and documents, SVG for design work and print shops. No screenshot, no watermark.
✓ Live preview, your size
Change the bar width, the height and the text under the barcode, and the preview updates at once — what you see is what you download.
✓ Free forever
No account, no sign-up, no limits, no fees. Create as many barcodes as you like, on any device.
✓ Nothing is uploaded
Your text never leaves your browser. Every barcode is drawn on your own device — nothing is sent to any server.
Create your barcode, free
A barcode generator turns text or numbers into a barcode — a pattern of black bars and spaces that a scanner can read. This free barcode generator creates EAN-13, UPC-A, Code 128 and Code 39 barcodes in your browser, with a live preview and a free PNG or SVG download. EAN-13 is the 13-digit number on most products sold in shops outside North America; UPC-A is the 12-digit number on products sold in the USA and Canada; Code 128 holds any letters and numbers and is the best choice for labels, inventory, tracking and shipping; Code 39 holds capital letters, numbers and a few symbols and is the simplest choice for plain labels.
Every barcode is checked before it is drawn. An EAN-13 number must have exactly 13 digits, and its last digit must be the correct check digit — 5901234123457 is valid (check digit 7), but 5901234123458 is refused, because the correct check digit is 7, not 8. A UPC-A number must have exactly 12 digits with the right check digit — 036000291452 is valid (check digit 2). Code 39 accepts only capital letters, numbers, a space and - . $ / + %; lowercase is changed to capitals automatically, and any other character, such as !, is refused with a clear message. Code 128 accepts any printable text — Hello123 renders straight away. Nothing is uploaded: every barcode is drawn in your browser, and the PNG and SVG downloads are real files made on your own device. Before printing at scale, test one printed copy with a real scanner.
Not sure which barcode type to use? Read the barcode types guide -
Frequently asked questions
What is a barcode generator?
A barcode generator turns text or numbers into a barcode — a pattern of black bars and spaces that a scanner can read. Type your text or product number, pick a barcode type (EAN-13, UPC-A, Code 128 or Code 39), and this free barcode generator draws the barcode instantly in your browser. You can download it as a PNG or SVG and print it on a label, a product or a document.
Which barcode type should I use?
Use EAN-13 for products sold in shops outside North America (13 digits, the number on most products worldwide). Use UPC-A for products sold in the USA and Canada (12 digits). Use Code 128 for anything else — labels, inventory, tracking and shipping — because it can hold any letters and numbers. Use Code 39 for simple labels with capital letters, numbers and a few symbols. The full comparison is on our barcode types guide.
Is this barcode generator really free?
Yes. Barcode Generator is 100% free. There is no account, no sign-up, no limit and no fee — create as many barcodes as you like, on any device. Your text never leaves your browser.
How do I check if my EAN-13 number is valid?
An EAN-13 number has exactly 13 digits, and the last digit is a check digit worked out from the first 12. This generator checks it for you: for example, 5901234123457 is valid (its check digit is 7), but 5901234123458 is refused, because the correct check digit for those first 12 digits is 7, not 8. A number with only 12 digits is refused too — EAN-13 always needs 13 digits.
How do I check if my UPC-A number is valid?
A UPC-A number has exactly 12 digits, and the last digit is a check digit worked out from the first 11. For example, 036000291452 is valid (its check digit is 2). If the check digit is wrong, or the number is not 12 digits long, the generator refuses it and tells you why, so you never print a barcode that will not scan.
What characters can Code 39 hold?
Code 39 holds capital letters A to Z, numbers 0 to 9, a space, and the symbols - . $ / + %. Lowercase letters are changed to capitals automatically — type hello-123 and you get HELLO-123. Any other character, such as ! or @, is refused with a clear message, because Code 39 cannot encode it.
Can I download the barcode as a PNG or SVG?
Yes — every barcode type has Download PNG and Download SVG buttons. PNG is best for printing on labels and documents; SVG stays sharp at any size and is best for design work and print shops. Both files are made in your browser, and the download is a real file, not a screenshot.
Will my barcode scan?
The barcode is a standard encoding of the text or number you typed, drawn to the usual proportions. Before printing hundreds of labels, test one printed copy with a real scanner or a phone barcode-scanner app. Small sizes, low printer quality and glossy paper can all make a barcode hard to read, even when the encoding is correct.
Share this tool
Found this tool useful? Share it with someone who needs it: #BarcodeGenerator #FreeBarcodeGenerator #BarcodeMaker #EAN13 #UPCBarcode #Code128 #FreeTools