Fill in a PDF form
Drop the document and it reads out every field it can find. Type your answers beside the names.
How it works
Two different things get called a PDF form. One is a document carrying an interactive form: a table of named fields, each with a type and a value, that a viewer draws boxes for and lets you type into. The other is a picture of a form — a scan, a fax, or a page printed to PDF — where the boxes are ink and there is nothing behind them. They look identical on screen. The first thing this page does is tell you which one you have, and it does that before asking you for anything.
Most documents that look like forms have no fields
A scanner produces one image per sheet. Nothing survives of the original layout, so there is no field to fill, only pixels that happen to be arranged like a form. Printing to PDF from a word processor is the same story with better resolution: the ruled lines are vector drawing instructions and the captions are runs of positioned text, none of it addressable. Interactive fields have to be authored deliberately, in Acrobat or LiveCycle or a form builder, and most organisations never bother. Getting a count of zero here is the ordinary outcome, not a fault in your file.
There is still a way through, and it is the one the paper world uses. Put your own text and marks on top of the page as drawing rather than as field values. The signature tool in this section places an image anywhere on any page and cares nothing for whether fields exist, which covers a name, initials and a date. Beyond that, printing the sheet and writing on it is genuinely faster than fighting a scan.
Field names are addresses, and they are ugly on purpose
Every field has a name that a viewer never shows you. Names build a hierarchy with dots, so a field called `name` inside a group called `applicant` answers to `applicant.name`, and a form generator that names groups after page regions produces things like `topmostSubform[0].Page1[0].f1_07[0]`. That one is a real line from a US tax return. It is not corrupt and it is not a code you are supposed to decipher — it is a path through a tree somebody else built, and the number in it counts fields on the page rather than meaning anything.
The list on this page prints those names exactly as the document stores them, because that string is what your answer has to match. Tidying them into something readable would produce labels that match nothing. Copying is safer than retyping: the block is selectable, and the copy button takes the whole inventory. Where a tail like `f1_07[0]` is unique in the document you can type just that, and the page reports the full name it resolved to so you can check it took the field you meant.
A tick box does not store true or false
It stores a name. Clearing it writes `Off`, the one value fixed for every PDF ever made. Ticking it writes whatever name the author gave the ticked state, and that name lives in the widget's appearance dictionary beside the two little pictures of the box. The format puts no constraint on it whatsoever, so the ticked value is a property of your particular document rather than anything a tool can know before it opens the file.
That is why the inventory reads it out of each box and prints it next to the name. `Yes` is the familiar one, and the fallback here for a box that declares nothing, but a box that ticks to `1` behaves identically and looks identical on screen. Type the box's own value if you like precision, or type Yes or No and let the page translate. What it will not do is guess. The dictionary holds one picture per state, so a name with no picture cannot be drawn, and a tick that quietly failed to take is worse than a word handed back.
Radio groups and dropdowns work the same way and are stricter about it. Their permitted values are stored in a list inside the field, printed here in full, and anything outside the list is refused with the list repeated rather than written in and lost. Matching ignores capitals, since a list holding `PartTime` is not asking you to remember the shape of the word.
Flatten, lock, or leave it editable
Filling a field sets a value and regenerates the little picture the viewer draws inside the box, called an appearance stream. Both are stored, and they can disagree: the value is the data and the appearance is the ink. Flattening resolves that by keeping the ink and throwing away everything else — the fields cease to exist, the values become ordinary page content, and no viewer can alter or accidentally blank them. It is what you want before emailing a completed application to someone whose software you cannot predict. It is also irreversible, so a flattened form cannot be re-filled or corrected.
Locking is the middle setting and is underrated. The fields survive with their values intact and are marked read-only, so a viewer shows them as text rather than as boxes and will not let anyone type. The data stays machine-readable, which matters if anything downstream extracts it, and read-only is a flag rather than a wall — software that wants to clear it can. Leaving the form editable is right when you are handing it on for someone else to finish.
Accents, and the characters that will not draw
The appearance for a field this page fills is drawn in Helvetica, which is the fallback the underlying library uses whenever it regenerates one. Helvetica's encoding here covers Windows-1252: the Latin alphabet, the accented vowels, the euro sign, curly quotes and dashes. Anything outside that set is replaced with a question mark in the drawing, without complaint. Measured on this build, `Zoë Müller — 東京` draws as `Zoë Müller — ??`. The accents and the em dash are inside the set; the two Japanese characters are not.
The page detects those characters before it writes anything and names them, because the consequence depends on what you do next. Leave the form editable or lock it and the real text is safe: it lives in the field's value, which is full Unicode, and the question marks are only in the drawn copy that a viewer will regenerate. Flatten and the drawn copy is all that is left, so the text is gone for good. That is the one situation where locking beats flattening outright.
Documents that will not open
A PDF encrypted so that it needs a password before it will display cannot be read here, and the message says so rather than reporting a damaged file. Nothing on this page asks you for a password. The much commoner kind of protection restricts printing or editing while leaving the document readable by anyone, and those carry an empty user password, open without a prompt, and fill normally. Rewriting a document does not reliably carry its original restrictions forward, which is worth knowing before you send the result somewhere those restrictions were the point.
Questions
It says my PDF has no fields. Is that wrong?
Almost certainly not. Scans, faxes and anything printed to PDF carry no interactive fields at all, and that covers most of the documents people bring to a tool like this. The count comes from the document's own form table, so zero means the table is empty or absent. The page also reports whether every sheet is carrying an image, which is what a scan looks like from the inside, and what to do instead.
What do I type for a tick box?
Yes or No will do. Also accepted: y, true, 1, on, x, ticked, and their opposites n, false, 0, off, unticked. Capitals are ignored. If you would rather be exact, the inventory prints the value that particular box writes when ticked, which is often not Yes, and typing that works too. Leave the value empty and the box is left exactly as the document had it.
Why did my name come back with question marks in it?
The text was drawn with a font whose encoding does not reach that far. Accented Latin is fine; Greek, Cyrillic, Hebrew, Arabic and CJK are not, nor are a few Latin letters such as the Polish crossed l or the Turkish soft g. The page lists the exact characters affected. Choose Lock instead of Flatten and the real characters are preserved in the field data, with only the drawn copy degraded.
Should I flatten?
Yes, if the form is finished and going to someone else. Flattening turns the answers into page content, which removes any chance of a viewer clearing them, prompting to save changes, or rendering the boxes differently from how you saw them. No, if you might need to correct it, if someone else has sections left to complete, or if you typed anything outside the Latin alphabet. Flattening cannot be undone, so keep the original either way.
The field names look like gibberish. Did I get the wrong file?
No. Names are internal identifiers rather than the captions printed beside the boxes, and generated forms produce long ones full of brackets and indices. Match them by the order they are listed in, which follows the document's own field table, and by any recognisable tail. Where a tail is unique you can type just the tail, and the page tells you which full name it matched.
Can it fill a form that asks for a password?
Only if the password is needed for editing rather than for opening. Documents locked against modification are usually still readable without a prompt, and those are read and filled here in the ordinary way. A document that demands a password before it will display anything is refused with a message that names the reason. This page never asks you to type a password into it.