Barcode Generator

100% private — runs on your device, never uploaded. Works offline once loaded.

Type a number or some text, pick a type, and take away a barcode that scans. Twenty-one of them are here — EAN-13 and UPC-A for retail products, Code 128 for shipping and asset labels, ITF-14 for outer cartons, Code 39 for older inventory systems — with the GS1 check digit worked out for you and a straight answer when a number cannot be encoded. Make one, or paste a column out of your spreadsheet and get hundreds back in a ZIP. PNG comes out at print resolution, SVG comes out with no fixed size at all, and nothing you type leaves your browser.

Turning a number — or a word — into a barcode

A linear barcode is not a picture of a number, it is the number rewritten as bar widths. Each symbology has its own rules for that translation, which is why the same twelve digits look completely different as EAN-13, Code 128 and Code 39, and why some of them refuse letters outright. If what you have is a plain number for internal use — a bin, a shelf, an asset, an IMEI — Code 128 will take it, and so will Code 39 if something in your setup is older. If what you have is a product going on a shop shelf, the format is decided for you by where it is being sold.

Making hundreds at once

Switch to “A batch” and the same tool takes a whole list: paste a column out of Excel or Google Sheets, one value per line, and every barcode comes back in one ZIP, each file named after the value it encodes. There is also a numbered run — a prefix, a starting number and a count — which is how most people end up labelling four hundred storage bins without typing four hundred numbers. Anything the chosen type cannot encode is listed by name in the summary, because a batch that silently produced 380 files out of 400 would be worse than useless. If that is the job you came for, the bulk barcode generator opens straight into it.

Printing one that actually scans

Most barcodes that fail at the scanner failed at the printer. Three things account for nearly all of it, and all three are settings on this page.

  • Resolution. A barcode drawn for the screen and then enlarged by a printer driver gets soft edges, and soft edges are what a scanner reads as the wrong width. Pick the PNG quality that matches your printer — 203 dpi for a thermal label printer, 300 dpi for an office laser — or use the SVG, which has no resolution at all and is re-rendered sharp at whatever size it is placed.
  • The quiet zone. The blank margin either side is part of the symbol, not decoration around it: it is how the scanner knows where the code begins. Leave at least ten times the width of your narrowest bar, and never crop right up to the first bar.
  • Narrow bar width. This is the real size control. Below about 0.25 mm the ink spread of an ordinary printer starts closing the gaps between bars. If you are printing on anything absorbent — cardboard especially — go wider rather than smaller.
  • Contrast. Black bars on white. Red bars are invisible to older red-laser scanners, and a coloured background cuts the contrast a camera scanner relies on. The colour controls are here for design mock-ups, not for production labels.

Do you need to buy a barcode number?

This is the question behind most searches for a free barcode generator, and the honest answer has two halves. Making the symbol is free — it is arithmetic, there is nothing to license, and nothing here is watermarked or limited. Being allowed to use a particular number on a product for sale is a different matter: the leading digits of an EAN-13 or UPC-A identify a company that licensed that prefix from GS1, so a number you typed yourself may already belong to someone else’s product.

For anything internal — asset tags, stock bins, library copies, warehouse locations, event tickets, your own labelling system — invent whatever numbers you like, and use Code 128 rather than a retail format so nobody mistakes them for GTINs. For a product going into a shop or onto a major marketplace, you need a GTIN issued to you. Amazon in particular validates GTINs against the GS1 registry for new listings, so numbers bought cheaply from barcode resellers are frequently rejected; a GTIN exemption is the alternative if your product genuinely does not need one.

Check digits, and “why won’t my barcode scan”

EAN-13, EAN-8, UPC-A and ITF-14 all end in a check digit that is arithmetic on the digits before it. It exists so a scanner can catch its own misreads rather than passing on a wrong product code. Type a number one digit short here and that digit is worked out for you; type the whole thing and it is verified, and if it does not add up you are told the digit it should have been instead of a bare “invalid”. That single message resolves a surprising share of unscannable barcodes, usually a transposed pair of digits somewhere in the middle. The check digit calculator is the same tool pointed at that job.

What this is not: QR codes and 2D codes

Everything here is a 1D symbology — parallel bars read left to right, holding somewhere between a few and a few dozen characters. A URL, a Wi-Fi password or a paragraph of text needs a 2D code instead, where data is stored in a grid: use the QR code generator for those, or the Wi-Fi QR code tool for network details. To read a code you already have rather than make one, the scanner uses your camera.

Frequently asked questions

Is it really free, and is there a watermark?

Yes, and no. No sign-up, no daily limit, no watermark and nothing to pay. The barcode is drawn by your own browser, so the number you type never reaches a server of ours.

Which type should I pick?

Code 128 for anything internal — asset tags, shipping labels, warehouse bins — because it takes letters as well as numbers. EAN-13 for a retail product outside North America, UPC-A inside it, and ITF-14 for the carton those retail units travel in.

Can I make a lot of them at once?

Yes. Switch to “A batch”, paste one value per line — or have the tool number a run for you, SKU-0001 upwards — and download every barcode in a single ZIP, as PNG or SVG.

What’s the difference between EAN-13 and UPC-A?

UPC-A is a 12-digit format used mainly in the US and Canada, while EAN-13 is its 13-digit international superset — a UPC-A code is really an EAN-13 with a leading zero, and most modern scanners read both.

Why won’t my barcode scan with a handheld scanner?

The usual causes are printing it too small, cropping off the blank quiet-zone margin at either end, or low contrast between the bars and the background. Test with the scanner you will actually use before committing to a print run.

Should I download as PNG or SVG?

SVG whenever the barcode will be resized or sent to a label printer or print shop, since it stays crisp at any scale. PNG is fine for digital use at the size you generated — pick the quality that matches your printer.

What resolution should I download for printing?

Match your printer: 203 dpi for a thermal label printer, 300 dpi for an office laser, 600 dpi for commercial printing. Or download the SVG, which has no fixed resolution and stays sharp at any size.

How do I get a barcode number if I do not have one?

For internal use, invent one and use Code 128. For a product you are selling through retailers or marketplaces, the number has to be a GTIN issued to your business by GS1 — the symbol is free to make, the number is what is licensed.

Can I put the barcode into Word, Excel or a label template?

Yes. Download the PNG and insert it as a picture, or use “Copy image” and paste it straight in. For label templates that will be resized, the SVG holds up better.

Do you see or store what I type?

No. The barcode is drawn by JavaScript in your own browser — the value never goes to a server, which also means there is nothing to sign up for and no record of your product numbers anywhere on our side.

Which barcode does a retailer or marketplace want?

EAN-13 for retail outside North America, UPC-A inside it, ITF-14 on the shipping carton, and Code 128 for anything internal like an FNSKU or asset label. All four are in the type list here.

Can a barcode hold letters as well as numbers?

Code 128 takes the full ASCII set including lower case, and Code 39 takes capitals, digits and a handful of symbols. The retail formats — EAN and UPC — are digits only, by design.

Advertisement