Ships across Europe & the UK Custom requests answered within 2 working hours
£ GBP
EN
Tagsfab — Label Manufacturing

Guides · updated 23 September 2026

Barcode print quality: why scans fail and how ISO 15416 grades work

The short answer: a barcode is not simply “good” or “bad” — it is graded. An ISO/IEC 15416 verifier reads a linear barcode along ten lines, grades each from 4 to 0 on the weakest of seven parameters, and averages them. GS1 asks an EAN-13 for at least 1.5 (C). Most failures are decided before the press starts: red bars, kraft or metallic stock, gloss over the code, a quiet zone eaten by a frame, a symbol shrunk below 80 % or wrapped round a narrow bottle.

Rolls of self-adhesive labels and sheets of printed EAN, Code 128 and QR barcodes

In 30 seconds

The 30-second answer: a barcode is measured, not just scanned

A barcode that scans on your desk can still be rejected by a retailer: print quality is measured with a verifier against ISO/IEC 15416 (linear codes) or ISO/IEC 15415 (QR and DataMatrix), and the result is a grade. Six facts:

  • Seven parameters, one weakest link. Each scan takes the lowest of its seven parameter grades.
  • Ten scans, one average. The overall grade is the mean of at least ten scan grades taken across the height, to one decimal place.
  • 4 to 0 equals A to F. 3.5 to 4.0 is A, 2.5 to 3.4 B, 1.5 to 2.4 C, 0.5 to 1.4 D, below 0.5 F.
  • GS1 minimum for an EAN-13: 1.5/06/660. Grade 1.5 (C), 6-mil aperture (0.150 mm), 660 nm light.
  • Size and margins are rules. X-dimension 0.264 to 0.660 mm, bars never cut below the minimum height, quiet zones of 11 modules left and 7 right.
  • Most failures are design choices. Red bars, brown or metallic grounds, clear film without a white underlay, gloss over the code, trimmed margins and tight curves.

Barcode verification grades

ISO/IEC 15416 grades each scan on its weakest parameter, then averages at least ten scans

An ISO/IEC 15416 verifier records a scan reflectance profile — the light reflected along one line across the symbol — and grades seven parameters from it. The scan receives the lowest of the seven grades; the symbol receives the average of at least ten scans, taken in ten equal steps over the height of the bars (GS1 1D verification guideline, section 4.5.1.1). The thresholds below are the ISO values published by GS1 (GS1 Bar Code Verification for Linear Symbols, Annex A).

ISO/IEC 15416 parameters and grade thresholds, linear barcodes
ParameterWhat it measures4 (A)3 (B)2 (C)1 (D)0 (F)
DecodeThe reference algorithm finds the right number of bars and spaces and decodes them, check digit includedpassfail
Symbol contrast (SC)Rmax − Rmin: lightest space against darkest bar≥ 70 %≥ 55 %≥ 40 %≥ 20 %< 20 %
Minimum reflectanceAt least one bar no lighter than half the lightest spaceRmin ≤ 0.5 RmaxRmin > 0.5 Rmax
Minimum edge contrastThe weakest bar-to-space transition≥ 15 %< 15 %
Modulation (MOD)Minimum edge contrast divided by symbol contrast≥ 0.70≥ 0.60≥ 0.50≥ 0.40< 0.40
DefectsSpots in spaces, voids in bars: worst ripple divided by symbol contrast≤ 0.15≤ 0.20≤ 0.25≤ 0.30> 0.30
DecodabilityMargin left in bar and space widths before a decoding error≥ 0.62≥ 0.50≥ 0.37≥ 0.25< 0.25

For EAN/UPC, GS1-128 and ITF-14, GS1 adds the quiet zone as a pass-or-fail check: a scan whose measured margin is too narrow is graded 0 (GS1 General Specifications, section 5.12.5.1.2).

Reading the overall grade

One bad line does not sink a barcode; a recurring fault does. Nine scans graded 2 and one that crosses an ink spot and grades 0 give (9 × 2 + 0) ÷ 10 = 1.8, a C: pass. A smear covering a third of the bar height catches three scans: (7 × 2) ÷ 10 = 1.4, a D: fail.

