99tools

PDF Form Filler & Flattener

runs in your browser

Fill in a PDF form’s text boxes, checkboxes, radio buttons and dropdowns in your browser, then save it filled, or flattened so the answers stay put.

Drop a file here, or .

A PDF with fillable fields. It is read here; nothing is uploaded.

about this tool

Fill a form without Acrobat

Open a PDF with fillable fields and every field is listed, page by page, with a control that suits it: a text box, a checkbox, radio buttons, a dropdown or a list. The page is drawn beside the list with each field's box outlined, and what you type appears in its box as you type it. Click a box to jump to its field. Download filled PDF writes the answers into the file; tick Flatten first to draw them onto the page and remove the fields, so the answers can no longer be edited as form fields.

The form's own rules are kept for everything you type: a text field holds no more than its declared length (counted as the PDF counts, so an emoji takes two), a single-line field takes one line, and a dropdown or radio group takes one of its options, unless the dropdown takes text of its own. What the PDF already held is left as it is. Fields the form marks as required are flagged, and the download says which are still empty. Read-only, hidden and rich-text fields are listed but not changed. Signature fields are listed too; the Sign PDF tool draws a signature on the page. If the PDF is already signed, the tool warns that downloading it from here breaks that signature even if no field changes, because the file is written anew.

How the answers are drawn

The file is read and written with pdf-lib, and each changed text field, dropdown and list is drawn with Helvetica, the font every PDF viewer has built in, which covers Western European letters. Two kinds of field cannot be drawn that way: text in Devanagari, Chinese, Arabic or other scripts, and a choice whose stored value differs from the label shown (a province stored as ON but shown as Ontario). For those, the stored value is written exactly, the field's old drawing is removed, and the PDF is saved with the NeedAppearances flag, which asks the viewer to draw the field itself. Acrobat and Firefox do; check the result in the viewer it will be read in, as some simpler viewers leave such a field blank. Because flattening needs every field drawn here, a form with such a field is filled but not flattened.

The tests fill a sample form and read the result back with pdf.js, the engine Firefox draws PDFs with, rather than with pdf-lib, which wrote it: every kind of field reads back as answered, a stored value differing from its label is kept, and a flattened form has no fields left, its answers in the page's text and nothing from hidden fields.

XFA and scripts

Forms made with Adobe LiveCycle carry an XML copy of the form (XFA). A static XFA form also has ordinary fields; the XML layer is removed on download, so every viewer shows the fields you filled. A dynamic XFA form has no ordinary fields at all, only a placeholder page, and only Adobe Reader can fill it; the tool says so. Scripts in any form — totals, date formats, checks — do not run here; a calculated field keeps whatever it held, so open the PDF in Acrobat if a total needs working out.

Saving your answers

Save answers downloads what the fields hold as a small file, keyed by field name; password fields are left out, as the file is plain text. Load answers fills the same form, or a newer version of it, from that file; answers for fields the form does not have, or that a field would refuse, are left out and the first few named. Nothing is stored in the browser.

Limits

Encrypted PDFs — including ones that open without a password but are locked against changes — have to be unlocked first with Protect PDF. Files up to 150 MB. The preview draws the page without its annotations (field drawings, stamps, comments) and places your answers in the boxes; the downloaded PDF is what the recipient will see. Nothing is uploaded or sent anywhere.

questions

What does flattening a PDF form do?
It draws every answer onto the page as ordinary content and removes the form fields, so the PDF looks the same but the answers can no longer be edited or cleared as form fields. Flatten a form before sending it when the answers should be final, or when the recipient’s software shows form fields badly. Leave it unflattened when someone else still has to fill in or check part of it.
Which forms can it fill?
PDF forms with ordinary AcroForm fields, which most fillable PDFs have: applications, government, tax and bank forms. It fills text fields, checkboxes, radio buttons, dropdowns and lists. Static XFA forms made with Adobe LiveCycle carry these fields too, and their XML layer is removed on download. Dynamic XFA forms have no ordinary fields and only Adobe Reader can fill them. A scan with no fields has nothing to fill; the Sign PDF tool can place a typed name or signature on it.
Why does my text look different in some viewers?
New text is drawn into each field with Helvetica, the font every PDF reader has built in, which covers Western European letters. Text in another script, such as Hindi or Chinese, cannot be drawn that way, so the PDF asks the viewer to draw that field with its own fonts. Acrobat and Firefox do; some simpler viewers leave such a field blank, so check it in the viewer the PDF will be read in. Such a field also cannot be flattened here.
Is my form uploaded anywhere?
No. The PDF is read and written in your browser with pdf-lib, and the preview is drawn with pdf.js, both running on your device. Nothing is sent or stored. Save answers keeps what the fields hold in a small file, password fields left out, so you can fill the same form again later or a newer version of it.
Do the form’s calculations and checks run?
No. Some forms carry JavaScript that adds up totals, formats dates or checks an entry, and it runs only in viewers that run scripts, such as Acrobat. Here the fields take exactly what you type, and the length limits and options the form itself declares are checked. After downloading, open the PDF in Acrobat if a total needs working out.