Document Mail Merge
Fills {{placeholder}} fields in a .docx template once per CSV row — even when Word split a field across runs — and zips one document per row.
A certificate of employment for forty people is one template and forty rows. The reason a naive find-and-replace fails is that Word saves even a single {{name}} as several fragments, split wherever the spell-checker or a font boundary fell — so the text you are searching for is not in the file as one string.
Template (.docx)
A Word template with {{name}} fields
Fields are found in the body, headers, footers and footnotes.
Data (CSV)
A CSV whose column names match the field names
Read in this tab. Nothing is uploaded. Files from Korean, Japanese, Chinese and Western Excel (CP949, Shift_JIS, GBK, Windows-1252) are recognised.
How to use it
Write {{fields}} into the Word template
Anywhere in the body, a header, a footer or a footnote. The page lists the fields it found so you can check they match your CSV.
Drop a CSV whose column names match
Fields with no column are listed, and so are columns the template never uses — the two lists together are how a mismatch is caught before forty documents are made.
Set the file naming rule
Use {{column}} in the name so each document is called something you can find — a folder of document-1.docx is not that.
Preview a row, then build the zip
The preview shows the filled text of one row. Step through a few before generating the lot.
Common questions
Is the formatting of the template kept?
Yes. The value takes the formatting of the first fragment of the field it replaced — bold, font, size — so a bold {{name}} produces a bold name. Only the text changes; the preview shows text alone for that reason.
Can a value contain a line break?
Yes — a newline in the CSV becomes a line break in the document rather than a literal \n. Angle brackets and ampersands are escaped safely too.
A field was left as {{name}} in the output.
There is no CSV column with that name. The page warns before you build and lists exactly which fields have no column — rename the column to match, spaces and all.
Feed it from
PDF Form Filler
Fills AcroForm fields by hand or from a CSV row, and can flatten the result so it cannot be edited.
Template Filler
Fills a {{placeholder}} template once per row of a table and returns one document per row.
Excel to CSV
Exports each sheet of an .xlsx or .xls workbook to CSV with the encoding and delimiter you choose.
CSV to Excel
Writes one or many CSV files into an .xlsx workbook with typed columns, a header row and filters.
Next
These accept what this tool produces, so the result can go straight in.
CSV Viewer
Opens a large delimited file with type detection, column stats and sorting, without loading it all into memory.
PDF Form Filler
Fills AcroForm fields by hand or from a CSV row, and can flatten the result so it cannot be edited.
Template Filler
Fills a {{placeholder}} template once per row of a table and returns one document per row.
CSV to Excel
Writes one or many CSV files into an .xlsx workbook with typed columns, a header row and filters.
Workbook Merger
Combines many workbooks or sheets into one, stacking rows or adding each source as its own sheet.
Excel to CSV
Exports each sheet of an .xlsx or .xls workbook to CSV with the encoding and delimiter you choose.