PDF Form Filler

Share:

Open any AcroForm PDF, fill text fields, checkboxes, dropdowns. Save with values or flatten to non-editable.

RT-IMG-022 · Image & File
Your browser is too old for this tool’s interactive features. Please update to Safari 13.1, Chrome or Edge 80, Firefox 74 or newer.

PDF Form Filler

No PDF loaded yet.
💡 Editable vs flattened: "Editable" keeps the form fields, so the recipient can still change values. "Flattened" draws your values onto the page and removes the fields, so the file no longer works as a form. It is not tamper-proof — anyone with a PDF editor can still change a flattened page — but nobody can simply click into a field and retype it.
Drop a PDF to begin.
🔒 Forms stay on your device. All field detection, editing, and saving happens entirely in your browser using the self-hosted pdf-lib library. Nothing is uploaded — verify in DevTools → Network.
Advertisement
After results · AD-W1 Responsive · Post-tool — peak engagement

How to fill a PDF form online

Add your PDF form

Drop a form-bearing PDF onto the dropzone. The tool scans the document's AcroForm dictionary and lists every interactive field — text inputs, checkboxes, dropdowns, radio buttons, and multi-select lists — with the field name and detected type tagged.

Fill in the values

Each field shows up with its current value pre-filled (if any). Type into text fields, tick checkboxes, choose from dropdowns. The form respects field metadata — text fields keep their declared maxLength, dropdowns offer only their own options, a radio group takes one choice — and a field the form marks read-only is shown with its value and left alone.

Save editable or flattened

Save filled (editable) writes your values into the form fields and downloads a PDF that the next person can still edit. Save flattened draws the values onto the page and removes the fields. Flattening needs every value drawn with the tool's built-in Helvetica, which only covers Western European characters, so a form filled in Chinese, Thai or another script can be saved editable but not flattened — the tool tells you which field is the problem.

Signature fields stay untouched

Digital signature fields are detected but not editable in the browser — they require cryptographic signing, which is a separate workflow. The tool leaves signature fields blank so you can finish them in Adobe Acrobat, DocuSign, or your government's or bank's e-signature service.

Advertisement
After how-to · AD-W2 Responsive

PDF forms — the format your bank, your government, and your employer rely on

A PDF form keeps its fields in a structure the standard calls an interactive form, or AcroForm, part of PDF since version 1.2. Bank applications, HR paperwork, school enrolment packs and government downloads still arrive this way: you download the PDF, fill it in, save it and send it back. The usual ways to do that are Adobe Acrobat Reader, a browser's built-in viewer, or a "free online PDF filler" that uploads the form — and whatever you typed into it — to someone else's server. This page fills it in your browser instead.

What is actually inside a PDF form

The document catalogue holds an /AcroForm dictionary listing every field: its name, its type (text, button, choice or signature), its value and its flags, such as read-only or required. Each field is drawn on the page by a widget annotation that carries an appearance stream — a small drawing of how the field looks right now. Filling a field means changing its value and redrawing that appearance; a viewer that trusts the stored drawing will otherwise keep showing the old one.

A filled field has two copies of your answer: the value, and a drawing of it. Most "the PDF didn't save my text" complaints are the drawing that nobody updated.

When the built-in font cannot draw your text

This tool redraws fields with pdf-lib, whose built-in fonts cover the WinAnsi character set — Western European only. Until 30 September 2026 a value like 陈大文 made the save fail with a raw "WinAnsi cannot encode" error. Now, when any value is outside that set, the tool leaves the drawing to the reader's software: it sets the form's NeedAppearances flag, which the standard defines as asking the viewer "to construct appearance streams and appearance dictionaries for all widget annotations". We checked the result in pdf.js, the engine behind Firefox's viewer, and it drew "陈大文 Tan" correctly. Flattening cannot hand the job to a viewer, which is why it is refused for that text.

Why the tool could not fill any form before 30 September 2026

The page told fields apart by their JavaScript class name. The copy of pdf-lib the site serves is minified, and minified class names are single letters — a text field reported itself as r, a checkbox as e — so every field in every PDF fell through to "Unsupported field type". It now asks pdf-lib directly whether each field is a text field, checkbox, dropdown, list, radio group, button or signature, and a test form with one of each reads back exactly the values filled in.

AcroForm against XFA, hierarchical field names, and what flattening destroys

01

Interactive forms arrived in PDF 1.2. The standard's own name for them is "interactive form"; "AcroForm" is the name of the dictionary that holds them.

02

A form has one set of fields for the whole document, however many pages it spans — the same field can appear on page 1 and page 9 and show the same value on both.

03

Field names are hierarchical: applicant.address.street is the field street inside address inside applicant. The long names this tool shows are those full paths.