Letters come from the older ANSI method, with identical thresholds. A grade means nothing without the aperture and wavelength written next to it.

Numeric and letter grades (overall symbol grade)
LetterOverall gradeMeaning in practice
A3.5 to 4.0Target for every barcode
B2.5 to 3.4Comfortable margin
C1.5 to 2.4GS1 minimum for EAN/UPC at retail
D0.5 to 1.4Accepted only for ITF-14 on brown board (0.5)
Fbelow 0.5Fail

Source: GS1 Australia, ISO verification fact sheet, table 9.

The retail rule

GS1 asks an EAN-13 for grade 1.5 at 6 mil and 660 nm, between 80 and 200 % of nominal size

For trade items scanned at retail point of sale, GS1 symbol specification table 1 sets the EAN-13 at an X-dimension of 0.264 mm minimum, 0.330 mm target and 0.660 mm maximum, quiet zones of 11X on the left and 7X on the right, and a minimum quality of 1.5/06/660 (GS1 General Specifications, release 26.0, table 5-44). Read the notation left to right: grade 1.5, aperture reference 06 (a 0.150 mm spot), light at 660 nm ± 10 nm. Older reports show 670 nm; the current specification says 660.

The X-dimension is the width of the narrowest bar or space, the module, and everything scales with it. An EAN-13 is 95 modules of bars plus 18 of quiet zone — 113 X, so 37.29 mm wide at 0.330 mm, with bars 22.85 mm high. The 37.29 × 25.93 mm often quoted (GS1 UK) includes the digits; the General Specifications now count bar height only.

Anatomy of an EAN-13 barcode at nominal sizeEAN-13 for GTIN 9520123456788: 37.29 mm wide including an 11-module left quiet zone (3.63 mm) and a 7-module right quiet zone (2.31 mm), bars 22.85 mm high, guard bars extended below, and ten scan lines across the height as a verifier takes them.952012345678837.29 mm — 113 modules, quiet zones includedBar height22.85 mm nominalscales with X: 18.28mm at 80 %, never cutX-dimension0.330 mm nominal0.264 to 0.660 mm(80 to 200 %)10 scan lineseach graded 4 to 0;the symbol grade istheir averageQuiet zone 11X3.63 mm, leftGuard bars, extended 5Xleft · centre · rightQuiet zone 7X2.31 mm, right
EAN-13 at nominal size, drawn to scale from GTIN 9520123456788 — a number in the 952 range GS1 reserves for examples. Shaded: the quiet zones. Dashed: the ten scan lines a verifier averages.
EAN-13 dimensions by size (GS1 table 5-44; 150 % row calculated proportionally)
SizeX-dimensionWidth, quiet zones includedMinimum bar heightLeft quiet zone (11X)Right quiet zone (7X)
80 % — minimum0.264 mm29.83 mm18.28 mm2.90 mm1.85 mm
100 % — nominal0.330 mm37.29 mm22.85 mm3.63 mm2.31 mm
150 %0.495 mm55.94 mm34.28 mm5.45 mm3.47 mm
200 % — maximum0.660 mm74.58 mm45.70 mm7.26 mm4.62 mm

Three details decide real jobs. The bar height SHALL NOT be truncated below the minimum. A verifier fails any scan whose measured quiet zone is under 10X left or 6.2X right of an EAN-13 (table 5-63). And on-demand thermal or laser printers may go down to 75 % (0.250 mm), because an exact 80 % is not printable at 203 or 300 dpi — an allowance no other process gets (section 5.12.6).

2D codes

QR codes and DataMatrix are graded under ISO/IEC 15415, on parameters that suit a grid

A matrix code is read as an image, so ISO/IEC 15415 (third edition, 2024) grades what a camera needs: symbol contrast, modulation, fixed pattern damage (finder and timing patterns), axial and grid non-uniformity (module spacing) and unused error correction (redundancy left). Print growth is reported but not graded. Each image takes its lowest parameter grade (GS1 2D verification guideline, section 7).

