Free tool
Free barcode label generator
Paste your UPC or EAN numbers, pick an Avery sheet or thermal roll, and download a PDF that prints straight onto your labels. Free, and nothing leaves your browser.
How to use the label generator
This barcode label generator turns a list of UPC-A, EAN-13 or EAN-8 numbers into a print-ready PDF of labels. Pick an Avery sheet (5160, 5161, 5163, L7160, L7163, L7651), a 2.25 × 1.25 in or 2 × 1 in thermal roll, or a custom layout. The PDF is vector, so bars stay sharp on any printer.
- Paste your codes, one per line. UPC-A, EAN-13 and EAN-8 all work. Leave off the check digit and the tool adds it. A code with a wrong check digit is skipped and listed so you can fix it.
- Add a name or SKU if you want one. Type it after a tab or a comma on the same line and it prints small above the barcode. Copy two columns from Excel or Google Sheets and the tab comes with them. No SKUs yet? The SKU generator builds them.
- Set copies per code. One code times 30 fills an Avery 5160 sheet.
- Pick the label sheet. Choose a preset from the table below, or Custom to enter your own page size, label size, columns, rows and gaps.
- Start at label number N if half the sheet is already used, so the PDF skips the labels you’ve peeled off.
- Check the preview and warnings, then download the PDF.
If you bought codes from us, the delivery email has your numbers in an Excel file, so paste the code column straight in. Need numbers first? See UPC code prices.
For a single barcode image to drop into packaging artwork, use the barcode generator instead.
Supported label sheets
Every Avery preset uses Avery’s published label size. The “UPC-A size” column is what we measured when we ran each preset through the tool: how big a UPC-A barcode can print on that label, as a percentage of GS1’s standard 100% size, without and with the text line.
| Label sheet | Labels per sheet | Label size | Paper | UPC-A size (no text / text) | Best use |
|---|---|---|---|---|---|
| Avery 5160 (laser), 8160 (inkjet) | 30 | 2-5/8 × 1 in (66.7 × 25.4 mm) | US Letter | 82% / 68% | Product labels without a name line |
| Avery 5161 | 20 | 4 × 1 in (101.6 × 25.4 mm) | US Letter | 82% / 68% | Wider label, same height limit as 5160 |
| Avery 5163 | 10 | 4 × 2 in (101.6 × 50.8 mm) | US Letter | 180% / 163% | Retail labels with a product name |
| Avery L7160 | 21 | 63.5 × 38.1 mm (2.5 × 1.5 in) | A4 | 131% / 114% | UK and EU product labels with a name |
| Avery L7163 | 14 | 99.1 × 38.1 mm (3.9 × 1.5 in) | A4 | 131% / 114% | Longer names or SKUs |
| Avery L7651 | 65 | 38.1 × 21.2 mm (1.5 × 0.83 in) | A4 | 69% / 57% | Shelf, bin and stock labels, not checkout |
| Thermal roll 2.25 × 1.25 in | 1 per PDF page | 57.2 × 31.8 mm | Roll | 106% / 90% | Rollo, Zebra, DYMO product labels |
| Thermal roll 2 × 1 in | 1 per PDF page | 50.8 × 25.4 mm | Roll | 82% / 68% | Small items, no name line |
| Custom | You set it | You set it | Any | Shown in preview | Other brands and sizes |
Sizes are from Avery’s template pages for 5160, 8160, 5161, 5163, L7160, L7163 and L7651, rounded to one decimal place in mm.
The surprise when we built this: a 1 inch tall label can’t hold a full-size UPC-A. The bars alone need 22.86 mm (0.9 in) of height at 100%, and the label is 25.4 mm. On 5160, 5161 and 2 × 1 in labels, skip the text line and the barcode stays at 82%, inside GS1’s range. Add a name and it drops to 68%, and the tool warns you.
EAN-8 is shorter and fits better: 100% on 1 inch labels and 84% on L7651.
How to print so labels line up
Most “my labels are off” problems come from the print dialog, not the PDF. Work through these in order.
- Print at 100% or “Actual size”. Never “Fit to page” or “Shrink oversized pages”. Scaling by even a few percent moves every row and changes bar widths too.
- Match the paper size. US Letter for 5160, 5161 and 5163. A4 for L7160, L7163 and L7651. Amazon sellers in the seller forums traced labels printing outside the stickers to an A4 versus Letter mix-up.
- Test on plain paper first. Turn on label outlines, print page 1 on plain paper, then hold it against a label sheet in front of a window. Check the top row, the bottom row and both sides.
- Read the drift. If every label is off by the same amount, use the offset setting: enter the shift in millimetres, right and down (a negative number moves it left or up). If the top row lines up but the bottom row is far out, the page is being scaled or the paper size is wrong. An offset won’t fix that, as LabelCodes’ alignment guide explains.
- Turn outlines off and print on the real sheet. Then scan a label from the top, middle and bottom rows.
Laser printers usually hold a sheet’s spacing better than inkjets. Use 5160 sheets in a laser and 8160 in an inkjet, since they share one layout.
Sizing rules so labels scan
A UPC or EAN barcode scans reliably when it follows GS1’s size and color rules. The tool handles the size for you and flags anything that falls short.
- 80% to 200% of nominal size. GS1 Canada’s EAN/UPC Symbol Reference sets this range for UPC-A, EAN-13 and EAN-8. At 100%, a UPC-A is 37.29 mm (1.468 in) wide including quiet zones, with bars at least 22.86 mm tall. At 80% it’s 29.83 mm wide and 18.29 mm tall. The tool scales each barcode to fit the label, caps it at 200% and warns below 80%.
- Keep the quiet zones clear. The white space each side of the bars tells the scanner where the code starts and ends. Don’t let a label edge, border or text run into it.
- Don’t cut the bars short. GS1 US says to print barcodes at full height rather than trim them to fit. That’s why this tool shrinks the whole barcode instead of squashing it.
- Dark bars on a light background. Black on white is best. Avoid red or reddish bars such as brown, because checkout scanners read with red light and those bars disappear.
- Skip glossy finishes over the code. One Amazon seller was charged prep fees after a varnish over printed FNSKU labels caused no-scans at Amazon’s scanners, per this seller forum thread.
GS1 allows 75% for on-demand printing such as direct thermal, but only if bar height and quiet zones still meet the 80% figures. On a 1 inch label they can’t, so treat 80% as the floor.
For packaging artwork, see barcode size and printing and how to make barcode images.
Laser or inkjet sheets vs thermal roll printers
Sheets suit sellers who label a few dozen units a week on a printer they already own. Thermal roll printers suit anyone labeling every day.
| Laser or inkjet sheets | Thermal roll printer | |
|---|---|---|
| Hardware | Your office printer | Rollo, Zebra, DYMO or similar |
| Ink | Toner or ink | None for direct thermal |
| Label | Avery 5160, L7160 and others | 2.25 × 1.25 in or 2 × 1 in rolls |
| Alignment | Whole sheet can drift | One label per page, little drift |
| Weak spot | Inkjet labels can smudge if wet | Direct thermal labels can fade |
For a roll, the PDF has one label per page. Set the printer driver’s paper size to the exact roll size and print at 100%. Rollo models are 203 dpi direct thermal printers, according to Castle Ink’s Rollo label guide, so they need direct thermal labels, not ribbon labels.
Fading is the catch. A Zebra user in the same Amazon thread said direct thermal labels “fade in a matter of months”. For slow-moving stock, use sheets or a thermal transfer printer with a ribbon.
FNSKU labels are a different label
An FNSKU is Amazon’s own barcode for your units in its warehouses, and it isn’t your UPC. Amazon generates FNSKU labels in Seller Central under Print item labels. Since 31 March 2026, sellers who aren’t the brand’s representative must put one on every FBA unit, per Amazon’s FBA barcode requirements.
This tool prints UPC and EAN labels, the product barcode that retail checkouts and your own stockroom scan. Print FNSKU labels from Seller Central.
Frequently asked questions
How do I print barcodes on Avery 5160 labels?
Paste your codes, choose Avery 5160/8160 and download the PDF. Print it at 100% or “Actual size” on US Letter, never “Fit to page”. Test page 1 on plain paper with outlines on, hold it against a sheet, and fix any even shift with the offset setting before you print on labels.
Why won't my printed barcode labels scan?
The usual causes are a barcode printed below GS1’s 80% minimum, a page scaled by “Fit to page”, a check digit typo or a glossy finish. Print at 100%, drop the text line on 1 inch labels, keep bars black on white and check the number with our check digit calculator.
Can I print barcode labels on a DYMO, Zebra or Rollo printer?
Yes. Choose the 2.25 × 1.25 in or 2 × 1 in thermal roll preset, or Custom for another size, and the PDF puts one label on each page. Set the printer’s paper size to match the roll and print at 100%. A 2.25 × 1.25 in label fits a UPC-A at 106% without a text line.
Can I add a product name above the barcode?
Yes. Put a short name or SKU after a tab or comma on the same line as the code. It prints in small plain text above the barcode, trimmed to fit the label, with accented letters simplified. On 1 inch tall labels the name shrinks a UPC-A to 68%, below GS1’s minimum, so skip it there.
Can I use a label sheet I've already partly used?
Yes. Set “start at label number” to the first empty label on the sheet and the PDF begins there, leaving the used positions blank. Run a plain-paper test with outlines on first, so you can see exactly where printing starts before you feed the real sheet.
Are these the same as Amazon FNSKU labels?
No. This tool prints UPC and EAN product barcodes. An FNSKU label carries Amazon’s warehouse code for your units, and Amazon generates it in Seller Central under Print item labels. If you ship to FBA without being the brand’s representative, you need FNSKU labels on every unit, so print those from Amazon.
Is the barcode label generator free?
Yes. It runs in your browser and nothing is uploaded, so your codes and product names stay on your computer. You need valid UPC or EAN numbers to print. GetUPCCode sells them from $4.59 for one code; current prices are on buy UPC codes.
Need UPC codes to print?
Buy them once, with no renewal fees. They arrive by email, usually within 15 minutes, with the numbers in an Excel file you can paste straight into this tool.
