Free Data Matrix Generator

Create an ECC200 Data Matrix in seconds. Download SVG, PDF or PNG. No signup, no watermark.

Free — no accountECC200 & GS1Vector SVG & PDFUp to 500 at once

Square 2D grid. Small parts, electronics, and tiny labels.

Customize

The side of one cell. A 2D code's shape is fixed by your data, so this is the only size control here — use Print width below to fix the finished size.

Preview

Enter data to see preview

Runs in your browser. Nothing to install.

The picker above also holds GS1 DataMatrix, Aztec and PDF417, plus ten linear symbologies. All fourteen live on the barcode generator.

How it works

How a Data Matrix Code Works

A Data Matrix is a square grid of light and dark cells — modules — wrapped in a finder pattern that tells a reader where the symbol is, which way up it sits, and how big its grid is.

The solid L

A continuous dark line runs down the left edge and along the bottom. That L is what a scanner locks onto first, and it fixes the symbol's orientation — which is why a Data Matrix reads at any rotation.

The clock track

The top and right edges alternate dark and light, one module at a time. Counting those transitions is how the reader works out the grid size before it decodes a single data cell.

ECC200 inside

Everything within those edges is your data plus Reed-Solomon error-correction codewords — the ECC200 scheme in ISO/IEC 16022. A damaged or partly obscured symbol still decodes.

That structure is why Data Matrix ended up on the things nothing else fits on: circuit boards, surgical instruments, aerospace parts, ampoules and blister packs. It carries more in less area than a linear barcode, it survives a scratched or partly covered mark, and it needs only one clear module around it rather than the ten a Code 128 demands. QRKIT draws the symbol in your browser as you type — the encoder runs client-side, so the data you enter is not sent anywhere to be turned into a code. Wondering how this compares with a QR code or a linear barcode? That is covered in full on our QR code vs barcode comparison.

Specs

What This Generator Does, Exactly

Including the limits. A tool that only lists what it can do is harder to plan a label run around than one that tells you where it stops.

PropertyValueNotes
SymbologyData Matrix ECC200The Reed-Solomon version defined in ISO/IEC 16022, and the only one modern readers expect.
Character setStandard ASCII (U+0000–U+007F)Anything above U+007F is refused, not mangled. See “Why non-ASCII is refused” below.
Case handlingExactly as typedNothing is auto-uppercased — uppercasing a URL payload would change where it points.
Input length hereUp to 512 charactersA limit of this page’s single-line field, not of the standard. It caps the symbol at 88×88 modules — 512 digits fit a 64×64 grid, mixed text or a URL that long lands at 80×80 or 88×88.
Symbology capacityUp to 1,556 bytesWhat ECC200 itself holds at its largest size. Most real codes carry a fraction of it.
ShapeAlways squareThe generator emits square symbols only; no rectangular (DMRE) variants.
Quiet zone1 module on all four sidesThe ISO/IEC 16022 minimum, drawn into the exported file. Never crop tighter than this.
Smallest cell we advise0.254 mm (10 mil)GS1’s smallest listed X-dimension. ISO/IEC 16022 sets no minimum — the real limit is your printer or marker.
Export formatsPNG, SVG, PDFSVG and PDF are genuine vector. There is no EPS export.
Raster resolution72, 150, 300 or 600 DPIPaired with a target print width in mm, inches or pixels.
Design controlsCell colour, background, module sizeThat is the whole list for a 2D symbol. No logo, no gradient, no custom cell shapes, no frame.
Batch sizeUp to 500 codes at onceA browser-memory cap, identical for everyone. Signing in does not raise it.
Code typeStaticThe data lives in the symbol. No redirects, no scan counts, no editing after download.

Not on the list, and deliberately: GS1-128. There is also no barcode API, no Excel add-in and no font. PDF417 used to sit in this paragraph too — it joined the tool on 2026-07-30, so the picker above now has it, and the PDF417 generator has the detail. One caveat carried over from that page: we generate the symbology, not driver’s-licence data — there is no AAMVA payload builder anywhere in the tool.

An honest limit

Why Non-ASCII Input Is Refused

Type café into the generator and it will not encode it. That is a decision, not a bug, and here is the reasoning in full.

A Data Matrix carries bytes, not characters. ISO/IEC 16022 says a reader should interpret those bytes as ISO 8859-1 unless the symbol contains an ECI designator declaring a different character set. This generator emits no ECI designator. So an accented or non-Latin character would be encoded as UTF-8 bytes that no reader has been told to read as UTF-8, and the scan would come back as mojibake — a label that looks perfect, prints perfectly, and says the wrong thing.

Refusing beats printing a symbol that misreads. So anything above U+007F is rejected at the input with a message naming the cause, rather than silently accepted. Standard ASCII — letters, digits, punctuation, a URL, a serial or part number — encodes exactly as typed, with no case folding.

If you need accented or non-Latin text in a 2D code, use a QR code instead — QR codes handle UTF-8 payloads, and phone cameras read them. Create a text QR code.

Output

Vector SVG and PDF, at the Size You Will Actually Print

Most free Data Matrix tools hand you a PNG and leave the sizing to you. This one exports genuine vector and lets you state the finished dimensions up front.

SVG

Real rectangles written into the file, not a traced bitmap. Opens in Illustrator, Inkscape, CAD and label software, and scales to any size without softening an edge.

PDF

Also true vector — the symbol is redrawn with the PDF's own drawing primitives rather than an embedded image, so it stays sharp at press resolution.

PNG

The raster option, at 72, 150, 300 or 600 DPI. Fine for screens and office printers; reach for SVG or PDF when the file is going to a plate or an engraver.

