Barcode Error Tolerance
Barcode error tolerance: are barcodes robust or vulnerable?
Editor’s Note: The guest author is Mr. Paul Yarnell, Axicon Commercial Director. I met with Mr. Yarnell on my recent visit to Axicon headquarters in Weston-on-the-Green, UK. This article is the result of a conversation regarding the relative barcode error tolerance of 2D symbologies such as Datamatrix in comparison to 1D linear barcodes such as UPC and Code 128. While 2D symbologies do offer some significant advantages in data capacity, they are not immune to printing errors, as many would believe. Here it is from the expert himself.
Barcode error tolerance is really quite remarkable. The widespread use of barcodes in environments in which we require an extremely high first-time read rate attests to the fact that barcodes are, in general, very robust.
Barcode Error Tolerance is remarkably high–that’s why barcodes are widely used
However, there are varying levels of robustness within barcode types and also within symbologies.
a) To decode a barcode requires that you are aware of the existence of a barcode…..
Barcodes use “Finder Patterns” to identify the presence of the code. In the case of linear barcodes this is the start/stop pattern of the opening and closing bars/spaces – remove one of these bars completely and however good the rest of the barcode it will not work.
Likewise with a Datamatrix code this is the “L” shaped “finder pattern and the clock tracks (alternating dark and light squares across the top and right of the code. If you break up this “L” shape with either one large break or a series of smaller breaks then a scanner will no longer be able to register that this is actually a barcode. There is basically no barcode error tolerance on features such as these.
b) Quiet Zones – Under both the ANSI and ISO methods of grading a barcode’s print quality if the quiet zones are infringed to the slightest degree the code is immediately classified as a “Fail”. This is partly because a barcode scanner uses the quiet zones are to set the sensitivity of the scanner and partly because if the quiet zones are too small the scanner will try to detect the edges of text/graphics as if they are additional bars and spaces in the barcode.
The most common reason for barcode error tolerance failure is quiet zone violation
Numerous tests have been made in various parts of the world over the years and they have all shown that infringed quiet zones is the greatest single reason for a barcode either not scanning or else scanning as a different number.
Barcode error tolerance in scanners can be quite high towards problems which are consistent across the barcode – but are relatively intolerant towards inconsistencies. A classic example is shown in a background colour -barcodes printed black on white are ideal while those printed black on brown are still perfectly acceptable –but a barcode printed black on a background which is part white and part brown will simply not work – the inconsistency of the colour presents a far greater problem that would be encountered by, for example, too much ink spread.
Barcode error tolerance is relatively high when errors are consistent
Another very easy way of killing a barcode stone dead is through poor origination artwork. Ideally a barcode should be created as a .eps (encapsulatedpostscript) file and retained in this form through to the platemaking process.
If the user changes file format to a lower resolution jpg or tiff file then the file will no longer be as accurate – since the artwork to platemaking to printing process cannot generate fractions of dots some bars will end up being rounded up to the next whole number of dots while others will be rounded down – resulting in inconsistency of bar dimensions.
d) Linear vs 2D barcodes
No print system is ever perfect – there will always be some weaknesses – and with this in mind the designers of barcode symbologies have created a “redundancy factor” within their barcodes.
With a linear barcode this is a factor of the height – if there is a print error (hole in a bar or ink splatter) within the barcode then it is usually possible to scan the code at a different point in the bar height. The greater the bar height the greater the redundancy factor.
With 2D matrix codes such as Datamatrix, QR, Aztec etc this is not possible as the barcode scanner needs to identify the whole barcode in a single read.
Users should be aware that with 2D barcodes the “redundancy factor” employed by using error correction routines is intended to allow a measure of redundancy for localised, isolated damage only. If there is a tear or a scratch to a small part of the code then the error correction will “kick in” and the user will get a good read.
If, however, there is too much ink spread or ink shrinkage to the code then to the same measure that the data content is being damaged by the ink spread so the same is true of the error correction content – with the result that as soon as the data-content is no longer readable so the error correction content will be equally unreadable.
And of course – for the “finder pattern” there is no error correction or “redundancy factor” at all – damage the finder pattern beyond a certain point and the image becomes unidentifiable as a barcode.
e) Some conclusions….
It has long been recognised that it is not possible to assess the quality of a linear barcode either by looking at it or else by using a barcode reader/scanner – the same is true but to an even greater extent with 2D barcodes. A scanner is purely intended to try to read and decode a barcode – not to advise the user of how much of the error correction was used just in order to get a read, or to inform the user of a damaged finder pattern that is just about to drop over the cliff between a readable barcode and something which is not even identifiable as a barcode.
Barcode verifiers are very accurate quality control instruments that are used notsimply to provide a pass/fail response to the user but to give a lot of very useful diagnostics information as well – identifying problem areas to enable quick and effective resolution of problems as well as looking at possible barcode (and scan) improvements.