Barcodes GS1 DataMatrix Round-trip verified Runs in your browser

GS1 DataMatrix Generator

Build GS1 DataMatrix codes with Application Identifiers and FNC1.

Your data is processed locally in your browser and is not uploaded to our servers.

What GS1 DataMatrix is

GS1 DataMatrix is an ordinary Data Matrix symbol carrying data structured with GS1 Application Identifiers. The AIs are short numeric prefixes that say what the following characters mean: (01) is a GTIN, (17) an expiry date, (10) a batch or lot, (21) a serial number. A scanner that understands GS1 syntax can therefore parse the payload into named fields instead of handing back one undifferentiated string.

The technical difference from plain Data Matrix is a single FNC1 character in the first position, which flags the symbol as GS1-formatted, plus FNC1 separators after any variable-length field that is not last. This tool inserts both for you.

How to create one

Enter your element strings with the Application Identifiers in parentheses, exactly as they are printed in human-readable text:

(01)09521234543213(17)261231(10)LOT-4821

  1. Type or click the AI buttons to build the string.
  2. Every AI is checked as you type — length, character set and, for GTINs, the check digit.
  3. The human-readable line is shown in the details panel so you can print it under the symbol.
  4. Download SVG for artwork, PNG for anything on screen.

The parentheses are never encoded. They exist for humans reading the label; the symbol itself carries FNC1 separators where the standard requires them.

How the check digit and validation work

The same validation engine as the GS1-128 generator runs here, so a value accepted by one is accepted by the other. Each AI is looked up for its defined format: fixed-length AIs must be exactly that length, date AIs must be a real YYMMDD, and AIs that carry a GTIN have their check digit recalculated and compared. A mismatch is reported with the digit that was expected, not a generic error.

Note what this does and does not prove. It proves the number is internally consistent and correctly formatted. It says nothing about whether the GTIN is registered to you — that comes from GS1, and no generator can check it.

Where GS1 DataMatrix is used

Healthcare. The dominant carrier for medicine packs and medical devices, including EU FMD serialisation and US UDI marking, where a single small symbol must carry GTIN, batch, expiry and serial.

Retail point of sale. Accepted in the GS1 system for variable-measure and coupon applications, though plain EAN-13 still rules the checkout.

Manufacturing and traceability. Where a part must carry more than an identifier — batch, date and serial together.

Privacy and security

Your element strings are parsed, validated and encoded entirely in this browser. Nothing is sent to us or to GS1. Product numbers, batch codes and serials you enter are never stored or transmitted.

Limitations

The symbol is static: printed data cannot be changed later.

Validation covers the AIs this tool knows. An AI outside that set is reported rather than silently accepted, because encoding an unrecognised identifier would produce a symbol that looks right and fails in a partner's system.

Encoding a valid GTIN does not register it. Company prefixes and GTINs are issued by GS1 member organisations, and using a number you were not allocated will cause problems downstream regardless of how correct the symbol is. See the disclaimer and our GS1 basics guide.

Frequently asked questions

Do I type the parentheses?

Yes. Type them exactly as the human-readable line is printed. They are stripped before encoding and replaced with FNC1 separators where the standard requires them.

What is FNC1 and why does it matter?

It is a non-printing character that marks the symbol as GS1-formatted and separates variable-length fields. Without it in the first position, scanners treat the symbol as plain Data Matrix and your partners' systems will not parse the fields.

Is this the same as a GS1 QR code?

No. GS1 QR Code is a different carrier with the same data structure. GS1 DataMatrix is the one specified for most healthcare applications.

Can I use this for EU FMD or US UDI?

The tool produces a correctly structured symbol, and every element is validated. Whether your specific data satisfies a regulator is a question for your GS1 member organisation and your notified body — we make images, not compliance rulings.

Why was my expiry date rejected?

AI (17) takes YYMMDD. A day of 00 is allowed by the standard to mean "end of month"; anything that is not a real date otherwise is rejected.

Does a valid check digit mean the GTIN is mine?

No. It means the digits are self-consistent. Allocation comes from GS1.

Curious how we build and check these codes? Read our methodology.