GuideUpdated October 29, 2026
Barcode labels not scanning? Here's how to fix them
A barcode that won't scan is almost always one of a handful of things: how the PDF was printed, how the printer is set up, the size of the label, or a code that doesn't match Shopify. Work down this list and test one label after each change.
Quick check
| Cause | What you see | Fix |
|---|---|---|
| PDF printed at the wrong scale | Bars blurred or squashed, every label fails | Print at 100% or Actual size, never Fit to page |
| Resolution doesn't match the printer | Thin bars merge or vanish on a label printer | Set the app's printer resolution to your printer's dpi |
| Bars too thin for the label | Long codes on small labels fail, short ones scan | Use a wider label or a shorter value |
| No blank margin beside the bars | Scanner beeps only from some angles | Leave the label's padding; don't print to the edge |
| Faded or patchy print | Grey bars, gaps along the roll | Clean the print head, raise darkness, replace old stock |
| Scanner has the barcode type turned off | UPCs scan, SKU barcodes don't | Turn on Code 128 in the scanner's setup |
| Code isn't on the product in Shopify | Scanner beeps, POS finds nothing | Add the same code to the variant's barcode or SKU field |
1. The PDF was scaled
Browsers and PDF viewers often shrink a page to fit the paper. A barcode shrunk by a few percent loses the exact bar widths that scanners rely on. In the print dialog choose 100% or Actual size, and turn off Fit to page or Shrink oversized pages. On a label printer, also set the paper size in the printer's driver to your label size.
2. The resolution doesn't match the printer
Thermal label printers print in whole dots: usually 203 or 300 dots per inch. If a bar is 2.4 dots wide, the printer rounds some bars down and others up, and the pattern the scanner reads comes out uneven. Crisp Labels sizes every bar to a whole number of dots at the resolution you choose, so set Printer resolution under Advanced to your printer's dpi. It's printed on the printer's label or listed in its specs. Laser and inkjet printers do best on the 600 dpi setting.
3. The code is too long for the label
A UPC or EAN is always the same length, but a Code 128 barcode grows with each character. A 16-character SKU on a 1 × 1 in label needs bars too thin for many scanners. Crisp Labels warns you when bars get very thin, and tells you when a code can't fit at all. The fixes are a wider label or a shorter SKU. See label sizes.
4. No quiet zone
Scanners need a blank margin on each side of the bars, called the quiet zone, to tell where the barcode starts. Text, a border or the edge of the label in that space stops a scan. Keep the default padding and don't nudge the print so far that the barcode touches the label's edge.
5. The print itself is poor
- Direct thermal labels fade with heat and sunlight. Store rolls somewhere cool and replace old stock.
- Grey or broken bars usually mean a dirty print head or low darkness. Clean the head with an isopropyl wipe and raise the darkness setting a step.
- Inkjet sheets can bleed on glossy labels. Use labels made for your printer type: Avery 5160 for laser, 8160 for inkjet.
6. The scanner has that barcode type turned off
Most handheld scanners read UPC, EAN and Code 128 out of the box, but some arrive with only retail codes enabled, or were set up that way. If UPC labels scan and SKU labels don't, turn on Code 128 using the setup barcodes in your scanner's manual. QR codes need a 2D scanner; a laser scanner can't read them.
7. It scans, but Shopify POS finds nothing
The label is fine; the code isn't on any variant. Shopify POS looks up a scan against each variant's barcodes and SKU, so the printed value has to match one of them exactly. Look for a dropped leading zero (often from a spreadsheet import), a space at the end, or a label printed before the code was changed in Shopify. See how to add barcodes to Shopify products.
Test before a big run
Print one label of each size and barcode type you use, scan it with the scanner you'll use at the counter, and only then print the batch. Crisp Labels lists any label it had to compromise on, like thin bars or a shortened name, so you know which ones to check.
Common questions
- Why does my barcode scan but Shopify POS can't find the product?
- The scanner read the label, but no variant in your store has that code. Shopify POS finds a variant by any of its barcodes or its SKU, so the printed value must match one of those fields exactly. Check for a missing leading zero, an extra space, or a label printed before the code was changed.
- Why won't my label printer print barcodes clearly?
- Most often the PDF was scaled, or the bars weren't sized for the printer's resolution. Label printers print in whole dots, usually 203 or 300 per inch, and a bar that falls between dots comes out uneven. Print at Actual size and set the matching resolution in your label app.
- What's the smallest barcode that will scan?
- It depends on the scanner, but each narrow bar needs to be wide enough for it to see. Crisp Labels keeps the narrowest bar at 0.17 mm or more where it can, and warns you when a long code would need thinner bars to fit the label.
- Should I print the numbers under the barcode?
- Yes, when there's room. If a label won't scan, staff can type the numbers in instead. Turn off Numbers under barcode only on very small labels where the bars need the space.