Choosing the right symbology
EAN-13 and UPC-A are retail barcodes — the ones on a supermarket shelf. They take a fixed number of digits and end in a check digit calculated from the rest.
Code 128 is the workhorse for anything internal: letters as well as digits, any length, and compact. It is what most warehouse, asset and shipping labels use. Code 39 is older and less dense but read by almost any scanner ever made. ITF-14 goes on outer cases rather than individual items.
If the code is only ever read by your own scanner, Code 128 is the sane default.
Retail numbers are not yours to invent
A made-up EAN or UPC will encode and scan perfectly and still be useless in a shop, because it belongs to somebody else or to nobody. Real retail numbers are issued by GS1 against a company prefix, and retailers check them.
For stock control inside your own business none of that applies — use Code 128 with whatever numbering scheme suits you.
Printing so it actually scans
Print from SVG. A barcode is read by measuring bar widths, and a scaled-up PNG blurs exactly the edges the scanner is measuring.
Keep the quiet zone — the blank space at both ends — and do not squash the height to save room; scanners sweep across at an angle and need the height. Print black on white, and avoid glossy stock where a scanner’s own light reflects back at it.
Frequently asked questions
Can I make up my own EAN or UPC number?
For internal use, yes. For selling through a retailer, no — those numbers are allocated by GS1 and a self-invented one either belongs to another product or fails their checks.
Which type should I use for labelling my own stock?
Code 128. It takes letters and digits, any length, prints compactly, and every modern scanner reads it.
My barcode will not scan. What is wrong?
Usually printing: too small, too blurry from a scaled PNG, quiet zone trimmed, or printed on glossy material. Print from the SVG at full size and leave the margins.
What is the check digit?
A digit worked out from the others so a misread is caught rather than accepted. For EAN and UPC it is calculated for you, so type only the body of the number.
Something wrong with this tool, or an idea for it? Tell us