Document Generator
Mail-merge data into PDF templates.
How to use Document Generator
- 01
Upload a PDF template
Add a PDF with {{placeholders}} in the text — for example, {{name}}, {{date}}, {{amount}}, or any custom field names.
- 02
Provide your data
Upload a CSV or JSON file where each row (or object) contains the values for one document. Column headers must match the placeholder names.
- 03
Generate and download
The tool creates a personalised PDF for each data row — download them individually or all at once as a ZIP.
Tested and last verified on
About Document Generator
Upload a PDF template with {{placeholders}}, provide a CSV or JSON data file, and generate personalized PDFs for each row. Perfect for invoices, certificates, contracts and form letters — bulk generate hundreds of documents locally.
Bulk-generate personalised documents from a template
Producing hundreds of personalised documents — invoices with different client names and amounts, certificates with individual recipient details, contracts with party-specific terms, form letters with unique addresses — is tedious when done one at a time. Mail-merge tools have existed in word processors for decades, but they require the template to be a Word document and the output to be printed or emailed. This tool brings mail-merge to PDFs: you start with a PDF template, feed in your data, and get back a batch of finished PDFs.
The template uses a simple placeholder syntax: any text wrapped in double curly braces (like {{name}} or {{amount}}) is replaced with the corresponding value from your data file. Each row in the data produces one complete document. The result is a set of ready-to-send PDFs that look exactly like the original template but with personalised content in every placeholder.
How the generation works
The tool reads the PDF template and identifies every placeholder — any {{text}} pattern in the document's text layer. It then reads your CSV or JSON data file and, for each row, replaces every placeholder with the row's corresponding value. The result is saved as a new PDF that retains the original template's fonts, layout, and design.
Because the replacement happens at the text layer, the placeholder must be part of the PDF's actual text content — not an image of text, and not split across multiple text runs. For best results, create the template in a word processor or design tool, type the placeholders as continuous text, and export to PDF. The generation runs entirely in your browser, so even sensitive data like personal details and financial amounts stays on your device.
Common use cases and practical tips
Schools generate hundreds of certificates at the end of term, each with the student's name and achievement. Accounting departments produce personalised invoices from a single template and a billing data export. HR teams generate offer letters where only the candidate name, title, salary, and start date change. Event organisers produce name badges and tickets from an attendee list.
For the cleanest results, test with a small data file first (two or three rows) to verify that every placeholder is replaced correctly before generating the full batch. Make sure your CSV headers match the placeholder names exactly — including case and spacing. And if a placeholder is not replaced, check that it was not split across font runs in the PDF: re-type it as a single continuous string in your source document and re-export the template.
Questions
Everything runs in your browser. How we keep files private
What format should the placeholders be?
Use double curly braces: {{name}}, {{address}}, {{invoice_number}}. The placeholder names must exactly match the column headers in your CSV or the field names in your JSON data.
How many documents can I generate at once?
There is no hard limit. The tool generates one document per data row, so a CSV with 500 rows produces 500 PDFs. Processing happens in your browser, so very large batches may take a few minutes depending on your device.
Can I use it for certificates?
Yes. Create a certificate template in any design tool, export it as a PDF with placeholders for the recipient's name, date, and achievement, then provide a list of recipients as CSV. Each person gets a personalised certificate.
Is the data processed privately?
Yes. Both the template and the data are processed entirely in your browser. Nothing is uploaded to any server — important when the data includes names, addresses, or other personal information.