Guide

Why won’t my barcode scan? A troubleshooting checklist

Most scan failures come from a short list of causes, and you can find most of them with a ruler and a second scanner. Start with the table, then jump to the section that matches what you see.

11 min read

On this page

Symptom, cause and fix

SymptomLikely causeFix
No beep at all, though the barcode looks fineQuiet zone too narrow, or printed too smallClear the quiet zone, then check the size
Only scans when held perfectly levelBars cut shorter than the minimum heightRestore the full height
Laser scanner fails, phone camera worksRed, orange or other warm-coloured barsUse dark bars on a light background
Reads on a white label, fails on the packTransparent background on dark or coloured packagingPut a white box behind the code
Nothing reads a light-on-dark barcodeInverted coloursUse dark bars on a light background
Thin bars blurred or uneven on thermal labelsModule width not a whole number of printer dotsMatch the X-dimension to the dpi
Generator or scanner rejects the numberWrong check digit or lost leading zeroCheck the data
Scans, but the till says item not foundGTIN not in the retailer’s systemCheck the data
Retail till ignores the barcodeWrong symbology, such as Code 128 instead of UPC or EANUse the right symbology
Fails on bottles, cans or shiny filmCurvature or glareRotate it or move it
Used to scan, now doesn’tFaded, scuffed or damaged printReprint and protect it
Scans, but the wrong characters appearKeyboard layout, prefix or suffix settingCheck the scanner settings
One scanner reads it, another doesn’tSymbology disabled, or phone vs laser differencesScanner settings and phone vs laser

Quiet zone missing or too narrow

The quiet zone is the blank margin before the first bar and after the last. The scanner uses it to find where the barcode starts and ends, so text, a box edge or the label border inside it can stop a read even when the bars are perfect.

11X7X

Reads Quiet zone clear

2X2X

Fails Border too close

Left: EAN-13 with 11X and 7X quiet zones. Right: the same barcode with a border 2X from the bars, which many scanners will not read.
SymbologyLeftRight
EAN-1311X7X
UPC-A9X9X
EAN-87X7X
ITF-1410X10X
Code 128 and GS1-12810X10X
QR code4X4X
GS1 DataMatrix1X1X

X is the width of the narrowest bar. For an EAN-13 at 100% (X = 0.33 mm) that is 3.63 mm on the left and 2.31 mm on the right.

Fix: move text and artwork away from the bars, or use a bigger label. In the generator, the Quiet zone row in the spec panel turns red when a Code 128, GS1-128, Code 39 or Codabar margin drops below 10X.

Bars cut too short

It is tempting to shorten the bars to fit a pack. A full-height EAN-13 can be read with the scan line crossing it at an angle; a truncated one only reads when the line crosses it almost straight, which means missed scans and slower checkouts. GS1 specifications don’t allow the bar height to drop below the minimum.

Reads Full height

Fails Truncated

Full height (left) against truncated bars (right). Both are 100% wide; only the left one leaves room for an angled scan line.

At 100% the bars of an EAN-13 are 22.85 mm tall, and the height scales with magnification. Fix: reduce the overall magnification (not below 80%) instead of the height, or move the barcode to a larger panel.

Too small: below the minimum magnification

EAN-13 and UPC-A can be printed from 80% to 200% of their nominal size. Below 80% the bars become too thin for many scanners to resolve reliably, and ink spread fills the narrow gaps.

MagnificationX-dimensionEAN-13 / UPC-A width incl. quiet zones
80%0.264 mm29.83 mm
100%0.330 mm37.29 mm
150%0.495 mm55.94 mm
200%0.660 mm74.58 mm

Measure the printed barcode with a ruler. An EAN-13 or UPC-A narrower than about 29.8 mm including its quiet zones is below 80%. For very small packs, EAN-8 is 26.73 mm wide at 100%, but it needs its own GTIN-8 from GS1. The size guide has every step from 80% to 200%.

Low contrast or the wrong colours

Laser scanners, and many imaging scanners, light the barcode with red light. Red light reflects off red, orange and yellow almost as well as off white, so bars in those colours disappear. GS1 recommends dark bars, such as black, dark blue or dark green, on a light background such as white.

  • Reads Black on white

  • Reads Dark blue on white

  • Fails Red bars

  • Fails Transparent on dark packaging

  • Fails Inverted

  • Fails Grey on light grey

