Open Edit PDF

Bulk-Fill a PDF Form from a CSV

Upload a fillable PDF template and a spreadsheet — get one completed PDF per row, automatically, with a preview before you commit to the full batch.

1
2
3
4

Drop a fillable PDF template here, or click to browse

Your file never leaves your browser

How PDF mail merge from a spreadsheet works

Bulk-filling a PDF form from a CSV — sometimes called a PDF mail merge — reads the fillable fields out of a PDF template, then reads each row of a spreadsheet as one set of values for those fields, generating a separate completed PDF per row. It replaces manually copy-pasting the same data into the same form dozens or hundreds of times.

After you upload the template, this tool lists every field it found and automatically matches spreadsheet columns to field names, tolerating differences in spacing, casing, and underscores. Anything it can't confidently match — or any field type it can't auto-fill, like radio buttons or a signature field — is called out by name so you know exactly what needs manual attention before you generate anything. A preview of your CSV's first few rows sits right above the mapping so you can sanity-check the actual data, and a "Preview row 1" button generates a single sample PDF to download and check before you commit to the full run. Generation itself happens sequentially, one PDF at a time, so even a large spreadsheet doesn't overwhelm your device's memory — and each row is independent, so a single row with a problem value is reported clearly instead of derailing every other row in the batch. Text in Hindi, Marathi, or other Devanagari-script values is rendered correctly through an automatically embedded Unicode font, no extra setup required. When it's done, a single result downloads directly, or a batch downloads together as a zip file.

Common use cases

  • Generating certificates of completion for a list of course participants
  • Creating personalized invoices from an order spreadsheet
  • Producing individual offer letters or contracts from an HR spreadsheet
  • Batch-filling a government or compliance form for many entries at once
  • Printing name badges, ID cards, or admit letters for an event registration list

Related tools

CSV to PDF Form — frequently asked questions

Yes — mail merge is the more common name for this exact workflow: one template, one spreadsheet, one personalized PDF per row. This tool does that entirely in your browser instead of through a mail-merge email service, so nothing about your data or your recipients ever reaches a server.

CSV works directly. If you have an Excel file, export it as CSV first (File > Save As > CSV) — most spreadsheet apps support this in one click.

It matches column names to field names automatically, ignoring case, spaces, underscores, and dashes — so a column named "full_name" matches a field named "Full Name" without any manual work. Anything it can't confidently match, you map yourself with a dropdown before generating.

Yes. Any field value containing Devanagari (Hindi, Marathi, Sanskrit) or other non-Latin characters is rendered with an embedded Unicode font automatically — you don't need to do anything differently. Fields with plain Latin text keep rendering exactly as before; the extra font only loads when your CSV actually needs it.

It won't cost you the rest of the batch. Every row is generated independently, so if one row has a value that's too long for its field or otherwise can't be rendered, that single row is reported as failed with a plain-language reason while every other row still generates normally. You can fix just the problem row and re-run.

Yes — the mapping step has a "Preview row 1" button that generates a single sample PDF from your first row using the current field mapping, so you can download and eyeball it before committing to generating dozens or hundreds of files the same way.

There's no hard limit, but everything runs in your browser tab, so very large CSVs (300+ rows) will take longer and you'll see a heads-up before starting.

Those field types can't be auto-filled yet — they're listed by name before you upload a CSV, and left blank in every output PDF.

No. The CSV and the PDF template are both read and processed entirely in your browser.