All articles

Automated PDF Form Filling: Which Solution Survives Which Kind of Form

By Ardalan Foroughi, founder of Filly AI · August 22, 2026

Automated PDF Form Filling: Which Solution Survives Which Kind of Form

Most "why won't this tool fill my form" threads are not really about the tool. They are about the file. Six genuinely different things all get called a PDF form, and the differences between them decide which automated filling solutions work — quietly, without an error message, which is the part that costs people a day.

A library reports success and returns a document with half the boxes empty. An online filler drops text slightly off the lines. Neither says anything is wrong, because from the software's point of view nothing was.

Real AcroForm fields and a small fixed form set: pdf-lib or PDFtk, free, and nothing beats it. AcroForm fields but no developer: Acrobat, pdfFiller, or any online filler. XFA / dynamic government forms: very little works — download the current edition and check it opens outside a browser first. Flat or scanned forms with no field layer: either hand-place coordinates once per form, or use a tool that reads the page and places values itself, which is where an AI filler earns its keep. A .docx that is a layout, not a form: the PDF tools do not apply — you need something that edits the Word file itself. And if you need a filled PDF the moment a record changes elsewhere, that is an API — Anvil or your own code, not Filly, which has no public API.

The tools, and how far down the list each gets

ToolWhat it really isForm classes it fillsNeeds a developerCost (billing basis)
pdf-lib / PDFtkLibraries that write into named AcroForm fields1 only (and the covered part of 3)YesFree — pdf-lib MIT, PDFtk Server GPL v2; $995 one-off only if you redistribute PDFtk binaries inside one commercial product
Adobe AcrobatPDF editor; Prepare Form adds a field layer to a flat page1, and 4–5 once you add fields — then you still typeNoSubscription. Adobe's pricing page did not load on any of our attempts, so no figure is quoted here — read it on Adobe's own site and check whether the rate shown is annual or month-to-month
AnvilHosted template built from your PDF, filled over an API1, plus 3–5 via Document AI or hand-placed fieldsYes for the APIFree plan includes API access and 2,500 starter PDF fill/generation credits; Document AI on free is UI-only and capped at 20 pages per PDF. AI Pack $99/mo billed monthly or $79/mo billed yearly unlocks Document AI over the API and longer documents. Overage $0.10 per fill — caveat below
pdfFillerBrowser editor and filler with its own field tools1, plus manual typing over 4–5NoBasic $8/mo billed annually, $20/mo month-to-month; Premium $15 annually, $40 monthly
Power Automate + PlumsailWorkflow trigger plus a document step1 — its fill action matches your JSON keys to existing field namesNo, but it is real setupEntry tier 200 documents/month, next 1,000; priced per volume and billing period, and the store page advertises up to 16% off annual plans. Its prices did not render for us, so none are quoted
Zapier / Make + PDF.co or PDF4meData movement plus a third-party PDF action1 by field name; 3–5 only if you supply x/y coordinates per formNoPDF.co Basic listed at $8.99/mo, which is the annual rate — billed annually as $107.89
Filly AIReads the page with AI, with or without a field layer1, 3, 4, 5 — and .docx layoutsNoFree plan 10 fills/month; Solo $19/mo, Pro $39/mo

Six things all called a PDF form

Each has a test you can run in ten seconds, before installing anything.

Class 1 — a real AcroForm

Named fields the software can address by name. Test: click where an answer goes. A caret appears, the box highlights, and Tab moves you from one field to the next through the document.

Class 2 — XFA / dynamic

An XML form wrapped in a PDF shell, built in Adobe LiveCycle Designer. Test: open it in Chrome, Safari or macOS Preview. A grey page reading "Please wait… If this message is not eventually replaced" means XFA.

Class 3 — hybrid

An AcroForm layer covering only part of the document. Test: click boxes in different regions. If some take a caret and others ignore you — or Tab wraps back to the first field while whole sections below have never been visited — the field layer is partial. The fields run out before the document does.

Class 4 — flat vector PDF

No field layer, but the printed text is real text. Test: no caret anywhere, yet you can drag-select the words "Full legal name" and copy them.

Class 5 — scan or photo

A picture of a form. Test: try to select any text. You cannot — dragging draws a rectangle, and zooming softens the letter edges. Every word is pixels.

Class 6 — a .docx that is a layout, not a form

No content controls, just runs of underscores or an invisible table. Test: click a blank line in Word; the caret lands in ordinary body text and typing shoves the line sideways. Filling a Word document that isn't fillable covers it, because the PDF tooling has nothing to work on — the answer has to come from the Word side.

Class 2, XFA: the one that beats almost everything

The file is a container: the real form is XML inside it, and fields can appear, repeat or vanish as you answer, so a browser's viewer shows a holding page and only an XFA-aware viewer renders the thing. Libraries, most online fillers and most automation platforms look for an AcroForm and find a shell. Even Adobe is limited — its own documentation states that Acrobat Pro 2020 and later cannot edit XFA form XML directly, and that the print-to-PDF workaround flattens the file, losing all form fields, layers, interactive objects, buttons and JavaScript. So stop treating XFA as an automation target: fill it in Reader, or check whether the agency publishes a plain AcroForm or flat edition and automate that.

Class 3, hybrid: the failure with no error

This is the class we spent the most time on in our own placement engine, and the reason "it filled half my form" is a category rather than a bug report. A hybrid PDF has an AcroForm layer over part of the document and nothing over the rest — often because an agency added fields to the first two pages and left the continuation sheets flat.

A library enumerates the fields it finds, writes into every one, reports success, and returns a document correct at the top and blank below. Nothing there is an error from its point of view: it filled every field that existed. Handling it means switching strategy inside one document — fill the named fields where they exist, then read the uncovered region as a flat page and place text by position. Tools that do only one or the other hand back a half-filled document and call it done.