The same EAN-8 in six colour combinations. Only the first two are safe for retail scanners.
  • Red, orange, yellow or reddish-brown bars vanish under red light. Use black or another dark colour.
  • Dark or strongly coloured backgrounds reduce contrast. Put a white or light box behind the barcode and its quiet zone.
  • Transparent backgrounds take the colour of whatever they are printed on. On kraft, dark or clear packaging add a solid white box, and don’t rely on the contents of a clear pack as the background.
  • Inverted barcodes (light bars on a dark background) can’t be read by many scanners. Retail linear barcodes should be dark on light.

The generator warns you when the bar and background colours have low contrast, when the bars are lighter than the background, and when the background is transparent.

Printer dpi, bar width gain and dot rounding

A thermal or laser printer can only print whole dots. If a module isn’t a whole number of dots wide, the printer rounds every bar and space up or down, and the ratio between narrow and wide elements, which is what the scanner decodes, drifts.

PrinterDot sizeDots per 0.33 mm moduleNearest whole dots
203 dpi0.125 mm2.642 dots = 0.250 mm (76%)
3 dots = 0.375 mm (114%)
300 dpi0.085 mm3.903 dots = 0.254 mm (77%)
4 dots = 0.339 mm (103%)
600 dpi0.042 mm7.807 dots = 0.296 mm (90%)
8 dots = 0.339 mm (103%)

So on a 203 dpi label printer, a 100% EAN-13 or UPC-A doesn’t fit the dot grid: 2 dots per module is below the 80% minimum, and 3 dots prints at about 114%. Size the barcode for 3 dots per module, or use a 300 dpi printer, where 4 dots come within a few percent of nominal.

Bar width gain. Ink spreads into paper and thermal dots bloom slightly, so printed bars come out wider than designed and spaces narrower. Packaging printers compensate with bar width reduction (BWR), making each bar slightly thinner in the artwork; ask your printer how much their process needs.

Fix: print a vector SVG, or a PNG at 300 or 600 dpi, at 100% or Actual size rather than Fit to page, and never stretch the image in a layout program.

Check digit or invalid data

UPC, EAN and ITF-14 numbers end in a check digit calculated from the other digits. When it is wrong, a scanner set to verify it refuses the barcode instead of sending a wrong number.

  • Wrong check digit. Enter 11 digits for UPC-A or 12 for EAN-13 and let the generator add the check digit, or type all of them to verify it: it tells you which digit it should be.
  • Lost leading zeros. Spreadsheets turn 036000291452 into 36000291452. Format the column as text before pasting barcode numbers.
  • Scientific notation. Spreadsheets can display long numbers as 9.50600E+12, and copying that display loses digits. Same fix: store them as text.
  • Item not found. If the barcode scans but the till can’t find the product, the barcode is working and the retailer’s system doesn’t have that GTIN yet. Send the retailer your product data.
  • Characters the symbology can’t hold. EAN and UPC take digits only; Code 39 takes capital letters, digits and a few symbols.

Wrong symbology for the job

A retail till looks products up by the GTIN in a UPC or EAN barcode. A Code 128 barcode of your SKU may not be read at the checkout at all, and if it is, the till won’t find a product, even though the same label scans fine in your warehouse.

UseSymbology
Retail products at the checkoutUPC-A in the US and Canada, EAN-13 elsewhere, EAN-8 for very small packs
Outer cartons and casesITF-14 or GS1-128
Logistics labels with batch, expiry or SSCCGS1-128
Internal stock, assets, SKUs and Amazon FNSKUCode 128
2D at the retail checkoutQR code with GS1 Digital Link or GS1 DataMatrix, next to the UPC or EAN; see the Sunrise 2027 guide

Curved and glossy surfaces

On a bottle or can, the bars near the edges of the barcode curve away from the scanner and look narrower or disappear. GS1 specifications describe two orientations: picket fence, with the bars upright like a fence, and ladder, with the bars horizontal like rungs. Picket fence is preferred where the curve allows it; the GS1 General Specifications give the minimum diameters for each magnification. On tighter curves use ladder orientation, so the curve only shortens the visible bar length instead of hiding whole bars.

Gloss film, foil and shrink sleeves reflect the scanner’s light straight back. A matte varnish or a label patch behind the barcode helps, and when testing, tilt the scanner slightly instead of holding it square to the surface. Keep barcodes away from seams, folds, corners and areas that wrinkle when the pack is filled.

