Free barcode generator

Free barcode generator

A barcode generator turns typed text or a product number into a scannable barcode. Pick a symbology (Code 128 for labels, EAN-13 or UPC-A for retail, Code 39 for older systems), type your value, and this free tool renders the barcode on our server as you type. Download a print-ready PNG or SVG. No signup.

Barcode preview

Keep the white margins and test-scan a printed copy before a batch.

How it works

Three steps.

1
Pick a barcode type

Code 128 for shipping, asset, and internal labels. EAN-13 or UPC-A for products sold in stores. Code 39 for older systems that already expect it.

2
Type your value

Enter the text or number to encode. For EAN-13 and UPC-A the tool adds the check digit if you leave it off, or validates it if you type the full number.

3
Download PNG or SVG

The barcode redraws live. Download a PNG for quick use or an SVG to resize without blurring. Keep the white quiet zone and test-scan before you print a batch.

Which barcode type should you use?

Most people should pick Code 128. It encodes any ASCII text (letters, digits, symbols) in a compact code, which is why it runs shipping labels, asset tags, warehouse bins, and internal inventory. Code 39 is older and less dense. It holds uppercase letters, digits, and a few symbols (- . space $ / + %) and takes more width for the same data, so use it when a legacy scanner or system already expects it. EAN-13 and UPC-A are the retail barcodes you see on packaged goods. EAN-13 is the global standard (13 digits) and UPC-A is the North American version (12 digits). Reach for those two only when you are putting a product on a shelf and you already have a real product number to encode.

This does not give you a valid retail UPC

Here is the part most barcode sites skip. This tool encodes whatever number you type. It does not assign you a number that retailers and their systems will accept. A barcode that scans and looks up correctly in a store has to trace back to a GS1 company prefix, the registration that makes your product number unique worldwide. You buy that from GS1 (gs1.org), then build your EAN-13 or UPC-A from the prefix they issue. So generate here to design packaging, test your printer, or mock up a label. Buy a real GS1 number before you list a product in a store or on a marketplace that checks it.

Check digits, in plain terms

The last digit of an EAN-13 or UPC-A is a check digit, a number calculated from the others so a scanner can catch a misread. You do not have to work it out. Type the 12 base digits for an EAN-13 (or 11 for a UPC-A) and the tool appends the correct final digit. Type the full 13 (or 12) and it validates the digit you entered and flags it if the math does not match. Code 128 and Code 39 do not show a check digit to you; Code 128 uses one internally and the encoder handles it.

Printing a barcode that actually scans

A barcode is only useful if a scanner reads it on the first pass. Four things matter. Keep the quiet zone, the empty white margin on the left and right of the bars, at least a few millimeters, or the reader cannot tell where the code starts. Keep the contrast high: dark bars on a light background, ideally black on white, never on a dark or busy color. Do not shrink it too far. A retail EAN or UPC is about 3cm wide at full size, and going much smaller is the top reason a code will not read; internal labels need enough width for the scanner you use. Download the SVG for anything you plan to resize, because it stays sharp at any size while a stretched PNG goes fuzzy. Then test-scan the printed copy with a real scanner or a phone app before you run the whole batch.

Want a code you can edit or track?

Barcodes are static. Once printed, the value is fixed and there is no scan count. If you need a code you can repoint later or measure scans on, a dynamic QR code does both. It is part of the Whooshly toolkit (branded short links, QR codes, a UTM builder, and digital cards) for a one-time $49, no subscription.

See dynamic QR codes

Frequently asked questions

Is this barcode generator free?

Yes. Type a value, choose Code 128, Code 39, EAN-13, or UPC-A, and download a PNG or SVG. No signup, no watermark, and no scan limit. The image is static, so the barcode never expires.

Can I use these barcodes to sell products in a store?

Not on their own. A barcode that scans and looks up correctly at retail has to come from a product number registered under a GS1 company prefix, which you buy at gs1.org. This tool encodes whatever number you type, so it is fine for design, printer testing, and internal use, but it does not make you a valid retail UPC or EAN.

What is the difference between Code 128 and Code 39?

Code 128 encodes any ASCII character (letters, digits, symbols) and packs it into a compact code, so it suits most shipping, asset, and inventory labels. Code 39 is older, holds uppercase letters, digits, and a few symbols (- . space $ / + %), and needs more width for the same data. Pick Code 39 only when a legacy system expects it.

Do EAN-13 and UPC-A calculate the check digit for me?

Yes. Type the 12 base digits for an EAN-13 (or 11 for a UPC-A) and the tool appends the correct check digit. Type the full number and it validates the last digit and tells you if it is wrong.

Can I change where a barcode points or track its scans?

No. These barcodes are static: the value is baked into the image, so you cannot edit it or count scans after printing. Barcodes are not built for that. If you want a code you can update or measure, use a dynamic QR code instead.

Tap. Whoosh. You're there.

Buy Whooshly once and own your campaign links for good.

Get Whooshly – $49