Fill a PDF form from a spreadsheet — one PDF per row
Point each form field at a column; Bindery fills a copy for every row and packs them into a ZIP.
Free: 3 jobs per UTC day, 25 MB per file. PDF exports include a visible Made with Bindery watermark. Pro exports clean PDFs.
Prefer the full studio? Open Fill PDF from spreadsheet in the app →
Drop a fillable PDF and a .csv or .xlsx. Columns whose names match the field names map automatically; the rest you pick from a list. Text fields take the cell value, checkboxes tick on yes/true/1/x, and dropdowns or radio groups select the option whose name matches. Every copy can be flattened so the answers become permanent.
File names follow a pattern with tokens — {n}, {file} or any {Column name} — so a hundred contracts come out as a hundred correctly named PDFs. Bindery runs entirely in your browser — your file is never uploaded, so there is nothing to delete from a server afterwards.
How it works
- Drop the form PDF and open Fill from spreadsheet
- Add the CSV or Excel file and check the field → column mapping
- Fill — one PDF per row, downloaded as a ZIP
Mail merge for PDFs
Drop a fillable PDF and a .csv or .xlsx. Columns whose names match the field names map automatically; the rest you assign from a list. Text fields take the cell value, checkboxes tick on yes/true/1/x, and dropdowns and radio groups select the option whose name matches the cell. Bindery fills one copy per row on your device, optionally flattens each so the answers are permanent, names the files from a pattern — {n}, {file} or any {Column name} — and packs them into one ZIP.
- Certificates for every course attendee.
- Offer letters, contracts and NDAs for a list of people.
- Invoices or receipts from an export.
- Personalised forms pre-filled with each recipient’s details.
Preparing the spreadsheet
- The first row holds column names; make them match the field names to skip manual mapping.
- Dates and numbers are inserted as text exactly as the cell shows them — format them in the spreadsheet first.
- For checkboxes, use yes/no or 1/0 consistently.
- A hundred rows is a hundred PDFs; there is no imposed limit, and you can cancel at any point. The ZIP is bounded by your machine’s memory.
Merging in the browser versus uploading
| Fill from spreadsheet | Bindery | Upload-based tools |
|---|---|---|
| Where the file is processed | In your browser tab, on your device | Uploaded to the service’s servers |
| Your list | Read once in the browser; never uploaded | Uploaded with the template |
| Output | One PDF per row, named by pattern, in a ZIP | Similar, after upload |
| What exists afterwards | The original and the new file, both on your device | A server copy until the retention window ends |
| Works offline | Yes, once the app has loaded | No |
Questions people ask
What spreadsheet formats work?
CSV (comma, semicolon, tab or pipe delimited, with quoted cells) and Excel .xlsx. The first row must contain the column names.
How many rows can it handle?
There is no imposed limit — each row is filled on your device, one after another, and you can cancel at any point. Very large runs are bounded by your machine’s memory for the ZIP.
Is the spreadsheet uploaded?
No. It is read once in your browser to fill the copies; neither it nor the PDFs are sent anywhere.
Can each PDF be sent automatically?
Bindery produces the files; sending is yours to do with your mail tool. Name the files from an email or name column so they are easy to attach.
What if a row has an empty cell?
The corresponding field is left blank in that copy. Check the mapping preview before running.
Can I add a signature to every copy?
Sign the template once with the Sign tool before merging; the signature becomes page content in every copy. Collect the recipients’ signatures afterwards with Request signatures.