Text Template (Mail Merge)
Text
A lightweight mail-merge: write a template using `{{key}}` placeholders, paste data as CSV (header row defines the keys) or JSON (array of objects), and the tool renders one rendition per row, separated by a customisable divider. Useful for batch emails, certificate generation, personalised messages, or any 'same template, different values' job — without uploading the data anywhere. Missing keys are flagged with a warning chip so you can spot typos before sending.
How to use
- Write your template using `{{placeholder}}` for variables (the tool lists detected placeholders above the textarea).
- Pick CSV (with header row) or JSON (array of objects) and paste your data.
- Read the rendered output (one rendering per row, separated by `---` or your custom separator), then copy or download as a text file.
Frequently asked questions
- What's the placeholder syntax?
- Double curly braces: `{{name}}`, `{{amount}}`, etc. Whitespace inside is allowed (`{{ name }}` works). Keys are case-sensitive, must match the CSV header / JSON key exactly. Unknown keys render as empty and trigger a warning chip listing which ones were missing.
- Does the CSV parser handle quoted fields?
- Yes — basic CSV rules: a field starting with `"` is quoted until the next unescaped `"`, doubled quotes (`""`) inside a quoted field become a single `"`. Commas inside quoted fields are kept literally. No support for multi-line fields (each row is one line).
- Why use this instead of a spreadsheet's mail-merge?
- Three reasons: (1) the data never leaves your browser — useful for sensitive lists; (2) iteration is instant — change template once, all rows re-render; (3) you can paste data in either CSV or JSON without converting.
- Can I use this to draft 100 emails at once?
- Yes — that's the most common use. Output each row separated by your divider, copy the result, paste into your mail client and split by the divider, or use the download as a .txt for later. The tool doesn't send anything itself.
Related tools
URL Slug Generator
Turn any text into a clean URL slug — strip accents, choose a separator, set a max length.
Markdown Table Generator
Paste CSV, TSV, or pipe-delimited data and get a properly aligned GitHub-flavored Markdown table.
Text Diff Viewer
Compare two pieces of text and see line-by-line or word-by-word additions and removals.
Lorem Ipsum Generator
Generate placeholder text by paragraphs, sentences, or words.
Case Converter
Convert text between UPPER, lower, Title, camelCase, snake_case and more.
Character & Word Counter
Count characters, words, sentences, lines, and bytes in real time.