Barcode generator
Six symbologies, drawn properly — quiet zones included, check digits calculated, vector output that survives being resized.
Any ASCII text — the default for shipping labels and internal asset tags.
Type and the barcode redraws. Check digits are worked out for you.
Which of these six do you actually need?
Most people arrive here wanting a barcode and finding out there are dozens. In practice the choice is made for you by where the label is going, and it comes down to six.
Code 128 is the one to pick if nothing else applies. It takes any ASCII text, packs digits two to a symbol so numeric codes stay short, and it is what carriers, warehouse management systems and asset registers expect. A serial like TFL-2026-0001 encodes cleanly and scans on a phone.
EAN-13 and UPC-A are retail product codes, and they are not something you invent. The digits come from GS1 when a company buys a prefix; the number identifies the company and then the product. Generating a pretty EAN-13 here will scan perfectly and will still be rejected by a retailer if the digits are not yours. UPC-A is the twelve-digit North American form, EAN-13 the thirteen-digit international one, and an EAN-13 that starts with a zero is the same number as the UPC-A without it.
EAN-8 exists because a full EAN-13 will not fit on a packet of chewing gum. ITF-14 goes on the shipping case rather than the retail pack — it is the case-level code, printed fat and low-resolution because corrugated cardboard prints badly. Code 39 is the old one: uppercase letters, digits and a handful of symbols, wasteful with space, and still deeply embedded in libraries, hospitals and defence supply chains because their scanners were bought in 1998 and still work.
Check digits, and why your number changes
EAN-13, EAN-8, UPC-A and ITF-14 all end in a check digit that is calculated from the digits before it. Type twelve digits into the EAN-13 field and the thirteenth appears on its own. Type all thirteen and we verify it: if it does not match, you are told which digit it should have been rather than being handed a barcode that no scanner will accept.
Code 128 has a checksum too, but it lives inside the symbol rather than in the human-readable number, so you never see it. Code 39 normally has no check character at all; the tick box adds the optional modulo-43 one, which some systems demand and most ignore. If you are not sure, leave it off — an unexpected check character reads as an extra letter on the end of the scan.
Printing it so it scans
Two things break barcodes on paper: printing them too small, and crowding them. The narrow bar setting is the unit everything else is measured in. At 2 px a laser printer at 300 dpi gives you roughly a 0.17 mm bar, which is below the retail minimum — for anything going through a shop till, print the EAN at no less than 80% of nominal size and prefer 100%. For internal asset tags scanned by a handheld, smaller is fine.
The white space either side is part of the barcode, not decoration. It is called the quiet zone, it is included in the SVG and PNG we produce, and cropping it off is the single most common reason a freshly printed label refuses to scan. Do not place a border hard against the bars, and do not scale the image non-proportionally.
Download the SVG when the barcode is going into a label template, InDesign, a print shop or anything that will resize it: vectors have no resolution to lose. The PNG is rendered at three times the on-screen size for the same reason, so it survives being dropped into a spreadsheet or a slide. Both files are drawn in your browser and never leave it.
Common questions
Can I sell a product using a barcode I made here?
Not with one you invented. EAN-13 and UPC-A numbers are issued through GS1 — the prefix identifies your company, and retailers check it against the global registry. This tool draws the symbol correctly for whatever digits you own, including verifying the check digit. It cannot give you a number that is yours.
Which type should I choose if I just want to label my own things?
Code 128. It takes letters and digits, it is compact, and every scanner made in the last thirty years reads it. Use it for asset tags, shelf locations, internal job numbers and anything else where the number only has to mean something inside your own organisation.
Why did my thirteenth digit change?
Because it was wrong. The last digit of an EAN-13 is derived from the first twelve by a fixed weighting, so there is exactly one valid value. If you paste thirteen digits and the last one does not match, the tool tells you what it should be rather than drawing a symbol that will fail at the till.
Does the PNG have a transparent background?
No, it is drawn on white on purpose. Scanners work on contrast between dark bars and a light background; a transparent PNG dropped onto a coloured slide or a dark label stock can end up with no contrast at all. If you need transparency for a design mock-up, take the SVG and delete the background rectangle.
Is a QR code not just better?
For a poster or a menu link, yes. For a product or a parcel, no — retail tills, warehouse handhelds and carrier sorters are built around one-dimensional codes and in many cases physically cannot read a QR code. The two formats are not competing; they are used in different places.
Does anything get uploaded?
No. The encoders for all six symbologies are written into the page, so the barcode is drawn on your own machine. You can disconnect from the network and keep generating labels.