PDF mail merge: one filled form per row
Word's mail merge has been around for decades because the idea is genuinely useful: one template, one spreadsheet, one filled document per row. FillPDFfromCSV does the same thing for PDFs, privately, in your browser, for free.
What PDF mail merge actually means
Mail merge started as a way to send the same letter to a thousand people with each person's name and address printed in the right spots. The word "mail" is a bit of a relic. The concept is just: one template with empty named slots, plus a list of data, equals one filled copy per row of data. PDF mail merge is that same workflow, but the template is a PDF form instead of a Word document.
The PDF part matters. Word mail merge produces .docx or .doc output, which recipients can edit, reformat, or accidentally break. A filled PDF looks the same on every device. The layout doesn't shift. Fonts don't substitute. For anything that needs to look official, a PDF is the right output.
When you'd use it
A few situations come up constantly. Offer letters: you have a standard template and a spreadsheet of new hires, each with a different name, title, salary, and start date. Certificates: 80 students completed a course and each one gets a certificate with their name and the date. Invoices: you bill 40 clients the same way every month but the name, address, and amount differ. Event badges, permit applications, insurance declarations, tenancy agreements with variable terms. Any situation where the form is the same and the data changes per person is a PDF mail merge situation.
How field-to-column mapping works
A fillable PDF has named form fields. Each field has an internal name, something like "EmployeeName" or "StartDate" or "ContractAmount". Your CSV has column headers. The mapping step connects each field name to a column header, so the tool knows which column's data goes into which field on the PDF.
FillPDFfromCSV tries to match automatically by comparing field names to column headers. If your PDF field is called "FirstName" and your CSV column header is "FirstName", they match with no work from you. If the names differ, you pick the right column from a dropdown. You do this once, then the tool applies that mapping to every row in your spreadsheet.
This is why field names matter. A PDF with fields called "Field1", "Field2", "Field3" is much harder to map correctly than one with "RecipientName", "IssueDate", "Amount". If you're creating the PDF template yourself, spend two minutes giving fields descriptive names. It saves a lot of confusion later. See the guide on what a fillable PDF is for how to name fields in various tools.
The privacy difference from Word mail merge
Word's mail merge, and most online PDF merge tools, process your files on a server. That means your spreadsheet, which might contain salaries, personal addresses, or medical information, travels to someone else's computer. FillPDFfromCSV processes everything in your browser. The PDF and CSV never leave your machine. There's no account, no upload, no file stored anywhere.
For HR documents and anything with personal data, that's a meaningful difference. If your company has a policy against sending employee data to third-party cloud tools, client-side processing is the compliant path.
How it compares to paid tools
The main paid alternative people find is DocSpring, which charges around $0.25 per filled PDF. If you're generating 200 offer letters a year, that's $50. Not enormous, but it adds up, and you're also sending your data to their servers. Other tools like Adobe Acrobat's form-filling have per-seat licenses that cost far more. FillPDFfromCSV is ad-supported and free. There's no per-PDF charge, no seat fee, no signup.
What you get as output
Two downloads. A ZIP file with one PDF per row, named after the first column value in each row (so "Alice_Smith.pdf", "Bob_Jones.pdf", and so on). And a single merged PDF with every filled form in sequence, which is useful for printing a batch or attaching one file to a ticket. Both download immediately after processing. Nothing is stored.
Getting started
You need a fillable PDF template and a CSV with one header row plus one data row per person. If your data is in Excel, save as CSV UTF-8 first. Then go to fillpdffromcsv.com, drop in both files, confirm the field mapping, and hit Generate. For a step-by-step walkthrough with Excel specifically, see how to fill a PDF from Excel. For HR and offer letter specifics, see the guide on batch-filling offer letters. All guides are on the guides hub.
Frequently asked questions
Can I use this for legally binding documents like contracts?
The tool fills form fields accurately from your data. Whether the resulting PDF is legally binding depends on your jurisdiction and the document type, not on the tool. If you need signatures, you'll still need a separate e-signature step. The filled PDF is a clean starting point.
What if some rows are missing a value for a field?
The field stays blank in that row's PDF. The tool doesn't skip the row or throw an error. If a blank field is a problem for your use case, fix the missing data in your spreadsheet before generating.
Can I map one CSV column to multiple PDF fields?
Yes. In the mapping UI, you can assign the same column to more than one field. Useful if your PDF has separate fields for "FullName" in the header and "PrintName" at the signature line, but your CSV only has one name column.
Does this work with password-protected PDFs?
No. If the PDF has an owner password that restricts editing or form filling, the tool can't write to the fields. Remove the protection in Acrobat or PDF24 first, then use the tool.
How is this different from just printing to PDF from Word mail merge?
Word mail merge merges into Word documents, which you then have to print to PDF one by one or batch-print. FillPDFfromCSV starts with a PDF template and outputs PDFs directly, no Word involved. It also gives you individual named files per row and a merged PDF in one click.