Barcode Generator
Generate a real 1D barcode — EAN-13, EAN-8, UPC-A, ITF-14, Code 128 or Code 39 — and download it as PNG or print-ready SVG. Enter 12 digits for an EAN-13 and the check digit is calculated and appended for you. Free, no account, and the barcode is drawn in your browser, so nothing you type is sent to us.
Retail products worldwide. The one on almost every supermarket item.
12 digits (we add the check digit) or 13 digits including it.
Preview
Check digit 7 calculated and appended.
This makes the barcode image, not the right to use the number. To sell a product through retail, the number must come from a GS1 company prefix issued to you. Printing an EAN you do not own can collide with someone else’s product.
The barcode is generated in your browser. Nothing you type is sent to us.
Which barcode type do you need?
This is the question that actually blocks people, and the answer depends on where the barcode will be read. If a product is going to be scanned at a shop till anywhere outside North America, you need EAN-13. In the United States and Canada that role belongs to UPC-A. EAN-8 exists for packs physically too small to carry an EAN-13 — it is a concession, not a shortcut.
ITF-14 is for the outer carton rather than the item: shipping cases, pallets, anything a warehouse scans but a customer never sees.
Code 128 and Code 39 are the ones most people actually need and rarely reach for. They encode arbitrary text, nobody has to allocate you a number, and they are what warehouses, libraries, asset registers and internal labelling systems run on. If the barcode never leaves your own operation, start here.
The check digit, and why a wrong one fails silently
EAN, UPC and ITF numbers end in a check digit calculated from the digits before it. A scanner recalculates it and rejects the read if it does not match — which is why a barcode with one wrong digit does not produce a wrong product, it produces nothing at all. The failure looks like a bad print rather than a bad number, and that is what makes it expensive to find after a print run.
This tool handles it both ways. Enter the 12 digits of an EAN-13 and it calculates the thirteenth and tells you what it added. Enter all 13 and it verifies them, and if the last digit is wrong it says what the correct one is instead of quietly generating an unscannable image.
The arithmetic is the GS1 modulo-10 rule: weight the digits alternately by 3 and 1 starting from the right, sum, and take what is needed to reach the next multiple of ten.
Making the image is not owning the number
This is the part most barcode generators leave out, and it matters more than any setting on this page. A tool can draw any EAN-13 you type. It cannot give you the right to use that number.
Retail numbers are allocated: you obtain a company prefix from GS1, and your product numbers are built from it. That is what stops two companies shipping different products under the same code. Printing an EAN you were not allocated is not a technical error — the barcode scans perfectly — it is a collision waiting to happen at somebody's till.
So the honest split is this: for anything sold through retail, get the number from GS1 first and use this tool to render it. For everything inside your own operation — stock, assets, files, internal logistics — use Code 128 or Code 39 and you owe nobody anything.
Frequently asked questions
Is this barcode generator free?
Yes. Every type on this page is free, needs no account, and the images do not expire or carry a watermark. The barcode is drawn in your browser, so what you type never reaches our servers.
Can I use a barcode I generate here to sell a product in shops?
Only if the number itself was allocated to you. Retail barcodes are built from a GS1 company prefix issued to your business. This tool renders the barcode; it cannot assign you a number, and using one you do not own risks colliding with another company's product.
What is the check digit and do I have to work it out?
It is the last digit of an EAN, UPC or ITF number, calculated from the ones before it so scanners can detect errors. You do not have to work it out — enter 12 digits for an EAN-13 and this tool appends the thirteenth, or enter all 13 and it verifies them.
Which format should I download for printing?
SVG. It has no resolution, so it stays sharp at any size and your printer can scale it without softening the bars. PNG is fine for screens and documents; this page exports it at double size so it survives being placed in a layout.
What is the difference between a barcode and a QR code?
A classic barcode is one-dimensional: the data lives in the widths of vertical bars, it holds very little, and it usually needs a dedicated scanner. A QR code is two-dimensional, holds far more, and any phone camera reads it. Retail till systems want the barcode; anything meant for a customer's phone wants the QR code.