Barcode Not Scanning from Shopify? How to Fix It
LabelCraft - barcode labels for Shopify that print at exactly the size you set.
Every label prints at the size you set - measured, not approximate.
Overflow or a missing barcode always raises a visible warning before you print.
Modules snap to your printer's dots, so codes stay crisp and scan first time.
We never overwrite or reassign a product's existing barcode.
A barcode that will not scan at the till is one of the fastest ways to lose a sale and a customer's patience. The good news: a barcode either scans or it does not for a small, well-understood set of reasons, and almost all of them are about how the label was printed, not the number itself. This guide walks through the seven real causes — in the order worth checking — and shows how LabelCraft is built to prevent each one before a single label leaves the printer.
First, narrow it down: the number, or the printout?
Before changing anything, find out which half of the problem you have. A barcode is a number plus a printed symbol, and the two fail in different ways:
- Try the same product on a different scanner, or use a phone barcode app. If it still fails everywhere, the printed symbol is probably fine and the number is wrong — skip to the GTIN section.
- Hold the label flat under good light and look closely. Blurred, grey, or hairline-thin bars point at the printout — read on from the next section.
- Compare a label that scans with one that does not. If only some products fail, the difference is usually a missing or invalid barcode number on those specific variants.
Cause 1: the barcode is printed too small (the X-dimension)
Every linear barcode has an X-dimension — the width of its narrowest bar. Squeeze the barcode into a box that is too small and the narrow bars fall below what a scanner can resolve, so it beeps for no one. An EAN-13 needs roughly 25 mm of width at 100% magnification to scan reliably on an ordinary retail scanner; a Code 128 SKU needs width in proportion to how many characters it encodes. Cramming a long code into a 20 mm box is the single most common reason a freshly printed label will not read.
LabelCraft renders barcodes at exact physical size (±0.1 mm) and, crucially, never shrinks a barcode silently. If the box you chose is too small for the code to scan at your printer's resolution, the print step warns you before the roll runs — and the scan-readiness pre-flight on the print and location-label screens checks your actual codes against the chosen template, not a generic sample. A barcode that is too small is caught on screen, not discovered at the till.
Cause 2: no quiet zone (the barcode is crowded by text or the edge)
A barcode needs a clear margin of blank space on each side — the quiet zone — so the scanner knows where the symbol starts and stops. Put a price, a product name, or the label edge right up against the bars and many scanners will refuse to read it, even though the bars themselves are perfect. The official Retail Barcode Labels app and ad-hoc PDF templates are easy to crowd this way.
LabelCraft adds the correct quiet zones automatically and lints your template for elements that overlap or obstruct the barcode — including a thick rule or line drawn across it — so a crowded code is flagged in the editor preview rather than printed. Anything that runs past the label edge raises a never-silent out-of-bounds warning instead of being quietly clipped.
Cause 3: low resolution or thermal blur
Thermal label printers are typically 203 or 300 DPI. At those densities the printer can only place whole dots, so a barcode whose bars do not line up with the dot grid comes out with fuzzy, uneven edges that scan poorly. Common culprits:
- Printing a barcode image that was scaled by the print dialog or the browser, so its bars no longer sit on whole printer dots.
- A dirty or worn thermal printhead, or a low darkness/heat setting, giving grey instead of solid-black bars.
- Direct-thermal labels that have faded from heat or sunlight before they were even scanned.
LabelCraft renders barcode bars on whole printer dots (whole-dot modules) for the target DPI, so edges stay crisp instead of being rounded off by scaling. Print at actual size (see the next section), keep the printhead clean, and nudge the darkness up if bars look grey — and your bars will land exactly where the engine drew them.
Cause 4: “fit to page” shrank the whole label
This is the most common — and most fixable — cause of all. If the print dialog is set to Fit to page, Shrink oversized pages, or any scale other than 100%, every barcode on the sheet is reduced below the size it was designed at, and a code that would have scanned no longer does. Always print at actual size:
- Adobe Acrobat / Reader — in the Print dialog, under Page Sizing & Handling, choose Actual size (not “Fit” or “Shrink oversized pages”).
- Chrome / Edge — open More settings and set Scale to 100% (not “Fit to printable area”), and pick the correct paper or label size.
- Preview / macOS — set Scale to 100% and turn off Scale to fit in the Print dialog.
- Choose the paper size that matches your label stock (for example your exact roll or A4 sheet) so the printer driver does not rescale to fill a different page.
LabelCraft renders each label to the exact physical size of your stock (±0.1 mm), so printing at 100% / actual size is always the right setting and the barcode comes out at the size it was validated for. There is no guesswork and no “scale until it fits.”
Cause 5: low contrast or the wrong colours
Scanners read the contrast between dark bars and a light background. Black bars on a white label are ideal. Light or coloured bars, a coloured or glossy background, or a red overlay all cut the contrast a scanner needs — red is effectively invisible to many red-light laser scanners, so red bars read as blank. Keep barcodes solid black on a plain, light, matte background, and never tint or screen them.
Cause 6: a leading zero went missing (UPC ↔ EAN)
A UPC-A is 12 digits and an EAN-13 is 13 — the same item, with the UPC being the EAN with a leading zero. Spreadsheets are notorious for silently stripping that leading 0, turning a valid 0123456789012 into a shorter number whose check digit no longer matches. The barcode then encodes a different value, or fails validation entirely, and will not scan as the product you meant.
LabelCraft treats a 12-digit UPC and its 13-digit EAN form as the same GTIN, so a leading-zero difference between your supplier list and Shopify still matches the right variant when you import or scan-verify. Its Barcode check page flags a code whose length or check digit is wrong, and offers the corrected number as a one-click fix — before the label prints.
Cause 7: the barcode number itself is wrong or missing
Sometimes the printout is perfect and the number is the problem: the variant has no barcode at all (so nothing meaningful is encoded), the check digit is wrong, or the same code is reused across several variants so it rings up the wrong item. LabelCraft's Barcode check page audits every variant against the GS1 rules, generates valid EAN-13s or internal Code 128 codes for the ones missing a barcode, corrects wrong check digits, and resolves duplicates — each as a dry-run preview you confirm before it writes anything back to Shopify. For the full background on valid GTINs, see the GS1 guide below.
A 60-second checklist before you print
- Print at 100% / actual size — never “fit to page.”
- Use a label box wide enough for the code (about 25 mm for an EAN-13).
- Leave a clear quiet zone — no text or edge touching the bars.
- Keep bars solid black on a plain, light, matte background.
- Confirm the variant has a valid, unique barcode in Shopify first.
- Watch for LabelCraft's on-screen warnings — they catch a bad label before it prints.
Install free — 200 labels per month →
Still stuck on a code that will not scan? Contact LabelCraft support — we respond within one business day.
Related guides
- Shopify POS Barcode Labels: Print Labels That Scan at the Register
- Shopify Labels Printing the Wrong Size? Print at Actual Size
- Shopify label size chart
- Which label size do I need? A quick chooser
- 203 vs 300 DPI for Shopify Barcode Labels
- Why Shopify Barcode Labels Get Cut Off — and How LabelCraft Stops It
- Minimum barcode size to scan reliably
- Colored or low-contrast barcode will not scan
- Why is my label text too small or blurry on a thermal printer?
- Why is my Shopify thermal barcode printing blurry, faded or not scanning?
- Printing labels for long product names
- Shopify labels print too small even at 100%? Calibrate your printer
- Print sequential and serial numbered labels for Shopify products
- How many Avery sheets will my batch use?
- How to Print Price Tags & Shelf Labels from Shopify
- Why a Barcode Label Shows the Wrong Price Amount - and How to Fix It
- Print Shopify Metafields and Custom Fields on Your Labels
- Add Your Logo to a Shopify Barcode Label