04

A checkbox's "on" state is a name, not a boolean. The standard says Yes should be used, and stores the off state as Off — but forms in the wild use other names, which pdf-lib handles.

05

XFA, Adobe's XML form format, was added to PDF 1.5 as an optional /XFA entry described by a separate Adobe specification. pdf-lib cannot read it and removes it when a form is opened — this tool warns you when that happens.

06

Signature fields hold a cryptographic signature over the file, made with a certificate. Filling one is signing, which this page does not do — use a signing application for that.

07

Forms can carry JavaScript for calculations and checks. pdf-lib keeps those scripts in the file but this page never runs them, so a "total" field will not update here.

08

The NeedAppearances flag asks the viewer to redraw every field from its value; its default is false. This tool sets it only when your text is outside the built-in font.

09

An owner password — the kind that blocks printing or editing but opens without a prompt — still encrypts the file's contents. pdf-lib cannot decrypt them, so this tool refuses such files rather than saving a broken one.

10

Flattening turns fields into ordinary page drawing. The values stay visible, but the file stops being a form: nothing can be typed into it and no software can read the answers back out as fields.

FAQ

  • No. pdf-lib runs entirely in your browser. The PDF is read into memory, edited in memory, and saved back to your downloads. Open DevTools → Network and watch — there's zero outbound traffic during the entire flow.

  • The PDF has no AcroForm fields. Either it is an ordinary flat PDF — the boxes are printed lines, not fields — or it is an XFA form (Adobe LiveCycle), which the tool now names in its message. For XFA, use Adobe Acrobat Reader. For a flat PDF, there is nothing to fill in digitally; a tool that adds text boxes onto the page is what you need.

  • Editable = form fields stay interactive, your values are written into them, recipient can still change values. Flattened = fields are removed and your values become regular page text. Use editable for collaborator hand-off, flattened for final submission.

  • No. A signature field holds a cryptographic signature made with a certificate, and this tool does not sign. The field is listed and left empty, so you can sign after filling, in a signing application or your government's or bank's e-signature service. A picture of your signature pasted onto the page is not the same thing as filling the signature field.

  • Text fields, checkboxes, dropdowns, multi-select lists and radio groups can be filled. Push buttons and signature fields are listed but not editable, and any field the form itself marks read-only is shown with its value and left as it is.

  • This page never runs a form's JavaScript, so "calculate total" or "validate ID" scripts do nothing here — the scripts themselves stay in the saved file. If a form depends on them, fill it in Adobe Acrobat Reader, which runs them.

  • The pages, fonts and images are unchanged; only the fields are redrawn. The redrawn fields use pdf-lib's Helvetica rather than the font the form designer chose, so filled text can look slightly different. When your text needs characters Helvetica lacks, the field is left for the viewer to draw instead, in whatever font the viewer picks.

  • No, not even one that opens without a password. Owner-password ("restriction-only") protection still encrypts the file's text and field values, and pdf-lib cannot decrypt them: the field names read back as noise and the saved file does not open. The tool now refuses such a file with an explanation. Save an unprotected copy first.

  • Some PDF authors don't bother naming fields, so you see things like Text1, Form1[0].Page1[0].Cell[0], or random IDs. The type tag (TEXT / CHECKBOX / etc.) and current value usually give you enough context to identify which form-paper field each one corresponds to. Open the source PDF side-by-side for reference.

  • To send a copy nobody can casually retype, or one that shows your answers the same way in viewers with weak form support. Flattening removes the fields, so it is also irreversible — keep the editable version if you might need to change an answer. It is not a security control: a PDF editor can still alter a flattened page.

Method & sources

How it computes

Reads AcroForm fields with pdf-lib, classifying each with instanceof (text, checkbox, dropdown, option list, radio group, button, signature); read-only fields are shown and left alone. Values WinAnsi Helvetica cannot draw are saved with NeedAppearances set so the viewer redraws them; flattening such text is refused. XFA is detected and reported, since pdf-lib removes it.

What this tool implements

  • Until this review no field could be filled: fields were told apart by constructor.name, and the minified pdf-lib calls its classes r and e, so every field read "Unsupported field type: r". A test form with one field of each type now round-trips its values.
  • Saving 陈大文 threw pdf-lib's raw "WinAnsi cannot encode". With NeedAppearances (ISO 32000-1 §12.7.2) the editable file saves, and pdf.js drew the text correctly when tested 2026-09-30.
  • Owner-password PDFs are refused: their field names read back as binary noise and the saved file failed to open in pdf.js. The page had said restriction-only files work.

Sources

Advertisement
Pre-footer · AD-W3 728 × 90