2026-04-27 Updated 2026-08-02 Knowledge Base

Common Barcode Printing Errors and How to Fix Them

TL

Written by

Ready to generate barcodes?

Create high-quality labels in seconds.

Start Generator →

A perfect digital file is only half the battle. The print process introduces its own failures, and in a busy warehouse or store a printing error rate of even one percent quietly burns hours of staff time chasing rescans and reprints.

The frustrating part is that most of these faults are invisible to the eye. A label can look immaculate and still fail on a handheld scanner, because what matters is not how the code looks but how wide the bars ended up in millimetres. This guide takes the four faults you actually meet, and for each one gives the symptom, the measurement that proves it, and the number you need to change.

First, the thing nobody tells you: your printer rounds every bar

A barcode is defined by X, the width of its narrowest element. Everything else in the symbol is a multiple of X. But a printer cannot place a fraction of a dot, so every bar width gets rounded to the nearest whole dot — and X moves with it.

At 203 dpi, one dot is 25.4 / 203 = 0.1251 mm. A nominal EAN-13 at magnification 1.00 has X = 0.330 mm, which is 2.64 dots. The printer rounds that to 3 dots, so what actually lands on the label is:

X requested 0.330 mm
X printed at 203 dpi 0.3754 mm
Error +13.7%
Effective magnification 1.137
Symbol width (113 modules) 42.42 mm instead of 37.29 mm

The label is five millimetres wider than the design called for. That is usually harmless on its own — but if you laid out the label so the code fits with two millimetres to spare, it now runs into the border, and you have created a quiet-zone fault without touching the design.

The counter-intuitive part: the error does not shrink as you shrink the code. It depends on where the nominal X happens to fall between two dots.

Magnification X nominal Error at 203 dpi Error at 300 dpi
0.80 0.264 mm −5.2% −3.8%
0.90 0.297 mm −15.7% +14.0%
1.00 0.330 mm +13.7% +2.6%
1.50 0.495 mm +1.1% +2.6%
2.00 0.660 mm −5.2% +2.6%

Magnification 0.90 is the worst case on both printers, and it is worse than the legal minimum of 0.80. If you are scaling a code down to fit a small label and it starts failing, do not assume you went too small. Try 0.80 and 1.00 and measure — one of them will very likely print cleaner than the 0.90 in between.

You can check your own case by running the printed label through a scanner at 1200 dpi and measuring the narrowest bar in pixels: at 1200 dpi one pixel is 0.0212 mm, so a bar 18 pixels wide is 0.381 mm.

1. Bleeding (ink spreading)

Bleeding is when ink or thermal ribbon creeps past the edge of the bar it was meant to fill.

The tell: the white gaps between bars look too thin, or neighbouring bars start to merge. The giveaway is asymmetry — bars grow, spaces shrink, and the total symbol width stays the same. That distinguishes bleeding from the rounding above, where bars and the symbol both grow.

How to measure it: scan the label at 1200 dpi and measure one narrow bar and one narrow space. In a healthy print they are within a few percent of each other. If the bar came out 0.42 mm and the space 0.28 mm where both should be 0.35 mm, the bar has gained 0.07 mm in total — which means each edge spread by 0.035 mm, and the neighbouring space lost the same amount from both sides. Note that the two errors cancel: the symbol as a whole is still the right width, which is exactly why bleeding survives a visual check.

The cause: too much heat on a thermal printer, where an over-hot head melts the ribbon into the label, or uncoated paper that soaks up ink like blotting paper.

The fix: turn the darkness or temperature setting down in the driver, one step at a time, remeasuring each time. On an inkjet, move to a coated label stock. If you print the same job on a press that always gains a known amount, the professional answer is bar width reduction — you shrink every bar in the source file by the measured gain, so the press adds it back. Ask your printer for their gain figure rather than guessing; it is specific to their ink, stock and press.

2. Voids (white lines through the code)

A thin white line running vertically through every bar is a scanner's worst enemy.

The tell: a consistent white streak cutting straight down through bars and spaces alike, in the same place on every label.

How to tell it apart from a design fault: a void crosses bars and spaces indiscriminately, and it lands in the identical position on every label in the roll. A design problem never does that.

The cause: almost always hardware — a dead element in the thermal print head, or a fleck of dust or adhesive stuck to it.

The fix: clean the head gently with an isopropyl-alcohol swab. If the line survives the cleaning, the head element is burnt out and the head needs replacing. As a stopgap, rotating the label layout 90° turns a vertical void into a horizontal one that runs along a single bar rather than cutting across all of them — scanners tolerate that far better, because the redundancy in a linear symbol runs along the bar height.

3. Skewing (printed at an angle)

Skewing is when the code comes out tilted instead of square to the label.