Damaged or worn prints

  • Fading direct thermal labels. Direct thermal paper darkens with heat and fades with light and time. For labels that must last, print thermal transfer with a ribbon.
  • The same white line on every label. A failed element on a thermal print head leaves a line in the same place each time; if it runs along a bar it can split the bar in two. Clean or replace the print head.
  • Scuffs and smudges. Bars rubbed in transit or smeared before the ink dried lose their edges. Protect labels with a laminate or varnish and keep codes away from edges that get handled.
  • Covered codes. Tape, strapping and price stickers over the bars or quiet zone stop a read. Leave the whole symbol visible.

Scanner configuration

  • Symbology disabled. Scanners often ship with some symbologies, such as Codabar or ITF, switched off or limited to certain lengths. Scan the enable code from the programming guide in the scanner manual.
  • Prefix and suffix. A USB scanner acts as a keyboard and usually sends Enter or Tab after the data. If your software expects something else, fields skip or two scans run together. Change the suffix in the scanner setup.
  • Keyboard layout. If the scanner’s keyboard country doesn’t match the computer’s, digits and symbols come out wrong, for example punctuation where numbers should be on a French AZERTY layout.
  • UPC-A arriving as 13 digits. Some scanners convert UPC-A to EAN-13 by adding a leading zero, or drop the check digit. Match the setting to what your database stores.

Phone camera vs laser scanner

They fail in different ways, so a barcode that reads on your phone hasn’t passed a retail test.

Laser scannerPhone camera
LightRed laser: red and orange bars vanishWhite light and a colour camera: red bars may still read
CodesLinear barcodes onlyLinear barcodes and 2D codes
AngleThe scan line must cross every bar; truncated codes need careful aimReads at most angles within the picture
Weak spotsGlare from gloss, damaged barsFocus on very small codes, low light, reflections

Test with the kind of scanner your customer or retailer uses. A phone is still a quick first check that the data is right.

Test before a full print run

  1. Export SVG, or PNG at 300 to 600 dpi, and print at 100% or Actual size, not Fit to page.
  2. Measure the printed width with a ruler and compare it with the size table.
  3. Check that the quiet zones are clear of text, edges, folds and seams.
  4. Print on the real material, the actual label stock, film or carton, not office paper.
  5. Scan with more than one device, a retail-style laser or imager and a phone, from several angles.
  6. Check that the decoded number matches the GTIN exactly, including leading zeros.
  7. Before a large retail launch, or when a retailer asks for one, get a verification report. Verifiers grade linear print quality to ISO/IEC 15416, and many GS1 member organisations offer barcode verification.

Tools for the next step

FAQ

Why does my barcode scan on screen but not when printed?

Printing changes things a screen hides: scaling to fit the page, printer dot rounding, ink spread, the colour or transparency of the material, and edges or text cutting into the quiet zone. Print at 100% scale on the final material and measure it.

Can a barcode be red or on a coloured background?

Bars should be dark, such as black, dark blue or dark green, on a light background. Red, orange and yellow bars disappear under the red light most retail scanners use, and a dark background reduces contrast. White or another light colour behind the bars is safest.

What is the smallest UPC or EAN I can print?

80% magnification: an X-dimension of 0.264 mm, about 29.83 mm wide including quiet zones for EAN-13 or UPC-A. If that doesn’t fit, consider EAN-8, which needs its own GTIN-8 from GS1.

Can I make the barcode shorter to fit my packaging?

Avoid it. Truncated bars make the barcode much harder to scan at an angle, and GS1 specifications don’t allow the height below the minimum. Reduce the overall magnification, not below 80%, or move the barcode to a larger panel.

Why does the scanner type the wrong characters?

Usually the scanner’s keyboard layout doesn’t match the computer’s, or a prefix or suffix is set. Set the scanner’s keyboard country to match the computer using the programming barcodes in its manual.

Do I need a barcode verifier?

Not for everyday checks; a ruler and two different scanners catch many problems. A verifier grades print quality to ISO/IEC 15416 and is worth using before a large retail launch or when a retailer asks for a verification report.

Sources

GS1 publications this guide is based on. Standards change; check the current version before you finalise artwork.

  1. GS1 General Specifications
  2. GS1 Sweden: barcode size guide
  3. GS1 UK: what colour should a barcode be?
  4. GS1: 2D barcodes at retail point-of-sale implementation guideline
  5. ISO/IEC 15416: linear barcode print quality test specification