ISO/IEC 15415 thresholds for matrix symbols (GS1 2D guideline, table 7-3)
GradeSymbol contrastAxial non-uniformityGrid non-uniformityModulationUnused error correction
4 (A)≥ 0.70≤ 0.06≤ 0.38≥ 0.50≥ 0.62
3 (B)≥ 0.55≤ 0.08≤ 0.50≥ 0.40≥ 0.50
2 (C)≥ 0.40≤ 0.10≤ 0.63≥ 0.30≥ 0.37
1 (D)≥ 0.20≤ 0.12≤ 0.75≥ 0.20≥ 0.25
0 (F)< 0.20> 0.12> 0.75< 0.20< 0.25

The 2D grade is written grade/aperture/light/angle; an asterisk after it flags extreme reflectance around the symbol — a foil edge, a glossy border — which GS1 says should normally count as a fail (General Specifications, 5.12.5.10.7). GS1 sets 1.5 as the minimum for GS1 DataMatrix and GS1 QR Code. Module sizes and quiet zones for a QR read at the till are in GS1 Digital Link and QR codes on labels.

Proof of quality

A scanner answers yes or no; a verifier says how close the code is to failing

A scanner is built to decode a poor barcode; a verifier is built to measure it, with a fixed aperture, a fixed wavelength and a calibrated reflectance scale, so that another verifier reproduces the grade. Verifiers are tested against ISO/IEC 15426-1 (linear) and 15426-2 (2D) and checked with calibrated conformance test cards (GS1 General Specifications, 5.12.5). A phone app that reads the code proves the data is right, nothing more.

GS1 is as clear about what a verifier does not tell you: most do not measure bar height, none checks that the digits underneath match the bars or that the number is the right product, and a perfect code at the press can still be scratched, frozen or soaked on the way to the shelf.

Verify in the final configuration — laminated, on the pack, contents behind it. On a transparent material, verify on a dark backing and on a light one and keep the poorer result (section 5.12.5.2). And use the specified aperture: too small exaggerates defects, too large hides them and lowers modulation.

Verifier or scanner
Scanner
decodes or not
Verifier
grades 4 to 0
Linear standard
ISO/IEC 15416:2016
2D standard
ISO/IEC 15415:2024
Verifier conformance
ISO/IEC 15426-1 and -2
EAN-13 setting
0.150 mm · 660 nm
Does not measure
bar height, digits, data

Why a barcode won’t scan · 1

Why a barcode won’t scan, part one: contrast — red bars, kraft, metal, clear film and gloss

Most scan failures are contrast failures, and they follow from one fact: scanners and verifiers light the code with red light around 660 nm, so anything that reflects red reads as white. GS1 says red, orange and yellow codes will be difficult to decode and that black on white is the best combination (GS1 retail 2D guideline, 4.6.5). Black, dark blue and dark green bars absorb red and read dark; dark bars on a red or yellow ground can work, because the ground reads light — verify rather than trust the screen.

White paper reflects over 75 % of the light and black ink 3 to 8 %, so black on white reaches grade 4 for symbol contrast almost automatically. Brown board reflects 27 to 40 %: even with the blackest ink, symbol contrast cannot beat grade 1, so the symbol cannot beat 1.0 — below the 1.5 an EAN-13 needs (GS1 General Specifications, 5.12.5.11). A pale brown ink on white fails on minimum reflectance instead: in GS1’s example the lightest space reflected 83 %, so the bars had to be 41.5 % or darker; they measured 43 %.

Substrate and finish: what fails, and the fix
SituationParameter that failsWhyFix
Red, orange or yellow barsSymbol contrast, decodeThey reflect red light like the groundBlack or dark blue bars
Kraft or recycled brown paperSymbol contrast, defectsLow, uneven reflectance; fibres read as spotsWhite panel under the code, or the code on a white coated label
Metallic or mirror filmSymbol contrast, modulationMirror metal sends light away from the sensor: reads darkOpaque white panel under the code
Clear filmSymbol contrast, modulationThe contents show through the spacesWhite underlay; verify on dark and light backing
Gloss lamination or varnishSymbol contrast, reading at the tillGloss can read darker than expected and glare at imagersMatt lamination over the code
Reversed code, light bars on darkDecodeLinear codes expect dark bars on lightDark on light, always
Silver asset label on equipment, the barcode printed black on an opaque white panel
Metallic stock: the barcode sits on an opaque white panel, never on the bare metal.
Dark bitters labels with batch numbers and EAN barcodes printed in a light panel
Dark design: a light panel keeps the contrast the verifier measures.

