Data Matrix generator
Turn Unicode text or a web address into a square ECC 200 Data Matrix locally, then download the exact black-and-white PNG.
Runs in your browser 0 bytes uploadedTurn Unicode text or a web address into a square ECC 200 Data Matrix locally, then download the exact black-and-white PNG.
Runs in your browser 0 bytes uploadedYour square ECC 200 symbol appears here after generation.
Four-module white border · four pixels per module · no network request
Enter the exact text or web address, generate the symbol, and download the PNG. The tool uses the modern ECC 200 form of Data Matrix, a square grid with a solid L-shaped finder edge and alternating modules along the other two edges. That structure is different from the three large corner squares used by QR. A shape that looks like a small QR image is therefore not enough evidence that the two formats can share an encoder or decoder.
The encoder loads only after you press Generate. It turns the value into black and white modules on a local canvas, adds a four-module white border and keeps every module four pixels square. Integer module sizing avoids the soft boundaries created when an image editor resamples a symbol between pixel grids. The product boundary is deliberately conservative at 1,500 UTF-8 bytes, with the measured byte count visible before generation. Non-ASCII text receives the standard ECI 26 marker so an ECI-aware reader can recover the exact Unicode value.
Some older Data Matrix readers ignore ECI and may display UTF-8 bytes as mojibake even though the symbol carries the character-set marker. The independent release test therefore uses a current ECI-aware ZXing-C++ decoder for Unicode, while a separate JavaScript ZXing implementation checks ordinary ASCII. If the receiving workflow uses a fixed legacy scanner, test a representative Unicode label before relying on it in production.
Both formats can carry short identifiers, text and web addresses, but scanners recognize them through different finder geometry and decoding rules. Use the QR code generator when the receiving camera or workflow expects QR, and use the QR code scanner only to read that format. Use Data Matrix when the label specification, device or downstream system names Data Matrix. Replacing one with the other because both are square can produce a perfectly sharp image that the intended scanner never recognizes.
For ordinary linear bars such as Code 128, EAN-13 and UPC-A, use the barcode generator. Those symbols store values across one direction and have their own quiet-zone and check-digit rules. The format name belongs to the receiving workflow, not to the visual preference of the person creating the label.
GS1 DataMatrix is a constrained use of Data Matrix for structured supply-chain data. It begins with an FNC1 control marker and encodes application identifiers whose lengths and separators depend on the field. Typing parentheses around numbers into an ordinary symbol does not create that machine structure. This tool therefore creates plain ECC 200 only and says so in the receipt and FAQ.
A later GS1 mode needs a real application-identifier parser, field-specific validation and independent decoding that exposes the FNC1 and group separators. Until that proof exists, users should generate regulated healthcare, retail or logistics labels with software approved for the exact receiving specification. CreatorValet does not assign GTINs, verify product identity or certify print quality.
The downloaded PNG is suitable for direct digital handoff at its natural pixel size. If it must be enlarged, scale it by a whole-number multiple with nearest-neighbor resampling. Do not crop away the white border, place text over the grid or export it through a tool that introduces JPEG blur. For a physical label, final readability also depends on printer resolution, ink spread, surface, lighting and the scanner at the point of use.
An independent digital decode can prove that the exported pixels contain the expected value. It cannot certify a future print run. Test the final label at its real dimensions with the actual receiving equipment, especially when the symbol is small or printed on glossy, curved or low-contrast material.
The encoder is self-hosted and draws directly to a canvas in this tab. The value is not sent to an API, and the Download PNG action creates a local blob from that canvas. Reloading discards the current value and image. There is no account, dynamic redirect, tracking link or hosted destination behind the symbol.
You can inspect the boundary yourself with the guide to verifying local processing. Open the Network panel, generate a symbol and check that only CreatorValet code loads. The text you entered and the finished PNG should not appear in an outbound request.
No. Both are two-dimensional symbols, but their finder patterns, encoding rules and capacities differ. A QR reader is not proof that a Data Matrix image is valid.
No. It creates ordinary ECC 200 Data Matrix from the exact text you enter. GS1 requires an FNC1 marker and valid application-identifier structure, so adding parentheses to plain text is not an honest substitute.
Yes. Non-ASCII values are stored as UTF-8 with the standard ECI 26 marker. The downloaded raster is checked independently with an ECI-aware decoder; older readers that ignore ECI may still show mojibake.
No. The encoder is self-hosted and runs in this browser after you press Generate. The PNG is created from the local canvas.