GS1 DataMatrix Generator
The square 2D code used across healthcare packaging. It carries the same GS1 Application Identifiers as GS1-128 in a fraction of the space, which is why it ends up on cartons too small for a linear barcode.
It is routinely mistaken for a QR code, and it is a different symbology with a different finder pattern, so the reader at the other end has to be set up for it. In exchange it stays legible at sizes a QR code cannot hold, which is what gets it onto a blister foil or the side of a vial.
- Pharmaceutical packaging
- Medical devices
- Small-item marking
- Serialisation
- Traceability
Preview
Enter content to generate GS1 DataMatrix
About GS1 DataMatrix
Data Matrix in GS1 format, the standard 2D code for healthcare and pharmaceutical packaging.
A GS1 element string, e.g. (01)09501101530003(17)210531(10)ABC123
What is GS1 DataMatrix?
GS1 DataMatrix is an ECC 200 Data Matrix carrying a GS1 element string, with an FNC1 in the first position marking it as GS1 data. It holds the same Application Identifiers as GS1-128 — GTIN, batch, expiry, serial number — in a square symbol a few millimeters across, which is why it ends up on medicine cartons, surgical instruments and anything else too small for a linear barcode. It is the format most often specified for serialized pharmaceutical packaging.
Technical characteristics
- Symbol
- ECC 200, square, 10×10 to 144×144 modules
- Error correction
- Reed–Solomon, fixed by symbol size
- Capacity
- Up to 2,335 alphanumeric or 3,116 numeric characters
- Data syntax
- GS1 Application Identifiers, FNC1 in first position
- Quiet zone
- One module on each side, far less than a linear barcode needs
Why healthcare moved to it
Serialisation rules oblige medicine packs to carry a product code, a batch, an expiry date and a unique serial number. That is far more than a linear barcode holds, and the pack it goes on is often a blister foil or a vial label a few centimeters across.
GS1 DataMatrix is what fits. It carries the same Application Identifiers a GS1-128 shipping label would, in a symbol small enough for a unit-of-use pack, and it keeps reading when part of it is damaged.
It is not a QR code, and the difference matters at the scanner
Both are square two-dimensional codes and they are routinely confused. Data Matrix finds itself with a solid L along two edges and a dashed track along the other two; a QR code uses three concentric squares in the corners. They are different symbologies and a reader has to be configured for the one you printed.
Marking it onto the device itself
Surgical instruments and reusable devices carry their code in the surface rather than on a label, applied by laser or dot peen. The symbol survives cleaning cycles that would destroy anything adhesive, which is the entire reason for doing it.
It also changes what contrast means. There is no ink: the reader is working with the difference between a marked and an unmarked surface under controlled lighting, and a mark that looks obvious to the eye can be invisible to a scanner lit from the wrong angle. Marked parts are verified on a machine rather than tested by hand.
GS1 DataMatrix FAQs
How is this different from a plain Data Matrix?
The symbol is the same ECC 200 Data Matrix. GS1 DataMatrix adds the FNC1 in the first position and the Application Identifier syntax, which is what lets a receiving system know that a given run of digits is an expiry date rather than a serial number.
Can it still be read if the label is scratched?
Partly. Reed–Solomon error correction reconstructs a damaged symbol up to a point that depends on its size; a small symbol tolerates proportionally less. It is more forgiving than a linear barcode, not immune.
Why does it look different every time I change the data?
The encoder picks the smallest symbol size the content fits into, so adding an Application Identifier can step the symbol up to the next size and rearrange the whole pattern.
Can I make the symbol bigger without making the data longer?
Yes, and they are separate controls. The size slider sets how large the finished image is drawn, and the module setting sets how many pixels each cell of the matrix gets. Data length decides how many cells there are; those two decide how big each one comes out. For direct part marking, raise the module size rather than the image size: it is the per-cell measurement a scanner has to resolve.