On our range: plan a white panel on silver and metallic labels (always laminated, gloss or matt) and a white underlay on clear polyester; over a code, choose matt lamination. Variable barcodes are not offered online on creative or eco-friendly papers, for the reasons in this table — see variable data, explained.

Why a barcode won’t scan · 2

Why a barcode won’t scan, part two: bar gain, print direction, height, quiet zones and curves

When the contrast is right and the grade is still low, the cause is almost always dimensional, and each fault shows up in a specific parameter.

Bar gain and bar width reduction

Ink spreads: bars print wider than the master and spaces narrower — GS1’s example is a 0.9 mm master bar printing at 1.0 mm. EAN decoding measures edge to similar edge, so uniform gain is largely tolerated, except in the digits 1, 2, 7 and 8, where decodability falls first. The cure is bar width reduction built into the master for the press. Two faults undo it: rescaling a barcode unevenly in layout software, and pasting it as a low-resolution image.

Print direction: picket fence or ladder

Some processes give much better results when the bars run in the direction of print, along the web (GS1, section 6.2.3.1); on flexography a stretched plate distorts bars that cross it. Thermal printers show it clearly. With bars along the feed — “picket fence” as the label leaves the printer — each bar is drawn by the same heating dots. In “ladder”, every bar is a row of dots switched on and off, heat lingers and bars fatten, so rotated codes must print more slowly.

The dot pitch sets the sizes available: at 203 dpi a module is 0.250 mm (75.8 %) or 0.375 mm (113.6 %); at 300 dpi, 0.333 mm (GS1 table 5-60). Printer and ribbon pairings are in direct thermal vs thermal transfer.

Desktop thermal printer feeding out a shipping label with its barcode bars running in the feed direction
Picket fence as it leaves the printer: the bars run with the feed, so each one is drawn by the same heating dots.

Height truncation

A barcode cut in height to fit a narrow label is the classic code that verifies well and fails at the checkout: most verifiers do not measure height, but an omnidirectional till needs it to catch the code at an angle. GS1 allows truncation only if there is absolutely no possibility of printing a full-size code, never below the table height. Reduce the X-dimension evenly towards 80 %, enlarge the label, or check whether an EAN-8 is authorised for the pack.

Quiet zones

GS1 calls quiet zones a frequent source of scanning problems: a frame drawn round the code, text pushed against it, a symbol so close to the die-cut edge that register variation eats the margin. Draw the quiet zone as a keep-out box — 3.63 and 2.31 mm at nominal size — inside the safety area described in preparing print-ready files.

Curved packs

On a bottle or a jar, a barcode with upright bars wraps round the curve and its ends disappear. GS1’s rule: the angle between the tangents at the centre of the code and at its outer guard bar must stay under 30°; beyond that, turn the code to ladder, bars horizontal, so the curve only shortens the bars (section 6.2.3.2).

EAN-13 bars upright on a round container: largest X-dimension allowed (GS1 table 6-1, extract)
Container diameterLargest X, EAN-13 uprightWhat it means
45 mm or lessnot allowedTurn the code to ladder, bars horizontal
50 mm0.274 mmPermitted, not recommended on curves
60 mm0.330 mmNominal size fits
70 mm0.386 mmAbout 117 %
90 mm0.495 mm150 %
120 mm or more0.660 mmAny size up to 200 %

Which label sizes leave room for a barcode on common bottles and jars: bottle and jar label sizes.

At Tagsfab

We print to GS1 specifications; tell us at quote stage if your retailer needs a verification report

We print to GS1 specifications; if your retailer requires a verification report, tell us at quote stage, through the custom request form, with the minimum grade they set — and anything else they specify beyond GS1.

A barcode that is the same on every label — one EAN per product reference — is ordinary printing, included in the price; you approve its size and position on the proof. A barcode that changes from label to label is variable data, printed in the same pass as the design on numbered and barcode labels, from 100 labels: EAN-13, Code 128 and GS1 codes, from + £96 excl. VAT per run of 100. You send the numbers; the check digit, the quiet zone and the bar width are ours.