Set the width, not a guess

Enter a target print width in millimetres, inches or pixels. The export is generated at exactly that size, so nothing has to be scaled up in another program afterwards. The one ceiling is 10,000 pixels per side — about 840 mm at 300 DPI — and the tool tells you on screen if a request runs into it.

A cell-size warning that means something

The tool works out how wide one cell will be at your chosen size and warns you below 0.254 mm — GS1's smallest listed X-dimension. That is the number a small-part mark lives or dies on.

Quiet zone included

One clear module on all four sides, the ISO/IEC 16022 minimum, is drawn into the file. Do not crop it away when you place the symbol in a layout.

What we do not do: we draw the symbol and export the file. Mark quality on the finished part — contrast, cell fill, grading against a print or direct-part-marking verification standard — depends on your printer, engraver and substrate, and is not something QRKIT measures, grades or certifies. Test a real printed sample with the scanner that will read it before committing to a run.

GS1

GS1 DataMatrix, as a First-Class Format

Same symbology, structured payload. Switch the format picker from Data Matrix to GS1 DataMatrix and the brackets in your data are parsed as GS1 application identifiers instead of literal characters.

What you type

(01)09521234543213(17)181119(10)AB-123

GTIN, expiry date, batch. Each application identifier in brackets, its value straight after it, nothing in between. Up to 128 characters in this field.

What the errors tell you

AI 01: Bad checksum

We check the structure — it must start with an AI in brackets and be a run of (AI)value pairs. Which identifiers exist, how long their fields are and whether a GTIN check digit is right come from the encoder’s own GS1 tables, and its message is passed through to you naming the field at fault.

Two limits worth knowing before you build a label. First, we generate the symbol only — the human-readable interpretation a GS1 label needs printed beside the code is part of your label layout, not part of the image we export. Second, QRKIT is not a GS1 conformance, verification or certification service, and nothing here is approved or endorsed by GS1; we encode what you enter and report what the encoder rejects. For the QR form of GS1 data — a GTIN, batch and expiry inside a web URL — see GS1 Digital Link QR codes.

In bulk

500 Data Matrix Codes From One Paste

Open Generate many at once underneath the generator, paste a column of serials or upload a CSV, and take the whole run in one download. No account, no upgrade prompt.

Paste or upload

One value per line, or a CSV. When your file has a header row the tool works out which column holds the codes, shows you the choice it made and lets you change it — so a name,sku export does not quietly encode the product names.

Three outputs

A ZIP of PNGs, a ZIP of SVGs, or a single PDF with one code per page. Files are numbered in input order, so the archive sorts back the way your list was written.

Nothing fails quietly

Every row runs through the same checks as the single-code field. Invalid rows are listed with their row numbers and left out of the download rather than silently producing a broken label.

About the 500-row cap. It is a browser-memory limit and nothing else — the batch is rendered on your own machine, and 500 codes at 300 DPI is already tens of megabytes held in memory. It is the same number for everyone, there is no account or plan that raises it, and when it bites the tool tells you exactly how many rows were left out so you can split the list and run the rest.

Step by step

How to Create a Data Matrix Code

Step 1

Enter the data

A serial number, a part number, a short URL — whatever the symbol should carry. The generator above is already set to Data Matrix and draws the code as you type. Standard ASCII only.

Step 2

Switch to GS1 if you need it

For GTIN, batch, expiry or serial written as (AI)value pairs, choose GS1 DataMatrix in the format picker so the brackets are read as application identifiers.

Step 3

Set the print size

Give it a target width in mm, inches or pixels, and pick 72–600 DPI for raster output. The tool reports the finished size and warns if one cell falls under 0.254 mm.

Step 4

Download

SVG or PDF for anything that will be printed, engraved or scaled; PNG for screens. No signup, no account, no watermark, and the code is yours to use commercially.

Reading one back is a different job. A phone’s built-in camera app usually recognises QR codes but does not read Data Matrix, so you will need a 2D imaging scanner or a scanner app that lists the symbology. QRKIT generates Data Matrix codes; it does not decode them.

Pricing

Free, and Free in the Way You Meant

“Free” usually turns out to mean free to preview. Here it means what it says: the Data Matrix generator on this page asks for no account to create a code and no account to download the file, stamps nothing on the output, and has no paid tier above it.

Included, at no cost

Free forever
  • Data Matrix (ECC200) and GS1 DataMatrix
  • Unlimited codes — no daily quota
  • PNG, SVG and vector PDF download
  • Print width in mm/in/px and 72–600 DPI
  • Bulk generation up to 500 at a time
  • No signup, no account, no card
  • No watermark on any export
  • Commercial use allowed

Not available at any price

Be clear about it
  • No dynamic or trackable Data Matrix. Every code here is static, so it cannot be edited after printing and its scans cannot be counted.
  • No barcode API or integration. No REST endpoint, no Zapier, no plugin, no library.
  • No GS1-128. The concatenated GS1 form of Code 128 is not in the tool. GS1 DataMatrix is, and carries the same element strings.
  • No decoding. This page generates Data Matrix codes; it does not read them.

Need a code you can change or measure instead? That is what a dynamic QR code is for — edit the destination after printing, and see scan counts. It is a different symbology and a different product, and unlike the barcode tool it involves an account. Learn about dynamic QR codes.

Data Matrix Generator — Frequently Asked Questions

Get started

Generate Your Data Matrix

ECC200 or GS1 DataMatrix, drawn in your browser, exported as vector SVG, PDF or PNG at the size you will print it. No signup, no watermark.

ECC200 & GS1 DataMatrixVector SVG and PDFUp to 500 at onceCommercial use allowed