Barcode Generator

Generates linear barcodes in the common retail and logistics symbologies, ready to download. Which symbology you need is decided by what will scan it, and picking the wrong one is the usual reason a barcode fails at a till.

Live demo · real result from this tool

Press Generate to create a result.

Processed on your device — nothing is uploaded.

How to use Barcode Generator

  1. Pick the symbology your scanner expects.
  2. Enter the data — digits only for EAN and UPC, any ASCII for Code 128.
  3. Generate, download, and test-scan a printed copy at real size.
  4. EAN-13 and UPC-A include a check digit; an invalid number produces a barcode that fails validation.
  5. Leave the quiet zone either side, and never stretch the image out of proportion.
  6. Generated in your browser; product data is not transmitted.

The symbologies, and where each belongs

EAN-13 is the global retail standard, thirteen digits including a check digit, and is what a supermarket scanner expects. UPC-A is its twelve-digit North American sibling. Code 128 encodes the full ASCII set at high density and is the workhorse of shipping and warehousing. Code 39 is older and less dense but encodes letters and is still common in industrial and military settings. ITF-14 goes on outer cartons. If you are labelling internal inventory, Code 128 is almost always the right answer.

Retail barcodes need numbers you do not own

An EAN-13 that scans is not an EAN-13 you may use. Retail numbers are allocated through GS1, which issues a company prefix you then extend with your own product codes; the last digit is a check digit computed from the rest. Generating a plausible-looking number and printing it will produce a barcode that scans and collides with somebody else’s product, and retailers will reject it. For internal stock control, where nothing leaves your own system, any scheme you like is fine.

Printing so it actually scans

Keep the quiet zone — the clear margin either side, around ten times the narrow bar width for most symbologies. Do not stretch the image: changing the aspect ratio distorts bar widths, which are the data. Print at a decent resolution; a barcode scaled up from a low-resolution image has fuzzy bar edges that defeat the scanner. Keep it dark on light, avoid glossy laminate that reflects the scanner’s own light back at it, and never print across a fold or a curved seam.

Frequently asked questions

Do I need to type the check digit?
No. For EAN-13, EAN-8, UPC-A and ITF-14 you can leave the last digit off and it is calculated for you, so 590123412345 becomes 5901234123457. If you do type it, it must be correct; a number with a wrong check digit is rejected.
Can I download the barcode as an image?
It comes out as an SVG, a vector file that prints sharp at any size, which keeps the bar widths exact. Download the .svg file or copy the SVG code. If a program only accepts PNG, the SVG to PNG tool converts it at the size you need.
Is my data secure?
Absolutely. This tool runs 100% locally in your browser. Your files are never uploaded to any server.
Can I make my own retail barcode?
Not one you may legitimately sell with. Retail barcode numbers come from GS1, which allocates a company prefix to you; numbers you invent may already belong to another product and retailers will reject them. Internal-only inventory codes are entirely up to you.
Which barcode type should I use?
EAN-13 for retail outside North America, UPC-A inside it, and Code 128 for shipping, warehousing and internal labels — it is dense and handles letters as well as digits. Match whatever your scanner or your customer specifies.
Why will my printed barcode not scan?
Usually the quiet zone is missing, the image has been stretched so the bar widths are wrong, or it has been printed too small or at too low a resolution. Glossy surfaces and printing over a fold also defeat scanners.

Written by the ToolsRift team · Last updated

Pages are drafted with AI assistance and checked by automated tests. How we write and check pages.

Was this tool useful?

Report a problem

Start typing to search every tool.

↑ ↓ to moveEnter to openEsc to close