Quick Reference — 8 Reasons a Barcode Won't Scan
Here's the full picture before we dig into each cause:
| # | Cause | Quick Fix |
|---|---|---|
| 1 | Label too small / barcode compressed | Regenerate at a larger label size |
| 2 | Wrong barcode format for the scanner | Match format to scanner capability |
| 3 | Insufficient quiet zone (no white margin) | Add ≥3 mm white border around barcode |
| 4 | Low print resolution / blurry bars | Print at 300 DPI minimum; use thermal printer |
| 5 | Low contrast (dark background, color bars) | Use black bars on white background |
| 6 | Damaged or wrinkled label | Replace label; avoid placing over seams |
| 7 | Incorrect check digit | Regenerate from correct source data |
| 8 | Scanner doesn't support the barcode format | Use a scanner that supports your format |
The 8 Causes Explained
Cause 1: Label Too Small
This is the single most common reason a barcode fails in the real world. When a barcode is printed smaller than its minimum readable size, the individual bars become too narrow to resolve — the scanner sees a blur instead of distinct lines.
- EAN-13: The standard specifies 100% magnification at 37.29 mm wide. The absolute minimum is 80% magnification (29.83 mm). Anything smaller is outside spec and unreliable.
- Code 128: Minimum width is approximately 25 mm, with a bar height of at least 10 mm. Taller bars give the scanner more vertical room to find a clean scan line.
- A phone app may read a tiny barcode on screen because the camera sensor has high resolution, but once that same image is printed on paper, ink spread and print resolution make the bars run together.
Fix: Regenerate the barcode and select a larger label size. See our barcode label size guide for exact dimensions by format and use case.
Cause 2: Wrong Barcode Format
Not every scanner reads every format. Choosing the wrong symbology for your scanning hardware is a common barcode scan problem fix that gets overlooked.
- Standard retail laser scanners (the wand-style or presentation scanners at checkout) read 1D formats: Code 128, EAN-13, UPC-A, Code 39. They cannot read QR codes or Data Matrix.
- Warehouse linear scanners — especially older or budget models — are also 1D only. 2D formats require a camera-based imager with a dedicated 2D decoding engine.
- Most Zebra and Honeywell enterprise scanners support both 1D and 2D symbologies, but an inexpensive USB wired scanner from a general retailer almost always reads 1D only.
Fix: Check the scanner's spec sheet for "Symbologies supported." If your scanner is 1D only and you need to scan QR codes, either switch to Code 128 for the data or upgrade to a 2D imager.
Cause 3: No Quiet Zone (White Margin)
The quiet zone is the blank white space to the left and right of a barcode — and on all four sides of a 2D symbol. It is not optional decoration. The scanner uses it to locate the start and stop patterns of the barcode. Without enough quiet zone, the scanner cannot identify where the barcode begins.
- EAN-13: Requires at least 3.63 mm of white space on each side.
- Code 128: Requires at least 10 times the width of the narrowest bar on each side — typically 2 mm or more in practice.
- If a barcode is stretched edge-to-edge on a label with no margin, the scanner will fail every time — even if the barcode itself is perfectly formed.
Fix: In your label design, leave white space around the barcode. Never stretch the barcode image to fill the entire label area. If you are generating barcodes with our tool, the output PNG already includes the correct quiet zone — do not crop the image before printing.
Cause 4: Low Print Resolution / Blurry Bars
A barcode is only as readable as the physical print quality. Blurry or fuzzy bar edges cause the scanner's analog-to-digital converter to misread bar widths, producing decode errors.
- Laser printers need a minimum of 300 DPI for barcodes; 600 DPI is preferred for small labels.
- Inkjet printers are prone to ink bleed on coated label stock — the ink spreads into adjacent spaces and narrows the white gaps between bars.
- Printing at anything other than 100% / Actual Size in your print dialog causes the printer driver to resample the bitmap, which blurs bar edges.
Fix: Use a thermal transfer or direct thermal label printer — they are purpose-built for barcodes and produce sharp, consistent bars at any DPI. If you use a laser printer, set the print dialog to Actual Size (not "Fit to Page" or any scale percentage) and verify the paper type setting matches your label stock.
Cause 5: Low Contrast
Barcode scanners work by detecting the difference in reflectance between dark bars and light spaces. If that contrast is too low, the reflected signal is ambiguous and decoding fails.
- Red backgrounds with white bars: Most laser barcode scanners emit a red beam. Red surfaces reflect red light strongly, so a red background looks almost identical to white bars — the scanner sees a nearly flat signal.
- Kraft paper (brown) backgrounds: The contrast between black bars and a natural brown surface is significantly lower than black-on-white, especially under poor lighting.
- Colored ink bars: Any bar color other than black reduces contrast. Blue, green, and especially yellow bars are problematic with red laser scanners.
Fix: Always use black bars on a white background. If your packaging design requires a colored background, place the barcode inside a solid white rectangle — a "barcode island" — sized to include the full quiet zone.
Cause 6: Damaged or Wrinkled Label
Physical deformation of the label changes the effective width of bars and spaces, causing the scanner to misread encoded values.
- Labels applied over a packaging fold or seam will bow outward when the box is sealed, stretching the barcode unevenly.
- Labels exposed to moisture can wrinkle or partially delaminate, distorting bar spacing.
- Direct thermal labels (the kind that use heat rather than ink ribbon) are UV-sensitive — prolonged sunlight exposure causes them to fade, reducing contrast.
Fix: Apply labels to a flat, dry surface away from fold lines. For outdoor use or humid environments, use thermal transfer labels with a ribbon — they are far more durable than direct thermal. If a label is already damaged, replace it; there is no reliable way to scan a wrinkled or torn barcode.
Cause 7: Incorrect Check Digit
EAN-13 and UPC-A include a check digit as the final number. It is mathematically derived from the preceding digits. If the source data contains an error — a transposed digit, a leading zero dropped, a stray space — the generated barcode embeds a wrong check digit. Scanners that verify the check digit will either reject the scan outright or emit a different error tone.
- Symptoms: The scanner beeps but the POS system reports "invalid barcode" or refuses to look up the item. The number appears on screen but triggers an error.
- Common source of the error: Manually retyping a 13-digit number and transposing two adjacent digits; copying a number from a spreadsheet that has quietly dropped a leading zero; using a barcode you photographed rather than one you generated from the raw digits.
Fix: Go back to your original data source (the GS1 registry, your supplier's product sheet, or your own SKU database) and re-enter the number from scratch. Do not copy-paste from an old file. Use a barcode generator that automatically calculates the check digit — it will always produce the correct last digit regardless of what you enter for the first 12.
Cause 8: Scanner Doesn't Support the Format
This overlaps with Cause 2, but deserves its own entry because the failure mode is different: the scanner may light up and attempt a decode, then silently fail or give an unrecognized-format beep.
- QR codes and Data Matrix require a camera-based 2D imager. A laser scanner physically cannot read them — the laser sweeps a single line, which captures no 2D information.
- PDF417 (common on driver's licenses and airline boarding passes) requires a specific decoding engine that not all scanners include.
- Some older POS systems only support Code 39 or EAN-8/EAN-13 and will not recognize Code 128 even if the hardware can read it.
Fix: Check the "Symbologies supported" section of your scanner's manual or product page. If the format you're using is not listed, either switch to a format the scanner does support — Code 128 is the broadest choice for 1D scanners — or replace the scanner with one that supports 2D symbologies.
How to Test Your Barcode Before Printing
The fastest way to catch a barcode scan problem before it reaches a customer or warehouse is to test it digitally. Open the iPhone Camera app or Google Lens, point it at your generated PNG on screen, and confirm it decodes correctly. If the phone can't read it on a high-resolution display, a printed version will be worse — fix it now.
For a more thorough test, use a dedicated barcode scanner app that shows the decoded data and the symbology type. This confirms both that the barcode scans and that it encodes exactly the value you intended. See our barcode scanner app guide for recommended apps on iOS and Android.
One more step worth taking: print a test label and scan the physical print before committing to a full production run. Print quality varies by printer, label stock, and settings — a five-label test run costs almost nothing and confirms that your printer settings are correct.
If None of These Work — Regenerate From Scratch
If you've worked through all eight causes and the barcode still won't scan, the cleanest path forward is to start over with fresh source data:
- Re-enter the original data manually — do not copy-paste from an existing file that may already contain the error.
- Select the correct format for your scanner and use case.
- Generate and download the barcode as a PNG file — do not use a screenshot, which adds compression artifacts.
- Test the downloaded PNG with your phone before printing.
- Print at Actual Size on a thermal or laser printer at 300 DPI or higher.
This process eliminates every software-side variable and gives you a clean baseline. If the barcode still fails after regeneration and a fresh print, the problem is most likely the scanner hardware — check the scanner against a known-good barcode from a retail product to confirm it's functioning.
Generate barcodes that scan reliably every time. Bulk Barcode Generator produces ISO-standard Code 128, EAN-13, UPC-A, and QR Code barcodes optimized for print — correct quiet zones, proper minimum bar widths, and automatic check digit calculation included. Free, no signup required.
Generate Barcodes Free →