About
Data Matrix Code Generator
A free, focused tool for making Data Matrix codes and labels from the data you already have.
Data Matrix Code Generator (datamatrixcodegenerator.com) is a free, browser-based tool from Glenwhisper Limited for making Data Matrix ECC 200 codes: single codes, batches from Excel or CSV, GS1 DataMatrix with a guided form, rectangular and DMRE sizes, print-ready labels and a free API, plus an in-browser Data Matrix reader. It does not issue GTINs or UDIs and is not affiliated with GS1.
- No sign-up, no watermark
- $0
- rows in one free batch
- 5,000
- symbol sizes, DMRE included
- 48
- free API images a day
- 2,000
What the tool does
One job per page, all free, all in your browser.
- Data Matrix code generator One code from your text or identifier: PNG, SVG or a true-size PDF.
- Bulk Data Matrix generator (CSV / Excel) Paste or import a list, add copies or serial numbers, download a ZIP or a labels PDF.
- GS1 DataMatrix generator A guided form for GTIN, batch, expiry and serial fields, with check digits and FNC1 done for you.
- Rectangular Data Matrix generator Every rectangular ECC 200 size, plus the newer DMRE sizes clearly labeled.
- Data Matrix labels Print codes on label sheets and thermal rolls at true size, with a printer test page.
- Data Matrix reader Decode a Data Matrix from an image or your camera. Nothing is uploaded.
- Free Data Matrix API Get an SVG or PNG for one value from a URL or a JSON request. Free, no key.
Who runs it
Data Matrix Code Generator is built and run by Glenwhisper Limited, a company incorporated in Hong Kong (Business Registration No. 76935415; Registered office: Unit 1603, 16th Floor, The L. Plaza, 367-375 Queen's Road Central, Sheung Wan, Hong Kong). We are a small team that makes simple, focused web tools: tools that do one job well, work without an account and explain themselves in plain words.
We read every message sent through the contact form, and we use what people tell us to decide what to build next, from new label stocks to clearer error messages.
Why it exists
Knowing what to encode is the easy part. Turning a list of part numbers or serials into codes that print at the right size, keep their quiet zone and scan first time is where people get stuck: a code squeezed too small for the printer, a symbol stretched to fill a label, or a spreadsheet that quietly turned an ID into 4.00E+11.
We wanted a tool that handles those details for you, shows you what it is doing, and gets you to a print-ready file without asking you to sign up first.
How codes are made
The same Data Matrix engine runs every tool on the site, and the free API.
-
Made in your browser
Encoding, reading spreadsheets, building ZIPs and PDFs, and decoding with the reader all happen on your device. What you type and the files you import are not uploaded. Our privacy policy explains the details.
-
Plain ECC 200, never decorated
Codes follow ECC 200 (ISO/IEC 16022): dark square modules on an opaque light background, with a blank quiet zone of 2 modules by default and never less than 1. We never round, stretch or put a logo inside a symbol.
-
One symbol, every format
The preview, PNG, SVG and PDF all come from the same module grid. PNGs use whole pixels per module and PDFs are drawn at an exact physical size, so what you check is what prints.
-
Read back after export
The file you download is decoded by a second, independent decoder. Only when it returns exactly the bytes you entered do we show “Data decoded successfully”. That is a software check, not a print-quality grade.
How we test it
A code that looks right but scans wrong is worse than no code. So we check the output, not just the code that makes it.
- Two programs, not one. Codes are drawn with bwip-js and read back with ZXing-C++, a separate open-source decoder. In our test suite every output (PNG, SVG, PDF and labels) is decoded and compared with the input byte for byte.
- A self-check inside the encoder. Before a code reaches you, the engine reads its own grid back and refuses any symbol whose bytes differ from your input. That check caught a rare bug in the drawing library, in about 1 in 200 values that mix letters, a short run of digits and accented characters. We repair those codes automatically, and a test tells us when an update fixes the bug.
- GS1 rules from GS1’s own data. GS1 checks use the GS1 Barcode Syntax Dictionary (release 2026-01-27) and pass all 5,196 official test cases from GS1’s Barcode Syntax Engine for the checks we support. Our GS1 symbols match bwip-js’s own GS1 DataMatrix output bit for bit.
- More than one reader. Non-English characters are tested against two widely used decoders, because not every scanner handles them the same way. When a choice could matter for your scanner, the tool tells you.
- Honest about labels. Label sizes come from the manufacturers’ published dimensions. Until we have print-tested a stock ourselves, we say so, and we recommend a test print on your own printer.
Open-source parts we build on
The site stands on well-tested open-source work. Thank you to the people who maintain it.
- bwip-js Draws the Data Matrix symbols (version pinned) MIT
- ZXing-C++ via zxing-wasm Reads codes back after export, and powers the reader Apache-2.0 / MIT
- GS1 Syntax Dictionary and test data GS1 field rules and test cases Apache-2.0
- pdf-lib True-size PDFs and label sheets MIT
- fflate ZIP files, PNG compression and reading Excel files MIT
- Astro and Preact The website and the interactive tools MIT
- Outfit and Nunito Fonts, served from our own domain SIL OFL 1.1
What we don't do
Being clear about the limits matters as much as the features.
We are not connected with datamatrix-code-generator.com, a different site with a similar, hyphenated name.
- We don't issue GTINs, UDIs or serial numbers. GTINs come from GS1, and serial numbers from your own system. We turn the values you already have into codes.
- We're not affiliated with GS1. The GS1 form follows GS1’s published rules, but GS1 does not endorse or review this site.
- We don't certify print quality. A decoded file is not a verified print. Formal grading of printed codes needs an ISO/IEC 15415 verifier.
- We don't change your data. Values are kept exactly as typed, leading zeros included. If a value looks damaged, for example by a spreadsheet, the tool tells you; it never guesses a fix.
- We don't give regulatory advice. Our guides explain how codes work. For pharma, medical device or industry marking rules, check the rule itself or ask your partner.
How we write our guides
- Primary sources first. Symbol rules come from ISO/IEC 16022 and ISO/IEC 21471, GS1 rules from GS1's published specifications, and label sizes from the manufacturers' templates.
- Numbers come from the engine. Sizes, capacities and print measurements in our guides are computed by the same code that makes your files, not typed by hand.
- Rules are dated. Anything that changes, such as GS1 guidance or industry requirements, carries a "last checked" date.
- No paid placements. We don't accept payment to mention or rank products.
- Corrections are welcome. If something is wrong or out of date, tell us and we will fix it.
Sister tool
UPC Label Generator is our free tool for turning 12-digit UPC-A numbers into print-ready barcode labels on label sheets and thermal rolls. Same team, same approach.
See what's free, read our privacy policy and terms, or contact us.
Ready to make your codes?
Type your text or identifier, preview the code and download a PNG, SVG or true-size PDF. Free, and no sign-up.
Start generating for free