I once printed 500 barcode labels for inventory using an inkjet printer set to "draft" mode. Every single barcode failed to scan. The scanner's laser saw blur where it should have seen sharp edges. That was an expensive afternoon of re-printing and re-stickering. Here's what I learned.
Inkjet: Fine for prototypes and small batches. Use the highest quality setting, not "draft" or "normal." The problem with inkjet is ink bleed — the black bars can spread slightly into the white spaces on regular paper. Matte label paper helps with this. Don't use glossy photo paper — the reflectivity interferes with laser scanners.
Laser: Better. Laser toner sits on top of the paper instead of soaking in, so the edges stay sharp. A $150 Brother or HP laser printer will produce barcodes that scan reliably. This is what I recommend for home use if you're printing more than 20 labels a week.
Thermal (Zebra, Rollo, Dymo): Best for high volume. These are what warehouses actually use. A Zebra ZD220 is about $300 and prints at 203 DPI with near-zero cost per label (thermal paper, no ink or toner). If you're printing more than 50 labels a day, the Zebra pays for itself in ink savings within months. Barcode factory's study from 2023 found that thermal-printed labels maintained 99.8% scan reliability after 6 months of warehouse handling, compared to 94% for laser and 82% for inkjet.
The number one mistake I see: people export their barcode as a 72 DPI screen-resolution image, scale it up in Word or Canva, and then print it. The barcode bars get fuzzy. Scanners read the edges of the bars — if those edges aren't sharp, the scanner can't distinguish a bar from a space.
Always export at 300 DPI minimum. For a 2-inch wide barcode on a label, that's a 600px-wide image. GenBarcode's PNG export defaults to 1024×400 pixels — which, when printed at 2×1 inches, yields 512 DPI. More than enough for reliable scanning. If you're using SVG, resolution doesn't matter because it's a vector format — it scales perfectly to any size. I recommend SVG for thermal printers and professional label printing services, PNG for home inkjet/laser on standard label sheets.
GS1 requires at least 10 times the width of the narrowest bar as blank space on each side of the barcode. This is called the quiet zone. When the quiet zone is too small — common when people try to cram barcodes onto small labels — scanners struggle to find where the barcode starts and ends. I've tested barcodes with zero quiet zone on a Zebra scanner, and about 40% of attempts failed. Same barcode with proper quiet zone: 100% scan rate.
If you're laying out labels in Word or a label designer, make sure there's at least 3/16 inch (about 5mm) of white space on each side of the barcode. Don't let the barcode run to the edge of the label.
Scan every barcode with at least two devices before you print hundreds of labels. I use my phone's camera (Google Lens on Android, Camera app on iPhone — both have built-in barcode recognition) and a dedicated scanner app. If both read it, you're good. For production runs, I add a handheld USB scanner — they're $25 on Amazon — because phone cameras and industrial laser scanners sometimes disagree on marginal barcodes.
One more thing: if you're printing on clear labels over a colored product, test the scan on the actual product. The color showing through changes the contrast. I learned this with labels on dark blue boxes — the barcode looked fine on the white label backing, but once applied to the blue box, the background darkened enough that some scanners couldn't read it.