Barcode generator for SKUs and sticker sheets
When a printed barcode will not scan, it is almost never the code. It is the size. A generator that hands back a picture lets the print dialog shrink it to fit the page, and bars ten percent narrower than they should be are bars a cheap handheld scanner starts to miss.
So everything here is measured in millimetres and stays that way. You set the narrow bar width, the bar height and the quiet zone; the page tells you how wide the code will be on paper; and the SVG carries its own physical size, so it is still correct wherever you drop it. The symbologies are drawn from their own tables inside the page, which is why it works with the network off.
Open the barcode generator Needs an account. The trial is free and takes a WhatsApp code.
How it works
- Pick the type. Code 128 for warehouse and courier SKUs - it takes letters, digits and punctuation. EAN-13, UPC-A and EAN-8 for retail product numbers: type 12, 11 or 7 digits and the check digit is worked out and added. Code 39 for older scanners still configured for it.
- Set the size in millimetres. 0.33 mm is the retail standard narrow bar. The page warns you below 0.19 mm, which is where handheld scanners start to fail, and the quiet zone is set in bars with each symbology's own minimum shown.
- Download one, or build a sheet. PNG at a dpi you choose for a listing or a document, SVG for anything that will be resized. For a run, paste your SKUs one per line as value, then an optional caption and a number of copies, separated by a vertical bar.
- Print at 100 percent. Choose the sheet - 100 mm thermal rolls one, two or three labels across, or A4 sticker sheets - then set the print dialog to 100 percent scale with margins off. Fit to page resizes the bars and the code stops scanning.
What it handles
- Code 128, EAN-13, UPC-A, EAN-8 and Code 39, each drawn from its own lookup table rather than fetched from a library
- The GTIN check digit calculated for you on EAN-13, UPC-A and EAN-8
- Millimetres all the way into the SVG viewBox, turned into pixels only at the last moment when a PNG is rasterised at a stated dpi
- A warning when the narrow bar drops under 0.19 mm, and a count of how many labels on a sheet had to shrink that far to fit
- Quiet zone set in bars, with the minimum the standard asks for - trimming it away is the commonest reason a printed code refuses to scan
- Layouts for 100 mm thermal rolls, including 100 x 150 mm which is the 4 x 6 label, and A4 sticker sheets at 65, 48, 40, 24, 21, 14, 12 and 8 labels
- Skip the first few positions to carry on down a part-used sticker sheet
- The number printed under the bars and an optional caption line, so a packer can read a code a scanner will not
- Codes you make kept in this browser so you can print the same sheet again next month
Your files stay on your computer
This runs inside your browser tab. The file is read and written on your own device and is never uploaded — not the order PDF, not the customer names and addresses printed on it. There is no upload endpoint to send it to.
Questions
- Can I make my own EAN-13 codes for a marketplace listing?
- You can generate one here, but generating a number is not the same as owning it. Retail EAN and UPC numbers are issued against a company prefix from GS1, and a marketplace that checks will reject one you invented. Code 128 is the right choice for your own internal SKUs, which is most of what a seller needs.
- My printed barcode does not scan. What went wrong?
- Nearly always the print dialog. Set Scale to 100 percent rather than Fit to page, and Margins to None. After that, check the narrow bar width - under about 0.19 mm many handheld scanners miss - and check that nobody has trimmed the white quiet zone off the ends.
- PNG or SVG?
- SVG for anything that will be printed or resized: it carries its own size in millimetres and stays sharp at any scale. PNG only where something will not accept an SVG, and then set the dpi first and place it at the width in millimetres the page reports, rather than dragging it until it looks right.
- Does it make QR codes?
- No - that is a separate page. This one draws linear barcodes only, the striped kind a handheld scanner reads off a shelf or a carton, rather than the square kind a phone camera reads. The QR generator is linked at the bottom of this page.
- Can I print onto a sheet I have already used half of?
- Yes. Skip first tells it how many positions are gone and it starts from the next one. Worth a test print on plain paper held up against the real sheet the first time, because sticker sheets from different suppliers vary by a millimetre or two.