The tell: the whole barcode looks rotated a few degrees, or the bar edges run slightly diagonal.

Here is the part that explains why skew sometimes matters enormously and sometimes not at all. A laser scanner decodes from one uninterrupted sweep. That sweep must enter the left quiet zone and leave through the right one without wandering off the top or bottom of the bars. So the tilt a symbol tolerates is set by its own proportions: tan θ = height / width.

For an EAN-13 at magnification 1.00 — 37.29 mm wide including quiet zones:

Bar height Tilt ceiling
22.85 mm (full spec height) 31.5°
15 mm 21.9°
12 mm 17.8°
10 mm 15.0°
8 mm 12.1°
5 mm 7.6°

These are geometric ceilings; real scanners lose a few degrees more to spot size and depth of field, so treat them as upper bounds.

This is the real cost of truncating bar height. Trimming a code from its full 22.85 mm down to 10 mm to fit a small label halves the tilt it survives, from 31.5° to 15°. Nothing about the print quality changed — but a hand-held scan that used to work at a casual angle now misses. If your codes fail on handhelds while a fixed scanner reads them fine, look at bar height before you look at the printer: fixed scanners usually sweep in several directions and hide the problem.

The cause of the skew itself: the label roll is not seated squarely in its guide, or worn rollers are letting the stock slip.

The fix: centre the roll and snug the guides against it, check the rollers for dirt or slippage — and if you had shortened the bars, give them their height back.

4. Quiet-zone intrusion

The quiet zone is the blank margin on either side of the code, and it is the easiest thing on a label to lose.

The tell: the barcode looks perfect, yet it only scans from one side, or not at all.

The cause: a logo, border, or line of text printed too close to the code's edge — or, as above, a symbol that printed wider than designed and ate its own margin.

The fix: the requirement is not the same on both sides for every symbology. EAN-13 wants 11X on the left and only 7X on the right, so a symmetric margin that looks balanced can still be short where it counts. The full table per symbology, in X-multiples and in millimetres, is in Quiet Zones: the invisible margin.

The Code 39 trap: a ratio the dot grid cannot express

Code 39 uses two element widths, and the standard requires the wide bar to be between 2.0 and 3.0 times the narrow one. On a dot grid, only some combinations can express that:

Narrow Legal wide widths (203 dpi)
1 dot (0.125 mm) 2 dots (2.00:1) or 3 dots (3.00:1)
2 dots (0.250 mm) 4, 5 or 6 dots (2.00–3.00:1)
3 dots (0.375 mm) 6, 7, 8 or 9 dots

If your software renders a narrow bar as 2 dots and a wide bar as 3, the ratio is 1.5:1 — outside the standard, and many scanners will refuse it outright even though the label looks fine.

The same trap catches rescaled raster files. Take a Code 39 drawn for 300 dpi with a 2-pixel narrow bar and print it at 203 dpi: the scale factor is 0.677, the narrow bar rounds to a single dot, and you get 0.125 mm — a ratio still inside spec, but a narrow element well under the ~0.191 mm that general-purpose handheld scanners need. Note which check failed: rounding usually preserves the proportion while quietly pushing the width below the floor. That is why "it's the right shape" is not evidence that a rescaled barcode will scan.

The way out is to not rescale rasters at all — generate at the size and resolution you will print, or use vector output, where the renderer snaps elements to the output grid for you. PDF vs SVG barcodes covers which format to hand your printer.

Before you print 5,000 labels

Thirty seconds of checking saves a wasted roll:

  1. Format — printing from SVG or PDF, not JPG or PNG?
  2. Scale — printer set to 100%, not "Fit to Page"? Any percentage other than 100 puts you back on the rounding table above.
  3. Measure the sample — print one label, scan it at 1200 dpi, measure the narrowest bar. Does it match the X you asked for?
  4. Contrast — bars truly black, background truly white?
  5. Margins — the correct quiet zone on each side, not a symmetric one?
  6. Height — full bar height, or do you now know what tilt you gave up?
  7. Real-world test — scan it with a handheld and a phone, deliberately at an angle.

Most of these never start if the source file is right — clean vector output at the size you will actually print. You can generate that on BarcodeReady whenever you need it.


Related Articles

TL
Software Engineer

Tomasz is a full-stack software engineer with a background in supply chain technology and logistics systems. He built BarcodeReady to solve a real problem he encountered while working on inventory management systems: the lack of a fast, free, and standard-compliant barcode generator that works entirely in the browser without requiring uploads or account registration. BarcodeReady is his answer to that gap — built on rigorous GS1 and ISO standards research.

Ready to generate barcodes?

Create high-quality labels in seconds.

Start Generator
Back to Knowledge Base