A Data Matrix is a two-dimensional code that stores data in a grid of black and white squares, defined by the ISO/IEC 16022 standard.
You have almost certainly seen one — on a surgical instrument, an engine component, or the underside of a circuit board. They turn up wherever something needs a permanent identity and there is very little room to put it.
The definition is the easy part. More useful is being able to look at a code and tell what you are dealing with. Three structural features do most of that work, and this guide walks through them.

Every Data Matrix is built from the same handful of parts. Learn those and the rest follows.
What is a Data Matrix code?
A Data Matrix is a 2D barcode that encodes data in a square or rectangular grid of modules. ISO/IEC 16022 defines it. One symbol holds up to 2,335 alphanumeric characters, 3,116 digits, or 1,556 bytes — in an area small enough for a surgical needle.
A linear barcode stores data along one axis, so it grows wider as you add characters. A Data Matrix stores data in two axes, so it grows in both directions at once and stays compact.
That is the whole reason it exists. It was developed in the late 1980s for parts too small to carry a conventional barcode, and that is still its main job today.
How do you tell a Data Matrix from a QR code at a glance?
Look at the corners. A Data Matrix has one solid L along two adjacent edges. A QR code has three separate square targets in three corners. That single difference tells you which code you are looking at in under a second, from any angle.


Data Matrix: one solid L. QR: three corner squares. Nothing else about the two codes is as quick to check.
There is a second tell, and it matters more than it sounds. A Data Matrix needs a blank margin of just one module around it. A QR code needs four.
On a nameplate with 6 mm to spare, that margin difference decides whether the code fits at all. It is the main reason part marking standards specify Data Matrix — a comparison worked through in full in Data Matrix vs QR code.
What are the parts of a Data Matrix code?
Four parts: the L-shaped finder pattern, the timing pattern opposite it, the data region in the middle, and the quiet zone around the outside. Each one answers a specific question the scanner has to resolve before it can decode anything.

The four parts of a Data Matrix symbol.
How do you know it’s ECC 200?
Two checks, both visual. Count the modules along one edge — ECC 200 always has an even number. Then look at the top-right corner module: on ECC 200 it is always the background colour. Older versions fail both tests.
This matters because ECC 200 is the only version anything modern uses. Every standard that calls for a Data Matrix — MIL-STD-130, AS9132, FDA UDI, GS1 — means ECC 200. The older ECC 000–140 family survives only in legacy systems.
Quickest check of all: glance at the top-right corner. If that module is light, you are looking at an ECC 200 data matrix. No counting required.
How much data can one hold?
A full-size 144×144 symbol holds 2,335 alphanumeric characters, 3,116 digits, or 1,556 bytes. Most industrial codes are far smaller — a 14-character serial number fits comfortably in a symbol around 16×16 modules.
ECC 200 comes in fixed sizes rather than arbitrary ones. Twenty-four square formats and six rectangular formats. The encoder picks the smallest one your data fits into.
One more number decides whether a code is readable in practice: the X-dimension, meaning the width of a single module. Below roughly 0.50 mm you need specialised optics to read it reliably, and printing needs at least 203 DPI to hold the module edges clean.
Why can it still be read when part of it is damaged?
Reed-Solomon error correction. ECC 200 spreads redundant data across the symbol, so roughly 30% of the data region can be destroyed and the message still recovers. The redundancy is built in — there is no level to choose.
That 30% figure gets quoted constantly, usually without the qualification that makes it useful. It applies to the data region. It does not cover the parts the scanner needs before decoding even starts.
Where error correction cannot help you: damage to the L-shaped finder pattern, or anything intruding into the quiet zone. Both stop the scanner from locating the symbol at all, and a symbol that cannot be found cannot be corrected.
A scratch across the middle is usually survivable. A scratch along the L often is not.
QR codes handle this differently, with four selectable levels — L at 7%, M at 15%, Q at 25%, H at 30% — where higher correction costs you capacity. ECC 200 fixes the level instead, which is one less decision to get wrong.
Codes on production parts have to survive handling, oil and heat — which is what the error correction is for.
Where are Data Matrix codes actually used?
Anywhere a permanent identity has to fit in a small space, usually because a standard requires it. Aerospace, defense, medical devices, automotive, electronics and pharmaceuticals all name Data Matrix specifically rather than leaving the choice open.

Reusable surgical instruments carry the code on the instrument itself, because a label would not survive sterilisation.
Two routes exist for getting the code onto something: print it on a label, or form it in the part itself. Labels are cheaper and easier. Direct marks survive heat, solvent and abrasion, which is why regulated industries lean on them — and choosing between the methods is a separate decision with its own criteria.
How do you read one?
Three tools, doing three different jobs. A phone app decodes printed codes. An industrial scanner handles printed codes and many direct part marks. A verifier grades the code against a standard — and grading is not the same thing as reading.
The distinction between the last two catches people out regularly. A code can decode instantly on a handheld reader and still be rejected by a customer’s verifier — the difference between readable and verifiable is worth understanding before it costs you a shipment.
That gap between what a phone sees and what an industrial reader sees is the most common surprise for anyone meeting direct part marks for the first time. It is also why we mark test codes on a customer’s own part rather than sending a sample plate — the material decides how the finished code will look, and no specification sheet substitutes for that.
Codes formed in metal need light from an angle. That single fact explains most failed phone scans.
Putting it together
Go back to whatever code prompted the question. Check the corners for the solid L, and you know it is a Data Matrix rather than a QR. Check the top-right module, and you know it is ECC 200. Count the modules along an edge, and you have a rough idea of how much it carries.
Three glances, and you have placed the code without decoding a single byte of it. That is usually enough to know what you are dealing with, and who needs to be involved next.
Once you can identify the code, the questions that follow depend on where the code lives. On a label, the concerns are print quality and scanner setup. On a part, they are how the mark was formed and whether it still grades acceptably once the part is finished. The links above lead into both.
And if you are holding a part right now and wondering what a code would actually look like on that material — that is the part HeatSign does without charge, because it is the only way anyone finds out.
Frequently asked questions
What is a Data Matrix code used for?
Identifying individual items where space is tight and the mark has to last. Common uses are serial numbers on machined parts, UDI codes on surgical instruments, UII codes on defense items, and batch data on pharmaceutical packaging. In most of these cases a standard names Data Matrix specifically.







