Fill a Word template with data from a spreadsheet. Drop in a .docx or .doc template with {{Name}}-style placeholders, add a .csv, .xlsx, or .xls data file, and generate one personalized document per row — instantly, in your browser.
Match every {{placeholder}} against your spreadsheet's columns and produce a personalized document for every row in a single run.
Placeholders are matched to columns automatically. If a column is missing, the placeholder is kept as-is instead of breaking the document.
Load your data from .csv, .xlsx, or .xls. The first row becomes the column names, and the first sheet is used by default.
Filled values keep the surrounding bold, color, and font style, and multiline cells become real line breaks — even when Word splits a placeholder across runs.
Everything runs locally with no uploads. Your template and data never leave your device.
No account, no watermark, no limits. Download each document or grab them all as a ZIP.
Template Fill & Mail Merge is a browser-based tool that turns repetitive document creation into a single click. Write a reusable .docx template — or a legacy .doc one, which is converted in your browser first — with placeholders such as {{Company}}, {{Recipient}}, or {{Amount}}, then bring a spreadsheet where each column is one placeholder and each row is one document. The tool fills every placeholder, preserves your formatting, and produces one finished .docx per row — perfect for contracts, offer letters, invoices, certificates, and notifications. Because everything happens in your browser, your data is never uploaded to any server, and there are no document-count limits.
Three steps from a template to a folder of finished documents.
Create or open a .docx (or legacy .doc) template and write placeholders in the exact spots to fill, like {{Name}} or {{Amount}}. Each placeholder name must match a column header in your data.
Upload the .docx or .doc template and your data file (.csv, .xlsx, or .xls). The first row of the data becomes the column names.
Check the preview to confirm every placeholder is matched, then click Generate. Download documents individually or as a ZIP — one finished document per data row.
Placeholders use double curly braces, like {{Name}}. A placeholder with no matching column is left untouched (shown in amber in the preview) so your document stays intact. Multiline cell values become line breaks, and empty cells fill with an empty value. Only body content and tables of the document are filled — headers, footers, and footnotes are left as-is. Legacy .doc templates are converted to .docx in your browser first; this needs cross-origin isolation, so open the page via http://localhost or HTTPS. Templates and data files of any size are supported; spreadsheets are capped at 2,000 data rows.