"Fillable PDF" covers several quite different situations, and the fix depends entirely on which one you have. Work out which before downloading anything.
1. It has no fields at all
Tell: pressing Tab moves nothing. No box highlights anywhere on the page.Very common with council, court and school forms. The boxes are drawn lines, not fields — nobody made it interactive. What to do about a PDF with no fields →
2. It is a dynamic XFA form
Tell: "Please wait… if this message is not eventually replaced…"The real form is a program inside the file that only Adobe Reader runs. Nothing browser-based can fill it, and converting it usually destroys it. What "Please wait…" actually means →
3. The file is restricted
Tell: fields highlight, you can click them, but nothing types — or it will not save.The producer set permissions that forbid filling, or allow filling but forbid saving. In Adobe Reader, File → Properties → Security tells you which. If filling is not allowed, no tool should quietly bypass that; go back to whoever issued the form and ask for a version you are permitted to complete.
4. Your viewer cannot write fields
Tell: it works in Adobe Reader but not in your browser.Chrome, Safari and Firefox all display PDFs, and their built-in viewers vary in how well they write form fields back — government forms with unusual structures are where they fall over. Download the file and open it in something that fills properly rather than fighting the preview.
The quickest way to tell them apart
Download the file, then open it in Adobe Acrobat Reader — free, and the reference implementation. If it fills there and not in your browser, you have cause 4. If Reader shows the "Please wait" page, cause 2. If Reader shows the form but refuses input, check Properties for cause 3. If there is nowhere to click at all, cause 1.
Where FormFill helps. Causes 1 and 4 — including forms whose
fields have meaningless internal names like
topmostSubform[0].Page1[0].f1_01[0], which is most official forms and
the reason many form fillers fill nothing. It reads the label printed beside each box
instead of the name.
It cannot help with cause 2, and it will say so rather than produce a file that looks filled and opens blank. For cause 3, the right move is asking the issuer, not finding a tool that overrides a restriction someone set deliberately.