gizmobench

Data Matrix Generator

Type text or paste hex bytes and this generator draws a plain ECC200 Data Matrix as you type. It shows the exact bytes the symbol holds, how many of its data codewords they fill, and why it picked that size. You set the scale in pixels per module, the quiet zone in whole modules (never under 1) and a white, transparent or light custom background, then download SVG or PNG. Press Read back with ZXing and it decodes the exact PNG you would save and compares every byte with your payload.

payload
characters
6
bytes
6
raw
41 42 43 31 32 33
symbolECC200

Loading the Data Matrix generator…

px per module, 1 to 40
modules, 1 to 10
Background
Shape

Read the PNG back with ZXing 3.1.4 to confirm it decodes. The reader loads from this site only when you ask.

Scale sets the pixels per module of the PNG and the default size of the SVG; the SVG is vector, so it prints sharp at any size. The quiet zone is the clear margin around the symbol, counted in modules, and never goes below 1.

  • ABC1236 UTF-8 byteswaiting for the generator
  • Grüße7 UTF-8 byteswaiting for the generator
  • Hex bytes 41 42 4G 43binary inputrefused at byte 3: 4G is not hex
  • 3,116 digits3,116 UTF-8 byteswaiting for the generator

Drawn by bwip-js 4.11.4 (MIT, copyright Mark Warren). Read back by zxing-wasm 3.1.4 (MIT, copyright Ze-Zheng Wu), built on ZXing-C++ (Apache-2.0), with the reader served from this site. Licences: zxing-wasm, ZXing-C++, bwip-js.

Common questions

What is a Data Matrix code?
A square or rectangular 2D barcode made of dark and light modules. A solid L on two sides and alternating modules on the other two tell a scanner where the symbol is and how big it is. ECC200 is the version in use today and adds Reed-Solomon error correction, so a symbol with some damaged modules can still be read. This tool makes all 24 square sizes, from 10 x 10 to 144 x 144, and the 6 rectangular ones.
How much data can a Data Matrix hold?
The largest square, 144 x 144, holds 1,558 data codewords: at most 3,116 digits, 2,335 capital letters or 1,556 bytes of other data. The largest rectangle, 16 x 48, holds 98 digits. Two digits share one codeword, which is why numbers pack densest. A payload that does not fit is refused with the limit named, and nothing is cut off.
Why is my Data Matrix that size?
Auto picks the smallest symbol of the chosen shape that holds your data, and the facts under the symbol say how many data codewords it used and what the next size down holds. ABC123 fills 12 x 12 exactly: A, B and C take one codeword each and the digits pack into two, which uses all 5. You can also choose a fixed size, and a payload that does not fit it is refused.
Can I encode UTF-8 text, emoji or raw bytes?
Yes. Text, emoji included, is stored as its UTF-8 bytes, so Grüße takes 7 bytes: the ü and the ß take two each. Switch to Hex bytes to encode exact bytes, such as 1D or FF, and a byte that is not two hex digits is refused by its position. The bytes are stored without an ECI character-set marker, so a scanner that assumes Latin-1 may show accented letters wrongly; plain ASCII reads the same everywhere.
What quiet zone does a Data Matrix need?
The standard minimum is 1 module of clear space on every side, and that is the smallest this tool allows. The quiet zone is counted in modules, so it stays 1 module wide whether the scale is 1 or 40 pixels per module. You can raise it to 10 modules if the label will sit on a busy background.
Is this a GS1 DataMatrix?
No. It makes plain ECC200 symbols and treats every byte as data: there is no FNC1 marker and no GS1 Application Identifier parsing, so a symbol from here is not a GS1 DataMatrix and carries no product registration. ZXing reads these symbols as plain ECC200, symbology identifier ]d1.
Should I download SVG or PNG?
SVG is vector, so it stays sharp at any print size, and it holds only the modules and, unless you chose Transparent, a background rectangle, never your text. PNG is a 1-bit image at the scale you set, from 1 to 40 pixels per module, for tools that need pixels. Both are drawn from the same module grid with the same quiet zone.
What does the ZXing read-back check?
When you press Read back with ZXing, the page loads the ZXing reader (zxing-wasm 3.1.4) from this site, decodes the exact PNG that Download PNG saves, and compares every byte it reads with your payload. After that, every change is checked again automatically. It shows the file decodes cleanly; it cannot test your printer, the label material or a particular scanner.

Plain ECC200 Data Matrix with no GS1 or product-registration meaning, and a quiet zone of at least 1 module at every scale. A payload too large for the chosen size is refused, never cut short. The ZXing read-back checks the exact PNG you download, not your printer or your scanner.