When the date and the lot change daily, the barcode is often best left to you: overprintable rolls keep a bare panel to print as you pack. Materials that may touch the food are on food-safe labels.

Order example — jam jars, 1 000 labels with EAN-13
Pack
round jar, 70 mm diameter
Material
white coated paper
Finish
matt lamination
Barcode
EAN-13, same on every label
Size
100 %, X 0.330 mm, bars upright
Quiet zones
3.63 mm left · 2.31 mm right
Colour
black bars on white
Barcode cost
included

An illustration, not a limit: runs start at 100 labels and quantities above 10 000 are quoted.

Checklist

Checklist: ten points to check before you approve the proof

  1. The right number. GTIN from your GS1 allocation, check digit recalculated, digits under the bars identical to the data.
  2. The right symbology. EAN-13 or UPC-A for a retail till; ITF-14 is not for point of sale.
  3. Size. X-dimension between 0.264 and 0.660 mm; 0.330 mm unless space forbids.
  4. Height. Bars at least the minimum for the chosen X — 22.85 mm at nominal size — never truncated.
  5. Quiet zones. 11X left and 7X right, clear of text, frames and the die-cut edge.
  6. Colour. Black or dark blue bars on a white or pale ground; no red, orange or yellow bars; never reversed.
  7. Substrate. White panel under the code on kraft, metallic, dark designs and clear film.
  8. Finish. Matt over the code, not gloss.
  9. Placement. Inside the safety area, on the flattest face, bars horizontal on narrow bottles.
  10. Proof. Code checked at final size on the proof; a verification report arranged at quote stage if the retailer asks for one.

FAQ

Barcode print quality — what customers ask us

What is the minimum barcode grade for retail?

For an EAN-13 or UPC-A scanned at a retail till, GS1 sets a minimum overall grade of 1.5 (C), measured with a 6-mil (0.150 mm) aperture under 660 nm light, written 1.5/06/660. The target is grade 4 (A), and some retailers set a higher minimum, so check theirs before the run.

Why does my barcode scan with a phone but fail verification?

A phone is designed to decode a poor barcode; a verifier measures how far the code is from failing. A symbol can decode perfectly and still grade D because of low contrast, spots in the spaces, bar gain or a narrow quiet zone — faults that older or faster till scanners do not forgive.

What do the grades A, B, C, D and F mean on a verification report?

They are letter equivalents of the ISO numeric scale: 3.5 to 4.0 is A, 2.5 to 3.4 B, 1.5 to 2.4 C, 0.5 to 1.4 D and below 0.5 F. The overall grade is the average of at least ten scan grades, each scan taking the lowest of its seven parameters.

Can a barcode be printed in colour?

Within limits. Scanners use red light around 660 nm, so red, orange and yellow bars disappear. Black, dark blue and dark green bars on a white or pale ground scan well; dark bars on a red or yellow ground can work but should be verified. Never print light bars on a dark ground.

How small can an EAN-13 barcode be printed?

At 80 % of nominal size: an X-dimension of 0.264 mm, 29.83 mm wide including quiet zones, bars 18.28 mm high. Only on-demand thermal and laser printers may go down to 75 %. Cutting the bars below the minimum height is not allowed.

Why does a barcode fail on a bottle or a jar?

The ends of an upright barcode disappear round the curve. GS1 limits the angle between the centre and the edge of the code to 30°: for an upright EAN-13, a container of 45 mm diameter or less requires horizontal bars, and at 60 mm the nominal 0.330 mm size is the largest allowed upright.

Do you supply an ISO barcode verification report?

We print to GS1 specifications and show every static barcode at final size on the proof. If your retailer requires a verification report, tell us at quote stage through the custom request form, with the minimum grade they ask for.

Still unsure?

Ask the person who makes them

The guide covers the general case — your label lives on a real product. Describe it in two lines and a label specialist (not a bot) answers within 2 working hours.

Answered within 2 working hours

Barcodes that scan at the till, printed from 100 labels.

EAN-13, Code 128 and GS1 codes. Static codes included; numbering from + £96 per run.

See numbered and barcode labels