The image is free. The number is not.
This is the part almost nothing says, and it is the part that costs money. A retail barcode number is not a random string. It is a GS1 company prefix, licensed to one company, plus your own item reference, plus a check digit.
Invent one and you get a barcode that scans perfectly and belongs to somebody else. It either collides with a real product on a real shelf, or the retailer's system refuses it, and in both cases you find out after the packaging has been printed.
Drawing the bars is free and entirely legitimate, and that is what this tool does. Where the number comes from is a separate question with three honest answers: GS1 directly, a reseller, or an internal-use code if you are never selling through anybody else.
The internal-use range, which is a real category
Numbers beginning 02, or 20 through 29, are reserved by GS1 for in-store and internal use. They are yours to allocate however you like and they are never valid outside your own business.
That makes them exactly right for your own stock system, asset tags, tool registers or shelf edge labels, and exactly wrong for anything going to a retailer. The tool recognises them and stops nagging you about allocation when you use one, because in that case there is nothing to allocate.
The check digit, and why a barcode "will not scan"
The last digit of an EAN-13, UPC-A or ITF-14 is arithmetic. Weight the other digits alternately three and one from the right, add them up, and the check digit is whatever takes the total to the next multiple of ten.
Every scanner recomputes this on every read and rejects a mismatch without saying why. So when a barcode does not work, it is far more often one mistyped digit than anything to do with the printer. This tool checks it as you type and offers to correct it.
Weighting from the right is not a detail. EAN-13 has twelve digits before the check digit and UPC-A has eleven, so the digit carrying weight three sits in a different place in each. An implementation that weights from the left produces a believable number that is wrong for one of the two formats, which is a genuinely common bug.
And UPC-A is an EAN-13 with a zero on the front
Same bars, same check digit, same product. A 12 digit UPC-A is just the 13 digit EAN-13 whose first digit happens to be zero, so European scanners read American codes without anybody doing anything. If you are wondering whether you need to produce both, the answer is nearly always no.
For your own stock, use Code 128
Code 128 is not a retail identifier at all, so there is no registry, no licence and nothing to collide with. It takes any length, letters as well as digits, and it is denser than the alternatives. Use whatever reference your own system already has: a job number, an asset tag, a part code.
Code 39 does much the same job and is older, wider and capitals only. Pick it when something at the far end has specifically asked for it, and Code 128 otherwise.
Print it so it scans
Four things, roughly in the order they go wrong:
- Size. A retail barcode has a nominal size, and shrinking below about 80% of it is where scanning starts failing.
- The clear margin. Blank space either side of the bars is part of the code, not padding. Cropping it is a common and invisible mistake.
- Contrast. A scanner reads contrast, not colour. Dark bars on a pale background. Light coloured bars, bars over a photograph, or red on black are invisible to it.
- Sharpness. Use the SVG for print. It is vector, so it stays crisp at any size, which is exactly what fine bars need.
Common questions
Can I just make up a barcode number?
Not for anything you intend to sell. A retail barcode number is a GS1 company prefix plus your item reference plus a check digit, and the prefix is licensed to one company. An invented number scans perfectly well and belongs to somebody else, so it either collides with a real product or gets refused by the retailer, usually once the packaging has been printed. Generating the image is free and entirely legitimate. Generating the number is not something any tool can do for you.
Is there a barcode number I am allowed to allocate myself?
Yes. Codes beginning 02, or 20 through 29, are reserved by GS1 for in-store and internal use. They are legitimate, they are yours to allocate freely, and they are never valid outside your own business. Perfect for your own stock system, asset tags or shelf edge labels. Any retailer you try to sell through will reject them, which is exactly what they are supposed to do.
What is the check digit and why does it matter?
It is the last digit of an EAN-13, UPC-A or ITF-14, and it is arithmetic rather than part of the number you were given. Weight the other digits alternately 3 and 1 from the right, add them up, and the check digit is whatever takes the total to the next multiple of ten. Every scanner recomputes it on every read and rejects a mismatch silently, which is why a barcode that "will not scan" is far more often one mistyped digit than a printing problem.
Do I need both a UPC and an EAN barcode?
Almost certainly not. A 12 digit UPC-A is exactly the 13 digit EAN-13 that starts with a zero: the same bars, the same check digit, the same product. European scanners read UPC-A natively for that reason. Unless a specific retailer has asked for a specific format, one code covers you.
Which barcode should I use for my own stock?
Code 128. It takes any length, letters as well as digits, it is denser than the alternatives, and there is no registry and no licence because it is not a retail product identifier at all. Use whatever reference your own system already uses. Code 39 does a similar job and is older, bulkier and capitals only, so pick it only if something at the other end specifically asks for it.
Why will my printed barcode not scan?
In rough order of likelihood: a mistyped check digit, printing it too small, no clear margin either side, or poor contrast. A scanner reads contrast rather than colour, so light coloured bars, bars over a photograph, or red bars on a black background are simply invisible to it. Shrinking a retail barcode below about 80% of its nominal size is where scanning starts to fail.
Should I download the PNG or the SVG?
SVG for anything going to print, because it is vector and stays perfectly sharp at any size, which is exactly what a barcode needs. PNG for anything that will not take an SVG, and the one here is rendered at three times the preview size so it does not soften on paper.
What is ITF-14 for?
The outer case, not the item. ITF-14 goes on the shipping carton and identifies the box and how many units are in it, while the EAN-13 on each product inside identifies the product. If a distributor has asked you for a carton code, that is the one they mean.