📄 Word Mail Merge

One .docx template plus a spreadsheet, and you get a ZIP with a finished Word file for every row. Your real fonts, tables, headers and logo survive, because the template itself is what gets filled in. Free, runs in your browser, nothing is uploaded.

1 Your Word template

The template needs merge points written in curly braces, like {first_name}. Open your .docx in Word, click where a name should go, type {first_name}, save. That is the whole preparation. Tag names are case sensitive and must match how you type them.

Drop your .docx template here
or click to choose. .docx and .dotx, up to 25 MB
Leave this on if your template came from Word's Mailings tab. The engine here only reads brace tags, so a real MERGEFIELD is rewritten to {Name} in a copy held in memory. Your original file on disk is never changed.
Leave this off unless you typed those marks yourself instead of inserting a real field. « » are the ordinary quotation marks of French, Russian, Spanish and other languages, so with this on a quoted phrase is treated as a tag and comes out as a blank space in every finished file.
2 Your data

A CSV or TSV whose first row is the column headers. One row becomes one Word file. Export straight from Excel, Google Sheets, a CRM or a form tool.

Drop your .csv here
or click to choose. CSV, TSV or plain text
3 Match the tags to your columns

Anything left on "leave blank" is replaced with nothing at all, not with the word undefined. Check this list before you generate two hundred contracts.

4 Name the files and go
Put a column name in braces to use its value. {#} gives the row number. Duplicates get a number added, so nothing is quietly overwritten.
Preview reads the merged file back on screen, and the first one in a session fetches a small reader library from a CDN. The merge and the ZIP do not need it, and either way no file of yours is uploaded anywhere.

Preview of row 1, converted to plain HTML

This is a rough reading of the merged file, not a picture of the page. Fonts, spacing, headers and the logo are all still in the .docx itself. Download the single file below to check it properly in Word.
🎬 Plus PDF signing, invoice building, batch watermarking & 250+ more free toolsOpen Castwright

Why a real template beats a generated document

Most free document builders hand you their layout with your words dropped into it. That is fine for a certificate and useless for a contract, an offer letter, a tenancy agreement or a monthly client statement, where the letterhead, the numbered clauses, the table of fees and the signature block all have to look exactly like the version legal already approved. This page fills in the file you already have. The styles, headers, footers, page numbering, embedded logo and every table stay untouched, because nothing is rebuilt.

What it replaces

Document merge services start around nineteen dollars a month and run past ninety for the well known ones, and Word's own mail merge needs a desktop Office licence and still fights you when you want separate files rather than one long document. Here you get one file per row, named the way you want, zipped, for nothing.

How to write the template

Type the tags directly into your Word document where the value belongs: Dear {first_name}, and starting on {start_date}. Save as .docx. Tag names are case sensitive and are matched against your spreadsheet headers, so keeping them identical makes the mapping automatic. You can also wrap a whole block in {#bonus} and {/bonus} so it only appears for the rows where that column has a value, which is how you handle an optional paragraph without keeping two versions of the template.

The honest limits

A stray opening or closing brace anywhere in the document stops the merge, because the engine cannot tell it apart from a tag. When that happens the page tells you the tag it choked on so you can find it. Fields inserted by Word's own Mailings tab are a different mechanism entirely and are rewritten to braces first, which works for plain merge fields but not for conditional IF fields or formatting switches. Everything happens inside this tab, so very large templates multiplied by very many rows can run a browser out of memory. Three hundred rows per run is the ceiling here, and splitting a big list into batches is the fix if a run struggles.

Where this saves real hours

Offer letters for a hiring round, tenancy or service agreements for a list of clients, monthly reports where only the numbers and the client name change, certificates that must sit on the official letterhead, invoices from a spreadsheet, and school or clinic paperwork that has to go out one named copy at a time.