Cause 1
The quiet zone was cropped
The blank margin either side of a barcode is part of the symbol, not padding around it. A scanner uses it to find where the code begins and ends; without it, the decoder has nothing to anchor on. EAN-13 needs eleven blank modules on the left and seven on the right, Code 128 needs ten each side, and a QR code needs four all round.
This is the most common failure by a wide margin, because cropping a barcode image to its visible bars feels like tidying up. If a downloaded symbol has been trimmed, or artwork sits hard against the bars, restore the margin and retest before changing anything else.
Cause 2
A raster image was scaled up
Bar edges have to be sharp. Enlarging a PNG interpolates those edges into grey ramps, and at print resolution a scanner reads a smeared boundary rather than a clean transition. The symptom is a code that scans from a screen but not from paper.
Use SVG for anything printed. It is vector, so the bar widths stay mathematically exact at any size. If a workflow demands a bitmap, export it at the final physical size and at 300 dpi or more, and never scale it up afterwards.
Cause 3
Contrast or colour is wrong
Laser scanners read reflectance under red light, so red bars on a white background are effectively invisible to them — the classic case of a barcode that a phone camera reads happily and the shop's scanner refuses. Yellow, orange and light green bars fail the same way.
Black on white is the safe answer. Dark blue, dark green and black on pale backgrounds also work. Never invert light bars on a dark background, and never place a barcode over a photograph, a gradient or a texture.
Cause 4
The symbol is too small or too short
Retail symbols have a defined size range: 80% to 200% of nominal, which puts the X-dimension between 0.264 mm and 0.660 mm. Below that floor the bars are narrower than the scanner's spot size and the read rate collapses. Our preview readout shows the current X-dimension in millimetres so you can catch this before printing.
Height matters too. Truncating a barcode to fit a label removes the operator's margin for a crooked sweep — the scan line has to cross every bar, and a short symbol demands a much more accurate aim. If space is tight, choose a format designed for it, such as EAN-8, rather than compressing one that is not.
Cause 5
Print quality or surface problems
Inkjet spread widens bars and narrows spaces, which pushes a symbol out of tolerance even when the file is perfect. A worn thermal printhead leaves white streaks straight through the bars. Glossy label stock throws specular reflection back at a laser. Curved surfaces distort the bar spacing, and a code wrapped around a bottle narrower than about 30 mm becomes hard to read from any angle.
Matte white labels, a printhead in good condition and a flat placement fix most of this. If you print in volume, a verifier that grades symbols to ISO/IEC 15416 is worth the money; short of that, scanning ten random labels from each batch catches drift early.
Cause 6
The scanner is not configured for that format
Sometimes the symbol is perfect and the reader is simply not listening. Many handheld scanners ship with less common symbologies disabled, and a device configured for retail may ignore Code 39 or ITF entirely. Point-of-sale software adds its own layer: if the decoded string does not match a product record, you get a beep and nothing else, which is easy to mistake for a failed read.
Test the symbol with a phone scanning app first. If the phone decodes it and returns the right string, the barcode is fine and the problem is in the scanner's configuration or the lookup behind it.
In short
The checking order
- Is the quiet zone intact?
- Is it vector, or a bitmap that has been enlarged?
- Are the bars dark on a light background?
- Is the X-dimension at least 0.264 mm, and the symbol full height?
- Is the print clean, matte and flat?
- Does a phone app decode it correctly?
If a phone reads it and your scanner does not, stop looking at the artwork and start looking at the equipment.
Questions
Frequently asked questions
My barcode scans on screen but not on paper. Why?
Almost always print resolution. A bitmap enlarged for print has soft bar edges. Re-export from SVG at the final size.
Can I use coloured bars?
Only dark colours on light backgrounds. Red, orange and yellow bars are invisible to red laser scanners even though a phone camera reads them.
How do I know if my quiet zone is big enough?
Leave at least ten times the narrow-bar width blank at each end. Files downloaded here already include the correct margin, so simply do not crop them.
Is a phone camera a fair test?
It is a good first test — phones are tolerant. If a phone fails, the symbol is definitely wrong. If a phone succeeds but a laser scanner fails, suspect contrast, gloss or configuration.