In the world of barcodes, 2D variants have revolutionized data storage and retrieval. From the arrival of Datamatrix codes in industrial and medical settings to QR codes in marketing campaigns, these compact symbols pack a punch when it comes to encoded data density.

With both types of 2D barcodes being permitted in the new GS1 initiative for 2D barcoding (Sunrise 2027) for retail, we will see them become much more common on everyday purchases.
The 2D barcodes outperform their linear UPC and EAN counterparts in two key areas:
Amount of Data
Whereas the traditional retail barcodes contain either 12 or 13 numeric digits (the product’s Global Trade Item Number, or GTIN), both GS1 Datamatrix and GS1 Digital Link formats allow for the encoding of additional data, such as expiration dates, lot numbers and more.
In addition, GS1 Digital Link (usually using a QR code) is encoded as a URI (Uniform Resource Identifier), which allows the QR code to be scanned and takes the user to a unique web page with information on that particular product.
As an example, here is a typical Digital Link data that would be encoded in a QR code:
https://test.com/01/09506000134352/10/A453D?17=250820
It contains the domain where the online info is hosted, the product’s GTIN, a lot or batch code and the expiration date.
Error Correction
Built-in redundancy allows for successful scanning even when parts of the code are damaged or obscured.
Both DataMatrix and QR codes use Reed-Solomon error correction, which was developed in the 1960s and has been refined since. This error correction concept is also used in barcodes, data storage and transmission and CDs and DVDs.
The two 2D barcode types have somewhat different implementations of error correction, which is the main topic of this article – with a focus on QR codes.
Several different error correction levels can be applied to 2D barcodes, from zero error correction to allowing the code to be successfully scanned if up to 30% of the data storage area is missing or damaged.
Why This Matters for GS1 Retail Barcodes
After 50 years of faithful UPC and EAN barcodes for products, the standards organization GS1 is leading a move to use 2D barcodes.
Because, in the GS1 system, both Datamatrix and QR codes encode both static information (the product’s GTIN) and variable data, they will need to be printed at or close to the time of packaging—unlike the UPC/Codes, which are usually pre-printed.
This means that the team on the packaging line will be responsible for producing barcodes on the packages that are the right size, correctly encoding the required data, and having the needed longevity.
Datamatrix: The Industrial Workhorse
The Datamatrix barcode as used in most modern scenarios, employs the ECC200 level of Reed-Solomon error correction principles. ECC200 is the highest level of error correction available for Datamatrix codes and allows up to 25% of the data storage area to the missing or damaged, before the code fails to scan.
This applies to GS1 applications, industrial and aviation barcoding and the US Department of Defense Unique Identification (UID) program (MIL-STD-130).
When using a barcode verifier to inspect the quality of Datamatrix codes, an error will be shown if the code isn’t encoded to the ECC200 level, so it’s important to check that this option is chosen in the barcode printing software.
QR Codes: Flexible Error Correction
QR codes, the barcode symbology that will be used for most GS1 Digital Link applications, also utilize Reed-Solomon error correction. In this case, however, there is more flexibility in terms of error correction levels:

It’s important to note that the overall size of the QR code will increase as the error correction level increases due to the amount of redundancy included in the encoded data, but this flexibility allows users to balance code size and durability based on the intended application.
Why Size Matters For Digital Link
When specifying the QR code or Datamatrix to use on packing, there are several considerations to take into account:
The x-dimension (the size of the small squares in the barcode) that will be employed.
GS1 defines a minimum and maximum size for this, and the barcode needs to be designed within these parameters or it will fail verification.

The type of printer to be used. The printer chosen must be able to produce a barcode of the required resolution and size (note that thermal inkjet (TIJ) printers are usually limited to a 12mm print width) and meet the barcode quality requirement.
The printer must also be capable of producing a barcode that is durable enough to be scannable for the product’s expected life, as scanning a Digital Link code is likely to require access to recycling information.
The Error Correction Level also has an effect on the size of the barcode.
As the image below shows, changing the ECC level can make quite a large difference to the printed size of the barcode.
Interestingly, in my example, the M and Q ECC levels both fit into a 31×31 matrix, compared to 29×29 for level L and 40×40 for level H.

The data to be encoded is important because each additional character causes the barcode to grow in size.
Brands are recommended to use a domain they own, but if the brand domain is rather long, it would make sense to register and use a shorter version, if possible.
Can I Reduce the Barcode Size Using a URL Shortener?
No, this isn’t allowed in the GS1 standard.
It’s important to remember that one of the key functions of a Digital Link barcode is to be scanned at checkout in a store – just as the UPC/EAN code is today, it’s important that when the QR code is scanned, the data can be deciphered and actioned as quickly as the current system.
With shortened links (such as those produced by bitly) the barcode data has to be uploaded to the host cloud database, where the original URL is located and downloaded back to the POS system.
This would introduce latency into the checkout process and be a potential point of failure if the internet connection is lost.
So Which Level of Error Correction Should I Use?
If your brand chooses to use the GS1 Datamatrix barcode, this is simple because, by default, you’ll use ECC200 barcodes.
With QR codes and Digital Link, GS1 doesn’t really provide guidance and it is up to the brand’s team to determine the best solution.
You’d need to consider the environment in which the product will be packed, shipped, stored and used to determine whether higher error correction levels are needed, bearing in mind the effect this could have on the size of your barcodes.
A final thought: please don’t be tempted to embed your brand logo into a Digital Link QR code. The only reason this works is that it uses up some of the code’s error correction, which will make your barcode more susceptible to scanning failure and reduce its verification score.
Further Reading
Optimizing 2D Barcode Size and Data – this is from GS1’s Implementation Guide and is essential reading on this topic.
How QR Error Correction Helps & Hinders Scanning – a cool article by Huon Wilson that includes a lot of testing he has done on QR code scanning.







