What mail merge solves?
If you've ever needed to send the "same" email to 50 people with each one's name, company, or order number swapped in, you've hit the problem mail merge solves. Instead of copy-pasting and manually editing each message (slow, and one typo away from embarrassing), you write
one template with placeholders, upload a
CSV of your data, and get back a personalized version for every row.
How to structure your template
Use double curly braces for placeholders that match your CSV column headers exactly, for example:
Hi {{first_name}},
Thanks for your order #{{order_id}} — it shipped on {{ship_date}}.
If your CSV has columns `first_name`, `order_id`, and `ship_date`, the tool will substitute each row's values automatically.
Best practices for your CSV
Keep headers simple — lowercase, no spaces (use `first_name` not `First Name`) to avoid mismatches.
Check for blank cells — a blank value will just leave the placeholder empty, so review a few rows before running the full merge.
Watch for encoding issues — if names with accents or special characters look garbled, re-save your CSV as UTF-8 from Excel or Google Sheets.
Common use cases
Personalized outreach or follow-up emails
Event invitations with individual RSVP links
Customer order or shipping updates
Simple certificate or letter generation when combined with a document tool
FAQ
Does this send the emails for me?
No — it generates the personalized text/documents; you copy or export them into your own email client or mail tool. This keeps your data private and avoids sending limits or spam-filter issues tied to third-party senders.
What if a placeholder doesn't match any column?
It will be left as literal text (e.g., `{{typo_field}}`) so you can spot mismatches immediately rather than getting silently blank output.