Choosing QR or Data Matrix code over standard text

Choosing QR or Data Matrix code over standard text
shutterstock / ktsdesign

Marking each product with a unique ID is becoming a standard across industries. The opportunities for tracing, statistics and even predictive maintenance are practically endless. Before doing this, a manufacturer needs to choose between two major options: standard human readable text or some sort of visually coded information like QR or Data matrix code. I will try to argue in this article for the superiority of 2D barcodes over standard text and use Data matrix as an example.

After the code is marked, it has to be read by people, machines or both. Choosing Data matrix code (DMC) eliminates the option of human reading but still could save a lot of time and ensure long-term product traceability. Here are a few reasons why.

Error correction/Robustness

An item is usually marked at the beginning of the production cycle and needs to go through series of different phases which are often aggressive and might involve corrosive fluids which might damage the marking. If we have a number 8 written in some industrial font, in case of a damage of some parts of it, it could easily become 3 or 0. If the damage is positioned perfectly, it is impossible to tell apart the damaged number 8 and the intact number 6. This situation could be avoided by choosing a special font, but it still leaves the problem of the error correction unsolved. Considering this, it is obvious that error correction is an important topic in unique ID recognition.

An example of a Data Matrix code, encoding the text: “Wikipedia” colored to show data (green), padding (yellow), error correction (red), finder and timing (magenta) and unused (orange). (Source: Wikipedia)

Data Matrix has the ability to detect and correct damaged information. In the last column of the table, you can see maximum correction values for different DMC sizes.

Data matrix error correction
damaged data matrix code
Example of succesful recognition of overexposed and damaged Data Matrix


Since Data matrix code has an alignment pattern, it is possible to precisely position where the data is written. Combining that with the error correction results with much less space used compared to text and still yielding better reading results.

Marking speed

If we are talking about inkjet or laser printers, there is very little difference in marking speeds between text and Data matrix. If on the other hand the marking needs to be engraved or punched on the surface, speed becomes an issue. Let us take a look at example of ten numbers written in Dot Matrix font which is often used for food expiration date. Using this font, we would need 124 holes for to mark “0123456789”, and only 86 for the Data matrix code. This discrepancy will increase further with the greater number of characters.

Dot print
0123456789 written with Dot Matrix font and coded as a Data Matrix


If the marking doesn’t need to be read by people, it could be coded, meaning there is a possibility to pack more information within the same number of characters.

Let us say you want to store dates for the next 20 years, between 01/01/2021 and 01/01/2041. If standard alphabet is used at least 6 characters would be needed. If the data is encoded, only 4 characters are needed. For example:

0000 => 01/01/2021

0001 => 02/01/2021

0030 => 01/02/2021

7305 => 01/01/2041


The only obvious advantage of having a standard text written on the product is readability by people. But if the numbers are going to be read by people, that implies manual tracking and data entry which automatically means it is prone to mistakes. This problem can be addressed by buying affordable hand-held readers or even mobile applications. Of course, if the conditions allow, it could be possible to add the DMC additionally to existing human readable text. In my experience whichever reading rate is achieved by using optical character recognition, it will always be surpassed by the Data Matrix code.