Bulk Data Matrix generator from Excel and CSV
Paste a list or import a spreadsheet. We keep every value exactly as typed, show what will print, and export a ZIP or print-ready labels.
How to add your data
One value per line, or cells copied from Excel or Google Sheets. Every character is kept: leading zeros, spaces, dashes.
Each row becomes a code
14 × 14 modules · 100% full7 mm × 7 mm · 9 mm wide with the blank border
Add data to see each row’s code here. The code shown is read back by an independent decoder.
Your batch
Add data above. Your rows, totals and download options appear here. Nothing is uploaded.
Choose what to make
File to make
Image format
PNG works almost everywhere: documents, web pages and most label software.
Copies
A ZIP has one file per row. Copies are listed in manifest.csv for your label software.
Code size, print size and colorsSquare · Automatic size · 0.5 mm squares
One setting for the whole job. Every code is made the same way; only its data changes.
Advanced: blank border, colors, encoding
Names the file and the saved job in My codes.
File names start with the row number, so they sort like your sheet.
What the batch generator does
-
Excel and CSV import
Every cell is read as text, so codes keep the exact characters your file has.
-
Damage flagged, never fixed
Lost zeros, scientific notation and formulas are named by row number.
-
Serial runs
Prefix, start, step and digits. Used numbers are never handed out again here.
-
ZIP, PDF or labels
PNG or SVG files with a manifest, one code per page, or label sheets.
How it works
How it works in 4 steps
From a spreadsheet to finished files, all in your browser.
-
Step 1: Add data
Paste a list, one value per line, or cells copied from Excel. Or import a CSV or .xlsx file, or build a run of serial numbers.
-
Step 2: Check
Pick the value, caption and copies columns. Every row is encoded and checked; problems are listed by row with the fix.
-
Step 3: Preview
Step through the codes row by row and see the totals, such as “600 labels from 300 records”, before anything is made.
-
Step 4: Export
Download a ZIP of PNG or SVG files with manifest.csv, a PDF with one code per page, or labels on sheets or rolls.
Excel and CSV
Excel without the damage
Part numbers, serials and asset IDs are text, even when they are all digits. Excel does not know that. When it treats a column as
numbers, it drops leading zeros (000123 becomes 123) and turns long numbers into scientific notation
(123456789012 shows as 1.23457E+11). Once the file is saved that way, the lost digits are gone.
This tool reads every cell as the text it shows, never as a number, so it keeps what your file still has. It also checks each row for the usual damage and tells you about it. It never guesses a missing zero.
| Cell | Problem | What you see |
|---|---|---|
1.23457E+11 | Scientific notation | Error. “1.23457E+11” is a number your spreadsheet turned into scientific notation, so its original digits are lost. The row will not print until the source is fixed. |
4515 (others 0004512…) | Leading zeros removed | Warning. This number has 4 digits while most rows have 7. We never add the zeros back for you. |
=A2&"-1" | A formula, not its result | Error. This cell holds a spreadsheet formula, not its result. |
="000123" | Text wrapper from an export | Read as 000123, with a note. This trick keeps zeros, so it is safe to unwrap. |
How to keep identifiers safe in Excel
- Select the ID column, choose Format Cells, then Text, before you type or paste the values.
- Values that already lost their zeros must be re-entered or re-pasted from the original source. Formatting alone does not bring them back.
- Opening a CSV? Use Data, then From Text/CSV, and set the ID column to Text, instead of double-clicking the file.
- Or skip the problem: import the .xlsx file directly, or copy the cells and paste them into the tool.
Start from our sample files to see a layout that works: sample CSV or sample Excel file (12 made-up part IDs, 24 labels). Their ID column is formatted as Text.
Serial numbers
Serial numbers in sequence
Choose Serial numbers in the tool and set a prefix, the first number, the step and how many digits to pad to. You see the first and last value before anything is made, so a typo in the start number is easy to spot.
When you download, the range is saved in this browser. The next run that would reuse any of those numbers is stopped with the place to start instead, and “Next range” picks up after the last number used. Abandoned numbers are not reused either.
This check only knows about numbers made in this browser. Numbers made on another device or in other software are outside it. These are your own internal identifiers, not official product numbers.
Prefix PART-, start 123, 6 digits, 300 numbers
PART-000123 … PART-000422
300 numbers. The next run starts at 423.
Copies
Copies and totals
A records list and a print run are not the same size. If your sheet has a copies (or quantity) column, map it, and each row prints that many labels or pages. Blank means 1. Or choose Same for all and type one number.
Example: 300 records × 2 copies each. The tool says “600 labels from 300 records”, which is 20 sheets of Avery 5160 — 2⅝" × 1", 30 per sheet (30 labels per sheet).
The totals always show records and labels separately, so a copies column that holds something else (a price, a part number) stands out before you print. Rows with errors are never dropped quietly: you fix them, or choose to leave them out and see the new totals. A ZIP has one file per record; the copies are listed in manifest.csv. Need just one code? Make a single Data Matrix code.
Downloads
Files you get
ZIP of PNG or SVG files
One image per row, named after the row number and the caption or value, such as r0007-Sensor-bracket.png or r0008-PART-000124.png.
The names are stable, safe on every computer, and sort in the order of your sheet. Map a file-name column to choose the names yourself.
PNGs are made at the resolution you choose with whole pixels per square; SVGs are vector, at true size in millimeters.
Every ZIP includes manifest.csv, which links each file to its row:
-
file: the file name in the ZIP -
row: the row number in your spreadsheet -
copies: how many labels that row asked for -
value: the value exactly as encoded -
value_hex: the exact bytes, for checking spaces and special characters -
caption: the caption, if you mapped one -
symbol_size: the code size, such as 16x16 -
module_mm: the size of each small square in mm -
width_mm: the code width including its blank border, in mm
PDF, one code per page
Each code at its exact size on its own page, with an optional caption under it. Copies repeat the page. Print at 100% / Actual size.
Labels PDF
Choose a label sheet or thermal roll, a layout and the text for each line, then download one PDF with every label in place. The layouts, stocks and printer settings are the same as on the Data Matrix label maker, where you can also print the batch as labels from a short list and calibrate your printer.
Every download is saved as a batch job in this browser, with the rows exactly as imported. “Print again” in My codes makes the same file from that saved copy, never from a spreadsheet that has changed since.
Inside Excel
Data Matrix in Excel itself?
Excel has no built-in Data Matrix. A barcode font is not enough on its own: a Data Matrix needs an encoder that works out the squares and the error correction, which usually means a paid add-in. Why a Data Matrix font is not enough.
There are two simpler routes:
- Make the codes here and put the PNG files into your sheet with Insert, then Pictures.
-
In Excel for Microsoft 365 or Excel 2024 on Windows, show a live code in a cell with the
IMAGE()function and our free API. With the value in A2:
=IMAGE("https://datamatrixcodegenerator.com/api/v1/datamatrix?format=png&scale=8&data="&ENCODEURL(A2),A2,0) The same API can generate codes from your own software, one value per request.
The value travels in the web address, so use the formula only for values that are not sensitive. For anything private, make the files here: nothing leaves your browser.
Bulk generator FAQ
How do I generate multiple Data Matrix codes at once?
Paste your values into the tool at the top of this page, one per line, or import a CSV or Excel file. Check that the right column is used as the value, then press Download to get a ZIP with one PNG or SVG per row. It is free, needs no account, and runs in your browser.
Can I make Data Matrix codes from an Excel file?
Yes. Import the .xlsx file (or save it as .csv). Cells are read as the text Excel shows, so 000123 stays 000123 and long numbers keep every digit, as long as the workbook still has them. Try the sample Excel file to see the layout.
Why did Excel change my part numbers?
Excel stores numbers, not text. When it thinks a cell is a number it drops leading zeros (000123 becomes 123) and shows long numbers as scientific notation (1.23457E+11), throwing away digits. The tool flags both by row. It never guesses the missing digits: format the column as Text in Excel, re-enter the values, and import again.
Can I create sequential serial numbers?
Yes. Choose “Serial numbers”, then set the prefix, start, step and digits. You see the first and last value before you download, such as PART-000123 to PART-000422. When you download, the range is saved in this browser and never handed out again here, even if you abandon it. “Next range” starts after the last number used.
Is there a limit on how many codes I can make?
Making codes here is free. One job takes up to 5,000 rows, one file holds up to 5,000 codes (including copies), and imported files can be up to 10 MB. These keep a phone or laptop browser responsive. For bigger runs, split the file into several jobs.
Can I add Data Matrix codes to Excel with a formula?
In Excel for Microsoft 365 and Excel 2024 you can show a code in a cell with IMAGE() and our free Data Matrix API. The value goes into a web address, so use it only for values that are not sensitive. Otherwise download the PNGs here and insert them with Insert, Pictures. Why a Data Matrix font is not enough.
Is my spreadsheet uploaded?
No. The file is read and every code is made in your browser. Batch jobs and serial ranges are saved in this browser only, so you can print them again later.
Free in your browser, with no sign-up. Want your jobs and serial ranges on every device, or shared with a team? See the Pro workspace (waitlist).