Classes 4 and 5: nothing to address

Both share the property that matters: no field to write into, so field-based automation has nothing to aim at. Two routes out. Add a field layer first — Acrobat's Prepare Form draws fields over a flat page, after which the file is a class 1 and a script can address it — worth doing for a form you will use hundreds of times, not worth doing once. Or use a tool that reads the page and places values positionally, with OCR when the page is an image; that is the only route that works on a form you did not know you would receive. See filling a paper form from a photo and why a PDF won't let you type.

What this means for the tools

  • Stop at class 1: pdf-lib, PDFtk, Plumsail's fill step in Power Automate, and the form-fill actions in PDF.co and PDF4me — all of which match your data keys to field names that already exist. Cheap, reliable, and entirely dependent on somebody else having put fields in the file.
  • Reach class 3 and beyond, but only by turning the form into a fixed template first: Acrobat (you draw the fields, then type), Anvil (Document AI, or tag fields once per template), and the add-text-at-coordinates actions in PDF.co and PDF4me, which will stamp values onto a flat or scanned page once you have worked out the x/y positions for that form. All three convert the problem into class 1 rather than solving it in place — fine for a fixed form set, expensive for a hundred forms that change.
  • Reach class 5 without per-form setup: tools that read the page and place values positionally on their own, Filly among them. The only group that copes with a form arriving for the first time as a scan.
  • Nobody reaches class 2 comfortably. XFA is a viewer problem, not a filling problem.

For a straight product ranking, the auto-fill PDF tools comparison is the buying guide; libraries versus filling APIs is the code-level version.

Where Filly fits, and where it doesn't

Filly reads the form with AI and works out which field wants which detail, so there is no field map to maintain, and it falls back to positional placement where a field layer is missing or partial. Scans go through OCR; .docx layouts are filled in place rather than converted; values come from a saved profile or a CSV.

The limits, flatly, because they decide whether it suits you: no public API and no live CRM or ATS integration — the path from another system is a manual export. CSV only, not XLSX. Batch runs cap at 5 rows on Solo and 20 on Pro, and the free plan allows 10 fills a month. AI mapping is a suggestion, not a guarantee, so every filled form needs a human review pass before it goes anywhere. And the honest exclusion: three known AcroForm forms at high volume inside software you own is a library job — write the field map once and stop paying anybody.

Choosing

  1. Class 1, fixed form set: pdf-lib or PDFtk with a developer; pdfFiller, Acrobat or any browser filler without one.
  2. Class 1, filled the instant a record changes: Anvil's API or your own code — the one case Filly cannot serve.
  3. Class 3, 4 or 5, high volume on one stable form: add fields in Acrobat once, or work out the coordinates once in a PDF.co or PDF4me step, then run it as class 1.
  4. Class 3, 4 or 5, forms that vary: a positional AI filler such as Filly. Test it on your worst form, not your cleanest.
  5. Class 2: Acrobat or Reader by hand. Class 6: a Word-side answer — content controls, a mail merge, or a tool that writes into the .docx itself.

Frequently asked questions

How do I tell if my PDF has form fields?

Click where an answer belongs. A caret and a highlighted box means real fields, and Tab should carry you through the rest of them. If nothing happens anywhere, select the printed text: selectable means a flat vector PDF, unselectable means a scan.

Why did the tool fill half my form?

Almost always a hybrid field layer — an AcroForm over part of the document and nothing over the rest. The tool filled every field that existed and reported success. Check whether the blank region takes a caret; if not, the file is the problem, not the software.

Why won't pdf-lib fill my form?

There is nothing to address. pdf-lib writes into named AcroForm fields, so a flat PDF, a scan or an XFA shell gives it zero fields to find. It is not failing — it is doing what it does, on a file that does not qualify.

Can anything automate an XFA form?

Very little, reliably. XFA needs an XFA-aware renderer — in practice Acrobat or Reader — and Adobe itself no longer supports editing the XFA XML directly in Acrobat Pro 2020 and later. Check whether the agency also publishes a standard AcroForm or flat version first.

Does adding fields in Acrobat make a scan automatable?

Yes, and it is the standard fix: Prepare Form draws a field layer over the page, after which the file behaves like class 1. The cost is that it is manual, per-form, and must be redone when the agency reissues the form with the boxes shifted.

What breaks when an agency reissues a form?

Field names change or disappear and positions move. A field-name script can silently write into the wrong box or skip a renamed field; a coordinate template drifts off the lines. Either way the output looks plausible — re-test on the new edition before running a batch.

How current are these prices?

Checked against each vendor's own pages in August 2026, with the billing basis stated because several show annual and monthly rates side by side. Three caveats. Anvil's pricing page lists metered PDF fills at $0.10 each, while the bulk pre-purchase table on the same page prices the same unit at $0.90 for its 10%-off tier down to $0.50 at 50% off — a 10%-off tier landing at $0.90 implies a $1.00 list price, which is exactly the workflow-submission rate listed beside the $0.10 one, so confirm against your own account before budgeting. Plumsail's store page did not render its prices for us, so we quote only its document volumes. And we have deliberately not quoted an Acrobat figure: Adobe's pricing page did not load on any of our attempts, and Acrobat's price varies by region and billing term anyway, so read it on Adobe's own site rather than trusting a number in any comparison post, including this one.

Fill any form in seconds

Try Filly AI free — no credit card required.

Get started

We use optional analytics and advertising-measurement cookies to understand product usage and see which ads bring people to Filly. This includes a masked replay of your visit — layout and clicks only, never what you type or the contents of a document. You can accept, or continue with essential-only. Privacy policy.