Guide · Business
Why Your Barcode Won’t Scan (Quiet Zone, Format, and Check Digits)
Updated 2026-08-30 · 7 min read
The sticker looks like a barcode. The gun beeps a sad tone or types nothing. Barcode won’t scan is not “bars are decorative.” It is quiet zone, X-dimension, printer bleed, the wrong symbology, a check digit, or a PNG that was resized until the spaces filled in.
How to generate barcodes for inventory is the happy path: Code128 for your SKUs, EAN-shaped codes as a look, GS1 honesty. This page is the incident on the packing table. QR failures are a sibling article - Why your QR code won’t scan - because people mix the two families in one search.
Barcode Generator on DevOkk.com draws Code128, Code39, EAN-13/8, UPC-A/E, ITF, ITF-14, MSI, and Codabar in the browser. No signup. Completing a label does not upload the SKU list. Analytics still load; see the privacy policy. Drawing a legal-looking EAN is not a GS1 company prefix. Do not put a made-up GTIN on a product you intend to sell through retail checkout.
The gun is the spec, not the preview
Phone apps forgive. They try several symbologies, they use a camera with autofocus, they like contrast. A cheap laser gun is configured once by a warehouse tech in 2018: “Code128, minimum width, no inverse.” Your beautiful UPC mockup is invisible to that device.
Ask what the scanner expects. Then generate that. Do not “upgrade” a partner’s UPC into Code128 because the bars looked cleaner. The partner’s software is waiting for 12 digits with their check digit.
Test with that hardware. A successful phone scan is necessary for a poster; it is not sufficient for a receiving dock.
Quiet zone is not optional
Linear codes need empty light space before the first bar and after the last. Cropping the SVG flush to the bars in a label template is the most common desktop-publishing miss. The gun sees a truncated start pattern and gives up.
Keep margin in Barcode Generator. Do not place the code against a colored box, a fold, or a photo of the product.
QR quiet zone is a related idea with different geometry. Do not assume a QR-safe crop is barcode-safe.
Size, X-dimension, and “it fit the sticker”
Bars have a minimum width for a given scanner distance. A Code128 of 40 characters squeezed onto a 15 mm craft-box sticker is a weekend of failures. Shorten the identifier or enlarge the label. Do not shrink the bars in Illustrator until they look “tidy.”
EAN-13 has industry minimum sizes for retail. If a customer sent a spec sheet, follow it. A generator will not know your aisle lighting.
Contrast, kraft, and color barcodes
Black on white. Brown on kraft absorbs lasers poorly. Red bars on white can vanish to some lasers (red illumination). Inverse (white on black) needs a gun that allows it.
Inkjet on cheap paper: ink spreads, narrow spaces die, check digits still print as human text so you think it is fine. Thermal transfer exists because this is old.
Lamination glare is the cousin of QR poster fail. Matte. Test under the same lights as the dock.
Check digits and “invalid content”
EAN-13 and UPC are not free-form strings. Length and check digit are part of the symbology. If the generator toasts “invalid,” the value is wrong for that format - not a broken site. Code128 will take a messy SKU. EAN will not take SKU-BLUE-42.
If you typed 12 digits and the rendered 13th does not match the number your ERP stored, you invented a different product. Encode the number the system already has, in the format it named.
ITF-14 and carton codes have their own length rules. Do not pick them because the dropdown was long.
Screenshot vs SVG
A phone photo of a monitor, then “print sticker,” is how modules blur. Export SVG from Barcode Generator for print. PNG at a high resolution if the RIP hates SVG. Do not upscale a 200-pixel PNG.
Online Image Compressor is for photos, not for crushing a barcode until bars merge.
Phone scans, gun does not (and the reverse)
Phone yes, gun no. Wrong symbology, too small for the laser’s optics, or a 2D-only app that was actually reading a QR you placed nearby.
Gun yes, phone no. Some phones are bad at 1D. That is OK if phones are not the workflow. Do not switch the whole warehouse to QR because your iPhone is lazy.
Neither. Quiet zone, contrast, or a value that is not valid for the format.
Code39 vs Code128 vs “the old gun”
Code39 is wider, fewer characters, still in automotive and healthcare cabinets. If the gun is ancient and Code128 “doesn’t exist,” Code39 may be the actual requirement. Confirm. Do not assume newer is scannable on older firmware.
Codabar still shows up on blood-bank and library stories. If they said Codabar, do not send Code128 “because it is denser.”
A worked example: sample kits for a trade show
You printed Code128 of KIT-2026-A on kraft with no quiet zone. Staff phones scan it. The venue’s asset gun does not. Reprint black-on-white, margin, larger. Keep Code128 if the gun owner said so. Do not add a QR on top of the bars at 8 mm - both fail.
If the booth also needs a URL, that is a separate QR on a separate card: QR Code Generator.
A worked example: “we need a barcode to sell on Amazon”
You generated a random EAN-13 that scans in a phone app. Amazon’s catalog still wants a GTIN you are authorized to use. The scan proves the bars are a barcode. It does not prove you own the number. Buy or borrow a real GTIN path. Use the generator for internal SKUs and prototypes.
Invoices, SKUs, and mixing jobs
A barcode on an invoice can point at INV-1042 in Code128 so warehouse can match a paper pack. That is not a payment QR. Do not encode bank details in a 1D code. Build the bill in Invoice Generator; encode only the identifier the scanner should return.
Batch print after one round trip
Generate one. Print one. Scan into the spreadsheet. If the cell matches the source string, batch. If you skip this, you print 500 confident mistakes.
The generator will not keep history. Your sheet will.
The gun on the packing table is the spec
Ask the format, print larger than you like, keep the quiet zone, export SVG, test the real scanner. Barcode Generator is the local draw. How to generate barcodes for inventory is the type picker. Retail checkout is still GS1, not a dropdown.
Wrapping labels and curved bottles
A Code128 around a bottle becomes trapezoids. The gun sees warped widths. Print on a flat flag, a neck sticker that stays planar, or a carton. QR on a curve has the same physics with different symptoms. If the product is a cylinder, test the real shape, not a flat proof.
Magento, Shopify, and “we need a barcode field”
The storefront field is a string. The sticker is an encoding of that string. If Shopify has SKU-1 and the label has SKU1, the gun is right and inventory is wrong. Generate from the export, not from memory. Barcode Generator will faithfully encode a typo.
MSI, ITF, and leftover dropdown tourism
Those formats exist for specific partners. If nobody asked for MSI, you do not need it. A failed scan after “trying ITF because it looked industrial” is a self-own. Default internal: Code128. Default US grocery mockup: UPC-A with a number you are allowed to test. Default EU grocery mockup: EAN-13, same caveat.
Human-readable line vs the bars
The numbers under the bars are for people when the print is scuffed. The gun reads the bars, not the font. If you edit the caption in a design tool but not the encoded value, the dock scans SKU-1 while a picker reads SKU-2. Generate caption and bars from the same string in Barcode Generator (displayValue on). Do not typeset the caption by hand in Canva unless you copied the exact value.
Stretching bars in a mockup
Non-uniform scale (make it shorter but not narrower) changes bar/space ratios. Some guns still read it; many do not. Scale uniformly. SVG from the generator, then size the whole mark.
The gun on the packing table is the spec
Ask the format, print larger than you like, keep the quiet zone, export SVG, test the real scanner. Barcode Generator is the local draw. How to generate barcodes for inventory is the type picker. Retail checkout is still GS1, not a dropdown.
Frequently asked questions
Why won’t my barcode scan?
Wrong symbology for the gun, a missing quiet zone, print too small or too light, inkjet bleed, a check-digit mismatch on EAN/UPC, or a screenshot instead of SVG. Generate in Barcode Generator and test with the hardware you will actually use - not only a phone app.
Is this the same as a QR that won’t scan?
Related physics (contrast, size, glare), different family. QR is 2D for cameras. Linear barcodes are stripes for 1D scanners. Why your QR code won’t scan is the poster problem. This page is the gun-and-SKU problem.
Does DevOkk upload my SKU list?
No. Barcode Generator draws in the browser. No account. It will not store your catalog. Save the SVG yourself.
I generated EAN-13. Stores still reject it. Why?
A valid-looking EAN is not a licensed GTIN. Retail listings need a GS1 prefix you paid for. The tool can render bars for tests. It cannot assign you a number for national checkout.
Phone scans it, warehouse gun does not.
The phone is a camera running a 2D decoder that also tries 1D. The gun may be locked to Code128 or UPC only, or it wants a wider X-dimension. Configure the gun or reprint in the format the gun owner named.
Should I use a QR for inventory instead?
If pickers have phones and a URL/app, QR can win. If they have a 2014 USB scanner expecting Code128, QR is a stall. Happy path for types: How to generate barcodes for inventory.
Related guides
More reading that links back to the same tools and workflows.
How to Generate Barcodes for Inventory and Labels
Barcode types and on-device labels.
5 min read
Why Your QR Code Won’t Scan (Print, Contrast, and Payload Size)
Finder patterns, error correction, logos, and glossy lamination. Generate a scannable code in the browser - a QR is not encryption.
11 min read
How QR Codes Work (and How to Generate One)
QR basics and local generation for URLs, Wi-Fi, and vCards.
5 min read
How to Create a Professional Invoice Without Excel
Freelance invoices in the browser; client data stays local.
5 min read