Fill PDF Forms from CSV - Free Online Browser Tool

Fill a PDF form from a CSV: one filled PDF per row, named from your data, all in one ZIP. Nothing is uploaded.

A form with fifty names on it is fifty copies of the same document, and doing that by hand is how mistakes happen: page two gets last week's date, and nobody notices until it is signed. The data already exists, in a spreadsheet. This tool joins the two. Add the PDF that holds the form and a CSV exported from your spreadsheet, and every data row becomes its own filled PDF, named after the person or account it belongs to, delivered in one ZIP. Copying the rows is deliberate rather than clever: each document is built from the original file, so two rows can never leak a value into each other, which is exactly the bug that makes a hand-typed merge untrustworthy. Matching is by field name, ignoring case, spaces and punctuation, because a column headed "Full Name" and a field called "full_name" are the same thing to a person and two different strings to a computer. Forms whose fields are called Field1, Field2 and mean nothing can be matched by position instead. Anything that does not match is left empty and listed in the report that comes with the ZIP, because a merge that quietly drops a column is worse than one that stops. Text fields, checkboxes, drop-downs and radio groups are all filled, and the files can be flattened afterwards so their values can no longer be edited. Nothing is uploaded, which is the reason to use a browser tool at all when the form is a medical record, a contract or anything under an NDA.

This fill pdf forms from csv utility runs completely inside your web browser. Your document is opened locally and processed on your own device using JavaScript and WebAssembly, so your file is never uploaded to any server. There is no signup, no watermark and no limit on how many documents you can handle.

  • 100% client-side - files never leave your device
  • Instant processing, no upload wait
  • Works on desktop, tablet and mobile
  • Free forever, no account required

Common next steps: Fill PDF Form Fields, Export Form Data (JSON), Inspect & List Form Fields, Flatten Form Fields.

How to Use the Fill PDF Forms from CSV Tool

Four steps, and the whole thing runs locally on your own device.

  1. Add the form and the data

    Two files: the PDF with fillable fields, and a CSV whose first row is the column headings. Put them in the same selection.

  2. Choose how columns are matched

    By name is right for almost every form. By order suits forms whose fields are numbered rather than named, and fills them left to right.

  3. Say what names the files

    Leave it blank to use the first column, or name the column to use - usually the one holding a name or account number.

  4. Create, then read the report

    Every row becomes a PDF in one ZIP. The report lists which fields were filled in each copy and, importantly, which were not.

Frequently Asked Questions

How do I know which fields got filled?

The ZIP contains a merge_report.txt listing every file, how many fields were filled in it, and the name of anything skipped with the reason - an empty cell, a value the drop-down does not offer, a checkbox whose value was not yes or no. Read it before you send anything out.

What happens to a column that matches no field?

Nothing is written to the document, because there is nowhere to write it, and the column is listed in the report as unmatched. An extra column is the usual reason - a reference column or a note for yourself - and leaving it in is harmless.

Will a checkbox be ticked for me?

When its value reads yes, true, 1, x or on, and cleared when it reads no, false, 0 or is left empty. A value that means nothing to that list leaves the checkbox exactly as the form had it, and the report says so, because guessing "agreed" as yes is how the wrong box gets ticked for a hundred people.

Why did the numbers in my fields not come through?

A CSV is text, so a reference like 001234 comes out of it as 1234 unless the spreadsheet quoted it. Either format the column as text in your spreadsheet before exporting, or add an apostrophe, and the field will keep its leading zeros.

Can I edit the results afterwards?

Yes - every generated PDF is an ordinary form. Tick "Flatten the fields" as well and the values are drawn into the page, so the file can no longer be changed by whoever receives it.