You can generate a barcode online for free in under a minute: open the Barcode Generator, choose a barcode type, enter your code, and download the image ready for a label or document. No software to install and no design skills — the precision work of calculating bar widths and check digits is done for you.
The part that needs your judgement is everything around the generator: which barcode standard to use, what number you are legally entitled to put in it, and how to print it so scanners actually read it. A barcode that does not scan is worse than none — it slows the till or the stock check it was meant to speed up. This guide covers those decisions in order.
Generate a Barcode in 3 Steps
- Open the generator. Go to the Barcode Generator in your browser.
- Choose the type and enter your code. Code 128 for internal labels (it accepts letters and numbers); EAN-13 or UPC for retail products, using your assigned product number — see the section below before inventing one.
- Download, print and test. Print at final label size and scan the printed barcode with a phone app before producing a batch. Testing one label costs a minute; reprinting a batch costs real money.
Which Barcode Type Should You Choose?
Barcode types (symbologies) differ in what they can encode and who accepts them. Code 128 is the flexible all-rounder for internal use — stock bins, asset tags, order paperwork — encoding letters, numbers and symbols densely. EAN-13 is the retail standard outside North America: 13 digits, used on products sold in shops across Europe, Asia and most of the world. UPC-A is its 12-digit North American counterpart. Code 39 is an older, simple standard still found in some industrial and library systems.
Just as important is what a barcode is not: it is not a QR code. Barcodes store a short identifier in one dimension; QR codes store much more — URLs, Wi-Fi credentials, menus — in two. For anything a customer should scan with a phone to open a link, use a QR code instead; our guide to creating QR codes online covers that job. The table below summarises the choice.
| Type | Encodes | Use it for |
|---|---|---|
| Code 128 | Letters, numbers, symbols | Internal stock, assets, paperwork |
| EAN-13 | 13 digits | Retail products outside North America |
| UPC-A | 12 digits | Retail products in the USA and Canada |
| Code 39 | Uppercase, numbers, a few symbols | Legacy industrial and library systems |
| QR code (not a barcode) | URLs and longer data | Customer-facing links, menus, payments |
What a barcode can hold: typical data capacity by type (characters, indicative) — hover or tap each bar for details.
The Number Question: You Cannot Just Invent a Retail Barcode
This is the mistake that costs businesses real money. The digits in an EAN or UPC are not random — they are assigned through GS1, the global standards body, which licenses each company a prefix so every product number is unique worldwide. Retailers and marketplaces check these numbers; a made-up EAN on a product listing or a shop shipment can be rejected outright.
For internal use, none of that applies: your stockroom codes are yours to invent, so Code 128 labels with your own numbering (SKU-0001 and up) are perfectly legitimate. The rule is simple — barcodes that leave your business and enter retail systems need GS1-assigned numbers; barcodes that stay inside it do not.
Print Rules That Make Barcodes Scan First Time
Scanners read contrast and proportions, not the image as a picture. Keep bars black (or very dark) on white or a light background — never reverse a barcode to white-on-dark unless your scanner is specified for it, and never print bars in red, which many scanners literally cannot see. Respect the quiet zone: the blank margin around the barcode is part of the symbol, so a label design that crowds it with borders or text causes failures.
Size matters too: shrinking a barcode below its standard minimum to fit a small label is the classic cause of till-side frustration. If space is tight, shorten the data (a short internal code instead of a long one) rather than squeezing the symbol. Finally, print quality: a fuzzy inkjet edge reads worse than a crisp one, so for production labels use the highest print quality setting and test-scan from the actual printer.
Barcodes for Small Online Sellers
If you sell through your own online store, barcodes still earn their keep behind the scenes: pick-and-pack checks, returns handling and stock counts all speed up once each product and bin location carries a scannable code. Pair the barcode with the human-readable product name and SKU printed as text under it, so staff can work even when a scanner is unavailable. Our WooCommerce product upload template in the shop is built for organising exactly this product data — SKUs included — before it reaches your store, and more utilities are on the free tools page.
Setting up product data for a new store? The Asad Webs blog covers store costs, platforms and product workflows for small sellers in the USA, UAE, Saudi Arabia and Spain.
Frequently Asked Questions
Is the barcode generator free?
Yes. The Barcode Generator is free and runs in your browser — enter a code, choose the type, and download the image.
Can I make up my own EAN barcode number?
Not for retail. EAN and UPC numbers are assigned by GS1 so they are globally unique, and retailers verify them. For internal stock labels, invent your own codes freely with Code 128.
Why won't my printed barcode scan?
The usual causes are low contrast (coloured or reversed bars), a missing quiet-zone margin, printing below the minimum size, or a fuzzy print. Reprint black-on-white at standard size and test again.
What is the difference between a barcode and a QR code?
A barcode stores a short ID in parallel lines and is read by scanners at tills and in warehouses. A QR code stores much more — including URLs — and is designed for phone cameras.
What size should I print a barcode?
Keep retail barcodes at their standard size or larger, and never shrink below roughly 80% of standard. For internal labels, test-scan a sample at your intended size before printing a batch.

Be the first to share a useful question or thought.