addaScan home
Assessment
Barcode quality standards // Chapter 2 of 4

What is ISO/IEC 15415 and how does it grade 2D codes?

By Frank GuoTechnical review: Frank GuoPublished Updated 6 min read

// In short

ISO/IEC 15415 is the international test specification for the print quality of two-dimensional symbols, including Data Matrix and QR codes. For matrix codes, a verifier images the whole symbol instead of profiling single scan lines, and grades parameters such as symbol contrast, modulation, fixed pattern damage, grid non-uniformity and unused error correction from 4 to 0. GS1 writes the result as grade, aperture, light and angle, for example 1.5/20/660 for GS1 DataMatrix on logistic units. The current edition dates from 2024.

// Key takeaways

  • ISO/IEC 15415 grades matrix codes such as Data Matrix and QR from an image of the whole code, not from scan lines.
  • It adds parameters linear barcodes do not have, such as grid non-uniformity and unused error correction.
  • GS1 adds the lighting angle to the grade when it is not 45 degrees, and an asterisk for problem surroundings.
  • For marks made directly on parts, ISO points to ISO/IEC 29158 used together with ISO/IEC 15415.

What does ISO/IEC 15415 cover?

According to ISO’s abstract, the standard specifies two measurement methods, one for multi-row (stacked) barcodes and one for two-dimensional matrix symbols. It sets out how to evaluate and grade the measurements and derive an overall assessment of symbol quality, and it gives information on likely causes of poor grades. It applies to 2D symbologies with a defined reference decode algorithm. The third edition was published in December 2024 and replaced the 2011 edition.

For GS1 the standard is not optional: the GS1 General Specifications state that the ISO/IEC 15415 method shall be used to measure and grade GS1 DataMatrix. GS1 has standards for five 2D barcodes, of which GS1 DataMatrix and QR Code with a GS1 Digital Link URI are the best known. GS1 also notes that laser scanners and linear imagers cannot read 2D codes; only 2D imagers and camera-based systems can.

Which parameters make up a 2D grade?

A 2D verifier captures an image, finds the symbol, works out where each cell should be and measures what it sees there. GS1’s DataMatrix guideline explains that each image gets the grade of its lowest parameter, and the overall symbol grade is the average over several images. The table follows GS1’s description for Data Matrix; for QR codes the GS1 report adds format and version information.

ISO/IEC 15415 parameters for Data Matrix as GS1 describes them
ParameterWhat it checks, as GS1 describes it
DecodeWhether the reference decode algorithm for the symbology reads the symbol. Pass (4) or fail (0).
Symbol contrastThe difference between the lightest and darkest areas, quiet zone included.
ModulationHow consistent the dark and light areas are across the whole symbol.
Fixed pattern damageDamage to the parts every symbol of that type shares: for Data Matrix the L-shaped finder, the quiet zone and the clock track opposite it.
Axial non-uniformityWhether the symbol is stretched or squeezed more along one axis than the other.
Grid non-uniformityThe largest distance between where a grid point should be and where it was measured.
Unused error correctionHow much of the built-in error correction is still unused: the reading safety margin left.
Print growthHow far cells have grown or shrunk from target size. Reported for process control; GS1 says it is not graded.

How does ISO/IEC 15415 differ from ISO/IEC 15416?

The two standards share the 4-to-0 scale and the idea of grading several parameters and keeping the weakest. They differ in what they look at. A linear barcode carries its data in bar and space widths along one axis, so ISO/IEC 15416 grades profiles across it. A matrix code carries data in a grid of cells and includes error correction, so ISO/IEC 15415 grades the geometry of the grid and how much of the error correction a damaged or poorly printed code has already used.

ISO/IEC 15416 compared with ISO/IEC 15415
AspectISO/IEC 15416 (linear)ISO/IEC 15415 (2D)
SymbolsEAN/UPC, ITF-14, GS1-128, Code 128, GS1 DataBarMulti-row (stacked) codes and matrix codes such as Data Matrix and QR
How it measuresScan reflectance profiles along lines across the barsFor matrix codes, an image of the whole symbol assessed cell by cell; multi-row codes have their own method
Parameters only in this standardMinimum reflectance, edge contrast, defects, decodabilityFixed pattern damage, axial and grid non-uniformity, unused error correction
GS1 notationgrade/aperture/wavelength, e.g. 1.5/06/660grade/aperture/light/angle; the angle is left out at 45°
Verifier conformance (per GS1)ISO/IEC 15426-1ISO/IEC 15426-2
Typical GS1 minimum1.5/06/660 at retail point of sale1.5/12/660 for 2D codes at retail point of sale; 1.5/20/660 in general distribution

How does GS1 write a 2D grade?

GS1 writes a 2D grade as grade/aperture/light/angle. The aperture is the diameter of the synthetic measuring aperture in thousandths of an inch; GS1 normally sets it at 80% of the smallest X-dimension the application allows. The light is a wavelength in nanometres, or W for broadband white light, in which case the spectral characteristics must be stated. The angle of the lighting is added only when it is not 45°; according to GS1 the standard also provides for 30° and 90°.

An asterisk after the grade, as in 2.8/10/660*, means the surroundings of the symbol contain extreme reflectance that may interfere with reading. GS1 says most applications should treat that as a fail.

What minimum 2D grades does GS1 set?

GS1’s symbol specification tables give 1.5/12/660 for GS1 DataMatrix, GS1 QR Code and GS1 Digital Link 2D codes on general retail products scanned at the till, where they are used in addition to the linear point-of-sale barcode. For GS1 DataMatrix and GS1 QR Code on products in general distribution and on logistic units the minimum is 1.5/20/660. GS1 also requires 2D codes to be printed at about 1.5 times the X-dimension allowed for linear barcodes in the same application, because of optical effects in image capture.

What does this mean for 2D codes printed on the line?

Batch, expiry and serial data in a 2D code are usually printed by a coder at line speed, so the grade depends on the coder, the substrate and their condition on the day. Error correction is a double-edged benefit here: a damaged code may still read while its margin is shrinking. GS1’s DataMatrix guideline describes three complementary controls: verification within normal quality control, reading every symbol on line, and sample checks at intervals. addaScan stations do the reading: every code is decoded and its content checked. We do not supply verifiers or formal grades; see chapter 4.

Frequently asked questions

Does ISO/IEC 15415 apply to QR codes?
Yes. It covers two-dimensional matrix symbologies with a reference decode algorithm, which includes QR Code and Data Matrix. GS1’s verification report for 2D codes adds QR-specific checks on format and version information.
Why can a 2D code read but still get a low grade?
Error correction lets a reader rebuild data from a damaged or poorly printed code, so it may decode while its unused error correction and other parameters are low. GS1 also notes that some symbols that fail verification can still be read by some readers; the grade predicts how reliably the code will read elsewhere.
Can ISO/IEC 15415 be used for direct part marks?
It can be applied, but ISO’s own note says better agreement between measured grades and reading performance comes from using ISO/IEC 29158 together with ISO/IEC 15415. See chapter 3.
Read next · Chapter 3What is ISO/IEC 29158 and why do DPM codes need it?Why dot-peen and laser marks on parts need their own lighting and grading, and how GS1 writes a DPM grade.
// Next step

Have a line in mind?

Describe the product and the fault you need to catch. We test on your samples and reply with a feasibility note and a budget.