A barcode generator turns a number or piece of text into a pattern of bars a scanner can read — and you can generate one free, in your browser, in about two minutes. No signup, no watermark, nothing to install. The barcode image costs nothing; what costs money, sometimes, is the number behind it.
The part most people skip is choosing the right symbology before they generate anything. A retail checkout needs a GS1 format like UPC-A or EAN-13. A warehouse shelf label just needs Code 128 and your own SKU. Pick the wrong one and the barcode can be perfect — and still useless.
This guide walks through the whole job: picking the format, generating the barcode step by step with three worked examples, exporting it in the right file format, and printing labels that scan the first time.
Which barcode type do you need?
Start from who will scan it, not from the format list. Anything that passes through a retail checkout or a marketplace listing needs a GS1 number in a GS1 format. Anything you scan yourself — stock, assets, tickets — can use whatever fits the data. That one question settles most decisions.
| Your job | Use this | Why |
|---|---|---|
| Selling in US and Canadian stores | UPC-A | The retail standard there; 12 digits, GS1 number required |
| Selling anywhere else, or worldwide | EAN-13 | The retail standard almost everywhere else; 13 digits |
| Small packaging with little label space | EAN-8 or UPC-E | 8-digit versions of the retail formats |
| Warehouse, stock, assets, tickets | Code 128 | Letters, numbers and symbols; your own numbering, no GS1 needed |
| Shipping cartons and outer cases | ITF-14 | 14-digit code built from the product GTIN |
If you sell in stores, the number comes first and the format follows it. A UPC-A is simply an EAN-13 whose first digit is 0, so the same product number prints in either format. The decision that actually matters is whether you need a GS1 number at all — and our guide to getting a barcode number for your product explains how to license one, and when you can skip GS1 entirely.
For everything internal, Code 128 is the default answer. It encodes the full ASCII set — letters, digits and symbols — so a SKU like WH-A1042-BLU-L goes in exactly as written, and every modern scanner reads it. If you are torn between the two retail formats, the UPC vs EAN comparison walks through it scenario by scenario.
Generate a barcode in 4 steps
Once the format is decided, generation takes minutes. Here is the whole workflow using a free barcode generator — the same steps work for a single label or a full batch sheet.
- Pick the format. Choose Code 128 for general labels, UPC-A or EAN-13 for retail products, or ITF-14 for cartons. The format decides which characters you can encode and whether a check digit is added.
- Enter your data. Type the number or text to encode. For EAN, UPC and ITF-14 codes, enter the digits without the check digit and it is calculated for you — or enter the full number and the tool verifies the check digit before generating anything.
- Set the size and look. Adjust bar width, height and the quiet zone — the blank margin scanners need to find the start of the code — and keep dark bars on a white background. Leave the text below the bars switched on for retail labels, so a cashier can type the number in if a scan fails.
- Download or print. Export an SVG for print artwork, or a high-resolution PNG for documents. Print one test label at actual size and scan it before the full run.
That is the whole job for a single barcode. The three examples below show what each step looks like with real data — one for a warehouse, one for a shop shelf, and one for a shipping carton.
Worked example 1: a warehouse SKU in Code 128
Say you label storage bins in a small warehouse. Each bin holds one product variant, and the label needs the SKU a picker can scan from a metre away. The SKU is WH-A1042-BLU-L: warehouse, product 1042, blue, large.
Choose Code 128, because the SKU mixes letters, digits and hyphens — retail formats only encode digits, so they cannot hold it. Type the SKU exactly as written. Code 128 adds its own check character internally, so there is nothing for you to calculate.
Set the height generously — tall bars scan at an angle and from further away — and keep the quiet zone intact. Download the SVG if the label goes into packaging artwork, or a high-resolution PNG if it goes into a label template. Print one, scan it with the handheld scanner your pickers actually use, and check the scanned text matches the SKU character for character.
The same pattern works for asset tags, library cards and event tickets: the data is yours, the format is Code 128, and the only rule is that the scanner at the other end reads Code 128 — which every modern scanner does.
Worked example 2: a retail product in UPC-A
Now a product going into US stores. You have licensed a GTIN from GS1 and the first 11 digits are 08523914239. A UPC-A needs 12 digits, and the 12th is a check digit calculated from the other eleven with the GS1 mod-10 formula.
You do not have to calculate it by hand — type the 11 digits into the generator and the check digit is added automatically. But it is worth seeing the maths once, because it explains what the check digit catches. Working from the right, alternate digits count triple:
Digits (11): 0 8 5 2 3 9 1 4 2 3 9 Odd positions from the right × 3: 9 + 2 + 1 + 3 + 5 + 0 = 20 → 60 Even positions × 1: 3 + 4 + 9 + 2 + 8 = 26 Total: 60 + 26 = 86 Check digit: (10 − 6) = 4 Full UPC-A: 085239142394
The finished number is 085239142394, and the generator produces the matching barcode image. If you type all 12 digits and the last one is wrong, the tool flags it instead of generating a barcode that scans as the wrong product — which is exactly the mistake the check digit exists to catch.
GS1 publishes a free check digit calculator if you want to verify a number independently before you print. And if you have not licensed the number yet, read how to get a barcode number for your product first — the image is free, but the number behind a retail barcode is licensed from GS1.
Worked example 3: a shipping carton in ITF-14
The third job is a carton holding 12 units of a product whose GTIN-13 is 6291042156785. Warehouses do not scan the retail barcode on a sealed carton — they scan an ITF-14, a 14-digit code built from the product number plus a packaging indicator.
The indicator digit marks the packaging level: 1 for the first level above the single unit, higher digits for other pack configurations, and 9 is reserved for variable-measure items. Take the indicator 1, then the first 12 digits of the GTIN-13, and calculate a fresh check digit over those 13 digits.
Packaging indicator: 1 First 12 digits of the GTIN-13: 629104215678 13 digits before the check digit: 1629104215678 Mod-10 check digit: 2 Full ITF-14: 16291042156782
Generate it in the ITF-14 format, print it on the carton label, and the warehouse system reads the case as twelve units of the same product. Notice what changed and what did not: the product number stayed the same, only the packaging level and the check digit changed.
That is the whole idea behind the GTIN family — one product, one number, different codes for each packaging level. The same GTIN-13 prints as an EAN-13 on the unit, and with an indicator digit it becomes the ITF-14 on the carton.
Export: PNG or SVG?
The file format matters more than most people expect, because a barcode is a precise pattern of widths. Stretch it unevenly and the bars stop matching the numbers. The rule is simple: SVG for anything printed, high-resolution PNG for anything on screen.
- SVG is vector, so it stays sharp at any size. It is the right choice for label artwork, packaging and print shops — download it whenever the barcode goes into design software.
- PNG is a fixed grid of pixels. It is fine for documents, emails and web pages, but download it at High or Print resolution, place it at 100% scale, and never stretch it wider than it is tall.
A barcode generator that runs in your browser can offer both, because the image is drawn locally — nothing you type is sent to a server. If a tool only offers a low-resolution PNG, the barcode can still scan on screen and fail in print, so the export format is worth checking before you commit to a design.
Print labels that scan the first time
Printing is where most barcodes fail, and the failures are almost always avoidable. The workflow that works: print one label, scan it with the scanner that will actually be used, and only then print the run.
- Print at actual size (100%). Never use "fit to page" — scaling changes the bar widths, and the scanner reads a different pattern than the one you generated.
- Scan the test label twice. Once with the real scanner, once with a phone scanning app. Confirm the scanned value matches exactly what you intended — not just that it beeps.
- Check it at arm's length and at an angle, the way it will actually be scanned. A barcode that only reads dead straight will fail at a checkout.
- Keep the quiet zone. The blank margins on both sides are part of the barcode, not decoration — a label design that crops the white edges is one of the most common reasons a correct barcode will not scan.
- Print dark bars on a light background. Red, orange and yellow bars disappear under the red light most laser scanners use, and inverted colours — light bars on dark — do not scan at all.
For the full sizing reference, including the standard EAN-13 dimensions and the magnification range GS1 allows, the complete guide to UPC, EAN and Code 128 has the numbers. The workflow above is what you do; the guide is where you look up the exact measurements.
A whole sheet of different labels
One barcode at a time is fine for a single product. A stock count, a warehouse move or a shelf reset needs dozens of different labels — and that is what batch mode is for. Paste one value per line, up to 200, and every line becomes its own barcode in the format you picked.
Check digits are calculated per line, and any invalid line is skipped and listed instead of blocking the whole sheet — so one typo in row 47 does not ruin the other 199 labels. Choose two, three or four labels per row, print the sheet, or save it as a PDF from the print dialog.
Before a big batch, generate one label from the list first and scan it. If the format, size and data are right for one label, they are right for the sheet. That single test saves more reprints than any other habit in this guide.
7 mistakes that make barcodes unscannable
Most unscannable barcodes are not broken — they were generated right and then ruined in one of seven familiar ways. Check for these before you blame the scanner.
- Wrong format for the job — a Code 128 on a retail product, or a UPC-A holding text it cannot encode. Match the format to who scans it.
- A made-up retail number — a GTIN invented at random can collide with a real product's number, and marketplaces verify against the GS1 registry. License the number; generate the image free.
- Cropped quiet zone — the blank margins are part of the barcode, not decoration. Keep them.
- Red or orange bars — invisible to red-light laser scanners. Use black or a dark colour on white.
- Printed too small — bars below the scanner's resolution blur together. Print at actual size and test.
- Stretched PNG — resizing a raster image unevenly changes the bar widths. Use SVG for print, or place a high-resolution PNG at 100% scale.
- Never test-scanned — the first scan should never happen at the checkout or the warehouse door. One test label costs nothing.
If a barcode will not scan and none of these apply, check the data itself: a single wrong digit, a missing check digit, or a lower-case letter in a format that only accepts capitals.
The generator flags most of these as you type — which is why generating in a tool that validates beats drawing bars by hand. A barcode is only as good as the data encoded in it, and the scanner can only read what is actually printed.
FAQ
Is there a free barcode generator?
Yes. You can generate barcode images free in your browser with no signup and no watermark — UPC-A, EAN-13, Code 128, ITF-14 and more, using a free browser-based barcode tool. What is not free is the number behind a retail barcode: a GTIN is licensed from GS1, while the image itself costs nothing.
Which barcode format should I use for my product?
For retail in the US and Canada, UPC-A; almost everywhere else, EAN-13. For anything you scan yourself — stock, assets, tickets — Code 128 with your own numbering. For shipping cartons, ITF-14. The full comparison of formats is in the Universal Product Code reference and our own barcode guide.
Do I need GS1 to generate a barcode?
Only for the number, and only for retail. Generating the image is free. Internal labels can use Code 128 with your own numbers and no GS1 membership. For retail, license the GTIN first — how to get a barcode number walks through the single-GTIN and company-prefix options.
What is the difference between a barcode and a QR code?
A barcode stores a short identifier in one line of bars — a product number or SKU — and is read by retail and warehouse scanners. A QR code stores far more data in a two-dimensional pattern, including URLs, and is read by phone cameras. Use a barcode where a scanner will read it; use a QR code when a person with a phone will.
Why won't my barcode scan?
The usual causes are low contrast, red or orange bars, a cropped quiet zone, a barcode printed too small, or a stretched PNG. Print one test label at actual size, scan it with the real scanner, and check the scanned value matches exactly what you intended.
Can I print a whole sheet of different barcodes at once?
Yes — paste one value per line in batch mode and every line becomes its own barcode, with check digits calculated per line. Print the sheet at actual size, or save it as a PDF from the print dialog.