On this page
Symptom, cause and fix
| Symptom | Likely cause | Fix |
|---|---|---|
| No beep at all, though the barcode looks fine | Quiet zone too narrow, or printed too small | Clear the quiet zone, then check the size |
| Only scans when held perfectly level | Bars cut shorter than the minimum height | Restore the full height |
| Laser scanner fails, phone camera works | Red, orange or other warm-coloured bars | Use dark bars on a light background |
| Reads on a white label, fails on the pack | Transparent background on dark or coloured packaging | Put a white box behind the code |
| Nothing reads a light-on-dark barcode | Inverted colours | Use dark bars on a light background |
| Thin bars blurred or uneven on thermal labels | Module width not a whole number of printer dots | Match the X-dimension to the dpi |
| Generator or scanner rejects the number | Wrong check digit or lost leading zero | Check the data |
| Scans, but the till says item not found | GTIN not in the retailer’s system | Check the data |
| Retail till ignores the barcode | Wrong symbology, such as Code 128 instead of UPC or EAN | Use the right symbology |
| Fails on bottles, cans or shiny film | Curvature or glare | Rotate it or move it |
| Used to scan, now doesn’t | Faded, scuffed or damaged print | Reprint and protect it |
| Scans, but the wrong characters appear | Keyboard layout, prefix or suffix setting | Check the scanner settings |
| One scanner reads it, another doesn’t | Symbology disabled, or phone vs laser differences | Scanner settings and phone vs laser |
Quiet zone missing or too narrow
The quiet zone is the blank margin before the first bar and after the last. The scanner uses it to find where the barcode starts and ends, so text, a box edge or the label border inside it can stop a read even when the bars are perfect.
Reads Quiet zone clear
Fails Border too close
| Symbology | Left | Right |
|---|---|---|
| EAN-13 | 11X | 7X |
| UPC-A | 9X | 9X |
| EAN-8 | 7X | 7X |
| ITF-14 | 10X | 10X |
| Code 128 and GS1-128 | 10X | 10X |
| QR code | 4X | 4X |
| GS1 DataMatrix | 1X | 1X |
X is the width of the narrowest bar. For an EAN-13 at 100% (X = 0.33 mm) that is 3.63 mm on the left and 2.31 mm on the right.
Fix: move text and artwork away from the bars, or use a bigger label. In the generator, the Quiet zone row in the spec panel turns red when a Code 128, GS1-128, Code 39 or Codabar margin drops below 10X.
Bars cut too short
It is tempting to shorten the bars to fit a pack. A full-height EAN-13 can be read with the scan line crossing it at an angle; a truncated one only reads when the line crosses it almost straight, which means missed scans and slower checkouts. GS1 specifications don’t allow the bar height to drop below the minimum.
Reads Full height
Fails Truncated
At 100% the bars of an EAN-13 are 22.85 mm tall, and the height scales with magnification. Fix: reduce the overall magnification (not below 80%) instead of the height, or move the barcode to a larger panel.
Too small: below the minimum magnification
EAN-13 and UPC-A can be printed from 80% to 200% of their nominal size. Below 80% the bars become too thin for many scanners to resolve reliably, and ink spread fills the narrow gaps.
| Magnification | X-dimension | EAN-13 / UPC-A width incl. quiet zones |
|---|---|---|
| 80% | 0.264 mm | 29.83 mm |
| 100% | 0.330 mm | 37.29 mm |
| 150% | 0.495 mm | 55.94 mm |
| 200% | 0.660 mm | 74.58 mm |
Measure the printed barcode with a ruler. An EAN-13 or UPC-A narrower than about 29.8 mm including its quiet zones is below 80%. For very small packs, EAN-8 is 26.73 mm wide at 100%, but it needs its own GTIN-8 from GS1. The size guide has every step from 80% to 200%.
Low contrast or the wrong colours
Laser scanners, and many imaging scanners, light the barcode with red light. Red light reflects off red, orange and yellow almost as well as off white, so bars in those colours disappear. GS1 recommends dark bars, such as black, dark blue or dark green, on a light background such as white.
Reads Black on white
Reads Dark blue on white
Fails Red bars
Fails Transparent on dark packaging
Fails Inverted
Fails Grey on light grey
- Red, orange, yellow or reddish-brown bars vanish under red light. Use black or another dark colour.
- Dark or strongly coloured backgrounds reduce contrast. Put a white or light box behind the barcode and its quiet zone.
- Transparent backgrounds take the colour of whatever they are printed on. On kraft, dark or clear packaging add a solid white box, and don’t rely on the contents of a clear pack as the background.
- Inverted barcodes (light bars on a dark background) can’t be read by many scanners. Retail linear barcodes should be dark on light.
The generator warns you when the bar and background colours have low contrast, when the bars are lighter than the background, and when the background is transparent.
Printer dpi, bar width gain and dot rounding
A thermal or laser printer can only print whole dots. If a module isn’t a whole number of dots wide, the printer rounds every bar and space up or down, and the ratio between narrow and wide elements, which is what the scanner decodes, drifts.
| Printer | Dot size | Dots per 0.33 mm module | Nearest whole dots |
|---|---|---|---|
| 203 dpi | 0.125 mm | 2.64 | 2 dots = 0.250 mm (76%) 3 dots = 0.375 mm (114%) |
| 300 dpi | 0.085 mm | 3.90 | 3 dots = 0.254 mm (77%) 4 dots = 0.339 mm (103%) |
| 600 dpi | 0.042 mm | 7.80 | 7 dots = 0.296 mm (90%) 8 dots = 0.339 mm (103%) |
So on a 203 dpi label printer, a 100% EAN-13 or UPC-A doesn’t fit the dot grid: 2 dots per module is below the 80% minimum, and 3 dots prints at about 114%. Size the barcode for 3 dots per module, or use a 300 dpi printer, where 4 dots come within a few percent of nominal.
Bar width gain. Ink spreads into paper and thermal dots bloom slightly, so printed bars come out wider than designed and spaces narrower. Packaging printers compensate with bar width reduction (BWR), making each bar slightly thinner in the artwork; ask your printer how much their process needs.
Fix: print a vector SVG, or a PNG at 300 or 600 dpi, at 100% or Actual size rather than Fit to page, and never stretch the image in a layout program.
Check digit or invalid data
UPC, EAN and ITF-14 numbers end in a check digit calculated from the other digits. When it is wrong, a scanner set to verify it refuses the barcode instead of sending a wrong number.
- Wrong check digit. Enter 11 digits for UPC-A or 12 for EAN-13 and let the generator add the check digit, or type all of them to verify it: it tells you which digit it should be.
- Lost leading zeros. Spreadsheets turn
036000291452into36000291452. Format the column as text before pasting barcode numbers. - Scientific notation. Spreadsheets can display long numbers as
9.50600E+12, and copying that display loses digits. Same fix: store them as text. - Item not found. If the barcode scans but the till can’t find the product, the barcode is working and the retailer’s system doesn’t have that GTIN yet. Send the retailer your product data.
- Characters the symbology can’t hold. EAN and UPC take digits only; Code 39 takes capital letters, digits and a few symbols.
Wrong symbology for the job
A retail till looks products up by the GTIN in a UPC or EAN barcode. A Code 128 barcode of your SKU may not be read at the checkout at all, and if it is, the till won’t find a product, even though the same label scans fine in your warehouse.
| Use | Symbology |
|---|---|
| Retail products at the checkout | UPC-A in the US and Canada, EAN-13 elsewhere, EAN-8 for very small packs |
| Outer cartons and cases | ITF-14 or GS1-128 |
| Logistics labels with batch, expiry or SSCC | GS1-128 |
| Internal stock, assets, SKUs and Amazon FNSKU | Code 128 |
| 2D at the retail checkout | QR code with GS1 Digital Link or GS1 DataMatrix, next to the UPC or EAN; see the Sunrise 2027 guide |
Curved and glossy surfaces
On a bottle or can, the bars near the edges of the barcode curve away from the scanner and look narrower or disappear. GS1 specifications describe two orientations: picket fence, with the bars upright like a fence, and ladder, with the bars horizontal like rungs. Picket fence is preferred where the curve allows it; the GS1 General Specifications give the minimum diameters for each magnification. On tighter curves use ladder orientation, so the curve only shortens the visible bar length instead of hiding whole bars.
Gloss film, foil and shrink sleeves reflect the scanner’s light straight back. A matte varnish or a label patch behind the barcode helps, and when testing, tilt the scanner slightly instead of holding it square to the surface. Keep barcodes away from seams, folds, corners and areas that wrinkle when the pack is filled.
Damaged or worn prints
- Fading direct thermal labels. Direct thermal paper darkens with heat and fades with light and time. For labels that must last, print thermal transfer with a ribbon.
- The same white line on every label. A failed element on a thermal print head leaves a line in the same place each time; if it runs along a bar it can split the bar in two. Clean or replace the print head.
- Scuffs and smudges. Bars rubbed in transit or smeared before the ink dried lose their edges. Protect labels with a laminate or varnish and keep codes away from edges that get handled.
- Covered codes. Tape, strapping and price stickers over the bars or quiet zone stop a read. Leave the whole symbol visible.
Scanner configuration
- Symbology disabled. Scanners often ship with some symbologies, such as Codabar or ITF, switched off or limited to certain lengths. Scan the enable code from the programming guide in the scanner manual.
- Prefix and suffix. A USB scanner acts as a keyboard and usually sends Enter or Tab after the data. If your software expects something else, fields skip or two scans run together. Change the suffix in the scanner setup.
- Keyboard layout. If the scanner’s keyboard country doesn’t match the computer’s, digits and symbols come out wrong, for example punctuation where numbers should be on a French AZERTY layout.
- UPC-A arriving as 13 digits. Some scanners convert UPC-A to EAN-13 by adding a leading zero, or drop the check digit. Match the setting to what your database stores.
Phone camera vs laser scanner
They fail in different ways, so a barcode that reads on your phone hasn’t passed a retail test.
| Laser scanner | Phone camera | |
|---|---|---|
| Light | Red laser: red and orange bars vanish | White light and a colour camera: red bars may still read |
| Codes | Linear barcodes only | Linear barcodes and 2D codes |
| Angle | The scan line must cross every bar; truncated codes need careful aim | Reads at most angles within the picture |
| Weak spots | Glare from gloss, damaged bars | Focus on very small codes, low light, reflections |
Test with the kind of scanner your customer or retailer uses. A phone is still a quick first check that the data is right.
Test before a full print run
- Export SVG, or PNG at 300 to 600 dpi, and print at 100% or Actual size, not Fit to page.
- Measure the printed width with a ruler and compare it with the size table.
- Check that the quiet zones are clear of text, edges, folds and seams.
- Print on the real material, the actual label stock, film or carton, not office paper.
- Scan with more than one device, a retail-style laser or imager and a phone, from several angles.
- Check that the decoded number matches the GTIN exactly, including leading zeros.
- Before a large retail launch, or when a retailer asks for one, get a verification report. Verifiers grade linear print quality to ISO/IEC 15416, and many GS1 member organisations offer barcode verification.
Tools for the next step
FAQ
Why does my barcode scan on screen but not when printed?
Printing changes things a screen hides: scaling to fit the page, printer dot rounding, ink spread, the colour or transparency of the material, and edges or text cutting into the quiet zone. Print at 100% scale on the final material and measure it.
Can a barcode be red or on a coloured background?
Bars should be dark, such as black, dark blue or dark green, on a light background. Red, orange and yellow bars disappear under the red light most retail scanners use, and a dark background reduces contrast. White or another light colour behind the bars is safest.
What is the smallest UPC or EAN I can print?
80% magnification: an X-dimension of 0.264 mm, about 29.83 mm wide including quiet zones for EAN-13 or UPC-A. If that doesn’t fit, consider EAN-8, which needs its own GTIN-8 from GS1.
Can I make the barcode shorter to fit my packaging?
Avoid it. Truncated bars make the barcode much harder to scan at an angle, and GS1 specifications don’t allow the height below the minimum. Reduce the overall magnification, not below 80%, or move the barcode to a larger panel.
Why does the scanner type the wrong characters?
Usually the scanner’s keyboard layout doesn’t match the computer’s, or a prefix or suffix is set. Set the scanner’s keyboard country to match the computer using the programming barcodes in its manual.
Do I need a barcode verifier?
Not for everyday checks; a ruler and two different scanners catch many problems. A verifier grades print quality to ISO/IEC 15416 and is worth using before a large retail launch or when a retailer asks for a verification report.
Sources
GS1 publications this guide is based on. Standards change; check the current version before you finalise artwork.
- GS1 General Specifications
- GS1 Sweden: barcode size guide
- GS1 UK: what colour should a barcode be?
- GS1: 2D barcodes at retail point-of-sale implementation guideline
- ISO/IEC 15416: linear barcode print quality test specification