Why your barcode is blurry or will not scan
A blurry barcode is the most common complaint, and a barcode that looks perfect on screen can still fail once printed. The cause is almost never the barcode file. It is usually print scaling, a cropped quiet zone, weak contrast, or a scanner that was never configured to read that symbology in the first place.
Start here: one question narrows it by half
Does the code fail on every scanner, or only on one?
Narrow it down
Two questions. The written explanation is below either way.
Does the code fail on every scanner, or only on one?
If it fails on every scanner, the problem is in the code or the print. Work through the printing and label sections below.
If it fails on one scanner but reads on another, the code is fine. Go to the scanner section. This single split saves most people from reprinting labels that were never the problem.
Symptom to cause
Find your symptom
Type what you are seeing, or pick a category. The full table stays below.
| What you see | Most likely cause | First thing to try |
|---|---|---|
| Never scans, on any scanner, straight off the printer | Print scaling or a cropped quiet zone | Reprint at Actual Size with clear space on both sides |
| Bars look soft, grey or fuzzy | Resolution, draft mode or a worn printhead | Raise print darkness, turn off draft, print at 300 DPI or higher |
| Some codes scan, others are ignored entirely | Symbology disabled, or a length restriction in the scanner | Enable the symbology and check its minimum length setting |
| Linear codes scan, 2D codes do nothing | Laser scanner cannot read 2D at all | Use an imager or a camera scanner |
| Worked when printed, fails weeks later | Direct thermal fading from heat or sunlight | Switch to thermal transfer for anything stored or shipped |
| Reads flat, fails once applied to the product | Curved surface, a fold, or a wrinkled label | Move the label to a flat panel away from seams |
| Scans slowly or needs several attempts | Low contrast, glare, or a dirty scanner window | Clean the lens and tilt slightly off straight-on |
| Scans, but returns the wrong number | Wrong check digit, or a truncated read | Recheck the check digit and widen the quiet zone |
Printing causes, the biggest group by far
Print scaling, the single most common cause
Printing at anything other than 100% or Actual Size makes the printer driver resample the image. That blurs the edges of every bar and shrinks the quiet zone at the same time. "Fit to page" and "shrink to printable area" are both scaling, even though neither says so.
Set the print dialog to Actual Size before anything else. If you are exporting to PDF first, check the scale there too, since PDF workflows commonly print at 92 to 96% without announcing it.
Resolution
A laser printer needs at least 300 DPI for barcodes, and 600 DPI is better for small labels. Thermal printers running at 203 DPI or less are limited in how dense a barcode they can produce, so a high-density code at that resolution will not hold its edges. Inkjets bleed on coated label stock, and the ink spreading into the gaps between bars narrows exactly the white space a scanner measures.
Darkness, draft mode and the printhead
Draft, economy and toner-save modes all lighten the print. Bars that read as grey rather than black fail on lower-end scanners even when the shape is perfect. A dirty or worn thermal printhead produces the same result, along with streaks. Clean it with a lint-free cloth and isopropyl alcohol before assuming the barcode is at fault.
Quiet zone
The blank margin on both sides of the symbol. A workable general rule is at least ten times the width of the narrowest bar, though the exact requirement is per symbology: UPC-A needs 9X on both sides, EAN-13 needs 11X on the left and 7X on the right, and ITF-14 and GS1-128 both need 10X.
Anything inside that margin can cause a no-read, including a border, a footer, a watermark or the edge of the label itself. Never stretch a barcode to fill the label, and never crop the exported image.
The label itself
Contrast and colour
Scanners read the contrast between bars and background. Dark bars on a light background is the combination that works. Red bars on white are a well-known failure, because many scanners effectively see red as white. Coloured backgrounds, glossy or reflective stock, and recycled grey paper all reduce contrast, and glossy surfaces add glare on top.
Fading and damage over time
Direct thermal labels, the kind that use heat rather than an ink ribbon, are sensitive to heat and UV. Sunlight or a hot vehicle fades them until the bars lose contrast. If labels are stored or shipped, thermal transfer holds up better.
Moisture wrinkles and delaminates labels, which distorts bar spacing. So does applying a label across a box fold or seam, because the label bows outward when the carton is sealed and stretches the bars unevenly.
Print orientation
On a thermal printer, the direction a barcode faces relative to the printhead matters. Picket fence orientation prints the bars parallel to the printhead, so each bar is laid down by the same row of heating elements. Ladder orientation turns the code ninety degrees, so the bars run perpendicular and appear as rungs of a ladder.
Picket fence is the safer default. In ladder orientation, a single failed heating element runs a fault along the length of a bar rather than nicking one edge, and any slight variation in label feed speed distorts bar widths directly. If a code prints cleanly in one orientation and badly in the other, this is why, and rotating the label template is usually cheaper than replacing the printer.
Curved surfaces
A label wrapped around a bottle or tube flattens the bars at the edges of the curve. Keep linear barcodes on the flattest panel available, and orient them so the bars run around the curve rather than along it.
The scanner
A laser scanner cannot read 2D codes
This one is absolute. Laser scanners read linear barcodes only. QR, Data Matrix, PDF417 and Aztec all need a 2D imager or a camera-based scanner, and no configuration change will fix it. If your linear codes scan and your 2D codes do nothing at all, this is why.
The symbology may simply be switched off
Many 2D imagers ship with individual symbologies disabled. Scanning the configuration barcode for that symbology in the scanner manual turns it on.
Length restrictions look identical to a broken code
Symbologies can have configurable minimum and maximum lengths, and a code outside that range is ignored silently, which looks exactly like the symbology being disabled. Code 39 is the usual culprit, since many scanners default to refusing values under four characters as a guard against misreads.
Distance, angle and a dirty lens
Every scanner has a focal sweet spot, so move closer or further rather than repeating the same attempt. Scanning straight on at ninety degrees can reflect light back into the sensor, so a slight tilt often fixes a stubborn read. And dust on the scanner window behaves like a blur filter.
The barcode data
Less common, but worth ruling out because it produces a scan that succeeds and still gives the wrong answer.
- Wrong check digit. UPC-A, EAN-13 and ITF-14 all require one. A wrong digit either fails to scan or resolves to a different product.
- Character not in the set. Code 39 takes uppercase only. A lowercase value gets silently uppercased by some tools and rejected by others.
- X-dimension below the minimum. Shrinking a barcode to fit a label template is how most codes end up below the size their symbology requires.
The barcode generator checks all three before drawing, and warns when the X-dimension or quiet zone falls outside the GS1 range for the symbology you picked.
Testing properly
Three rules that catch nearly everything before a production run.
- Test on paper, not on screen. None of the causes above are visible on a monitor. This matters most before a large batch run, where one bad setting multiplies.
- Test with the scanner that will actually be used. A phone camera is far more forgiving than a warehouse laser, so passing on a phone proves very little.
- Test the label in place. Apply it to the real product, on the real surface, and scan it there. Curvature and glare only appear at this stage.
If you print from this site, the print button includes a 50mm ruler on the page. If the ruler does not measure 50mm on the printed sheet, the print was scaled, and that is your answer before you look at anything else.
Sources
Every specification figure on this page traces to one of the following. Nothing is stated here that could not be checked against them.
- GS1 General Specifications size limits, as published by GS1
- Keyence code reader troubleshooting reference, quiet zone and colour contrast read errors
- Barcode scanner and thermal label printing troubleshooting references, cross-checked for the laser versus imager limitation, DPI floors, silent length restrictions and direct thermal fading
Last reviewed 6 September 2026
This guide is written and maintained by Cedrick Reese at Ready Utilities. The causes listed here were compiled from current barcode and label printing troubleshooting sources and cross-checked so that no single-source claim appears alone: the laser versus imager limitation, the silent length-restriction behaviour, DPI floors and thermal fading each appear in several independent references. Quiet zone figures come from the GS1 General Specifications rather than from troubleshooting articles. Where a figure is a general working rule rather than a published requirement, such as the ten times rule of thumb for quiet zones, it is described that way.
Common questions
Why is my barcode not scanning after printing?
Most often the print was scaled. Printing at anything other than 100% or Actual Size makes the driver resample the image, which blurs the bar edges and narrows the quiet zone. Set the print dialog to Actual Size, turn off draft and toner-save mode, and print a test label before the full run.
Why does my barcode look blurry?
Blurry bars come from resolution or from the printer, not from the barcode file. A laser printer needs at least 300 DPI for barcodes and 600 DPI for small labels. Thermal printers at 203 DPI or less are limited in how dense a barcode they can print. Inkjets bleed on coated label stock, which narrows the white gaps between bars.
My scanner reads some barcodes but ignores others completely. Why?
Two configuration causes look identical from the outside. The symbology may be switched off in the scanner, since many 2D imagers ship with QR, Data Matrix and PDF417 disabled. Or the symbology has a minimum or maximum length set, and a code outside that range is ignored silently.
Can a laser scanner read a QR code?
No. A laser scanner reads linear barcodes only, and no amount of configuration will change that. QR, Data Matrix, PDF417 and Aztec all need a 2D imager or a camera-based scanner.
How much white space does a barcode need around it?
As a general working rule, at least ten times the width of the narrowest bar on both sides. Individual symbologies differ: UPC-A needs 9X, EAN-13 needs 11X on the left and 7X on the right, and ITF-14 and GS1-128 need 10X. Any text, border or watermark inside that margin can cause a no-read.
Why did my barcode scan last month and not today?
Direct thermal labels are heat and UV sensitive, so sunlight or a hot vehicle fades them until the bars lose contrast. Labels also wrinkle with moisture, delaminate, or bow outward when applied across a box fold or seam, which stretches the bar spacing unevenly.
Does barcode colour matter?
Yes. Scanners read the contrast between bars and background, so dark bars on a light background is the reliable combination. Red on white is a common failure because many scanners see red as white. Coloured backgrounds, glossy stock and recycled grey paper all reduce contrast.