🖥️ BatchPrintGTIN.com is optimised for desktop — for the best experience, open on a laptop or desktop browser.

Home › Blog › Why Is My Barcode Not Scanning?

Why Is My Barcode Not Scanning? 8 Causes and How to Fix Them

Published April 2026  ·  BatchPrintGTIN.com

A barcode that looks visually correct — clean black bars, readable numbers beneath — can still fail to scan at retail checkout, an Amazon receiving dock, or a warehouse scanner. The cause is almost always one of eight specific, fixable problems. This guide identifies each one and gives you the exact steps to resolve it.

Cause 1 — Print Resolution Is Too Low

The most common cause of barcode scan failure for labels printed on office printers. A barcode printed at 72 or 96 DPI — the default for many word processors and screen-resolution exports — has bars that are too few pixels wide. At printing, bars at this resolution are too narrow for a scanner beam to reliably differentiate from the spaces between them, especially on a consumer inkjet printer with ink spread.

Fix: Download your barcode at 300 DPI minimum. In BatchPrintGTIN, use the 300 DPI chip in the resolution selector, or use the SVG format (which has no resolution limit and renders at full sharpness regardless of print size). For retail packaging, 600 DPI or SVG is recommended.

Cause 2 — The Quiet Zone Is Missing or Too Narrow

Every barcode specification requires a minimum amount of white space on each side of the barcode — called the quiet zone. The scanner uses the quiet zone to locate the start of the barcode. If the quiet zone is narrowed by text, borders, images, or packaging artwork extending too close to the bars, the scanner cannot reliably find the barcode start and the scan fails.

GS1 specifies a minimum quiet zone of 10 times the X-dimension (narrow bar width) on each side of a UPC-A or EAN-13. At nominal scale, this is approximately 3mm per side. Many print and packaging designers encroach on the quiet zone without realising it.

Fix: In your packaging artwork, ensure a minimum 3mm clear zone on all four sides of the barcode. Nothing — no text, no border, no colour background — should enter this zone. Check this at 100% scale in your design software before sending to print.

Cause 3 — The Barcode Is Printed Too Small

GS1 specifies a minimum size for retail barcodes: UPC-A and EAN-13 must be printed at no less than 80% of nominal size. Nominal width for both is 37.29mm; 80% magnification is approximately 29.8mm. Below this, the bars are too narrow for reliable retail scanning. On small packaging where 29.8mm is difficult to achieve, UPC-E (the compressed 6-digit variant) or EAN-8 are the appropriate alternatives, not a scaled-down full barcode.

Fix: Measure the printed barcode width on your actual label or packaging. If it is below 29.8mm, either increase the barcode size on the label or switch to a compressed format (UPC-E for North American retail, EAN-8 for international). Use SVG format from BatchPrintGTIN and set the physical dimensions in your design software to exactly 30mm wide minimum.

Cause 4 — Insufficient Colour Contrast

Retail scanners measure the difference in light reflectance between bars and spaces. GS1's specification requires a minimum print contrast signal of 0.75 (on a scale of 0–1) between bar and background. In practical terms, this means black bars on white is the only reliably safe colour combination for retail scanning. Dark green on white usually passes. Dark blue on white usually passes. But dark brown on kraft paper, dark navy on cream packaging, or any colour-on-colour combination frequently fails.

Fix: Use black bars on a white background for all retail barcodes. If your packaging design requires a coloured background, print the barcode inside a white box — leave a white rectangle in the packaging artwork specifically for the barcode area, maintaining the quiet zone within that white area. Never use reversed-out barcodes (light bars on a dark background) — these fail at virtually all retail scanners.

Cause 5 — The Barcode Is on a Curved or Textured Surface

A barcode printed on a cylindrical container (bottle, tube, can) that wraps around the curve will fail to scan if the scanner beam crosses the curve. The bars on the curved portion appear narrower or wider than their nominal width due to the geometric distortion, causing the scanner to read incorrect bar widths. Similarly, a barcode on a deeply textured surface (heavily embossed paper, corrugated cardboard without a smooth label substrate, or a rough kraft bag) may fail because the texture creates micro-shadows that the scanner reads as false bar edges.

Fix: On cylindrical packaging, place the barcode on a flat label area — design the label so the barcode section lies flat against a scanning surface. GS1 specifies that the barcode must not wrap more than one degree of curve. On corrugated cardboard, use a label with a smooth white backing rather than printing directly on the corrugated surface. For flexible packaging (pouches, bags), ensure the barcode area is on a flat face with no creases within the quiet zone.

Cause 6 — Check Digit Error

Every UPC-A, EAN-13, and EAN-8 barcode ends with a mathematically calculated check digit. If the check digit is wrong — because someone manually typed the 12th digit, used a barcode from a third-party source with an incorrect check digit, or made a transcription error — the scanner will read the barcode but the POS or inventory system will reject it as invalid. It may appear as a scan failure or as a "product not found" error.

Fix: Use BatchPrintGTIN to generate your barcodes — the check digit is calculated automatically from your 11-digit input (for UPC-A), and you cannot accidentally enter a wrong one. If you suspect a check digit error on an existing barcode, scan it with a smartphone barcode app that displays the decoded number — then verify the last digit using GS1's check digit calculator at gs1.org.

Cause 7 — Wrong Barcode Format for the Scanner

Scanners are programmed to read specific barcode symbologies. A retail checkout laser scanner reads UPC-A and EAN-13 but cannot read Code 128, Code 39, or QR codes. A warehouse barcode scanner may not be programmed to read UPC-A if it was set up only for internal formats. A basic consumer barcode scanner app may not read PDF417 or Data Matrix.

Fix: Verify the barcode format matches what the scanning equipment is programmed to read. For retail checkout, use UPC-A or EAN-13. For warehouse and internal logistics, Code 128 is the standard. For QR codes, an imaging scanner or smartphone is required — laser-only scanners cannot read QR codes regardless of print quality.

Cause 8 — Ink Spread on Inkjet Printers

Consumer and office inkjet printers apply ink that spreads slightly into the paper fibres as it dries. On narrow bar barcodes, this ink spread causes bars to be physically wider than specified — which changes the bar/space ratio and causes incorrect character decoding. This is particularly problematic with standard UPC-A at small print sizes and with Code 39 at any size, both of which have relatively narrow tolerances.

Fix: Use a laser printer for all barcode label printing — laser toner fuses to paper without spreading and produces consistently sharp bar edges. If only an inkjet is available, increase the barcode's Bar Width setting slightly in BatchPrintGTIN (try 0.2–0.3 units wider than default) to compensate for spread, and test on the actual printer at the intended print size before committing to a production run. Alternatively, use SVG format with a commercial print shop for retail packaging barcodes — professional offset printing produces GS1-grade output regardless of the reproduction method.

Pre-flight checklist before any production label run: Print one test sheet → scan with a handheld scanner or smartphone app → verify the decoded number exactly matches your intended data → check quiet zones are clear → confirm physical width is above minimum spec → only then proceed to full production.

Related Resources