Look inside a PDF form, not just at it
A fillable PDF looks simple and rarely is. Behind every box is an AcroForm field with a name that may be nested three levels deep, a /Ff integer whose bits mean different things depending on the field type, an export value that is almost never the word printed next to the checkbox, and an appearance stream that some viewers regenerate and others do not. PDF Form Field Inspector opens all of that.
What it reports
- The qualified name —
/Tjoined through/Parent, soaddress.cityshows up asaddress.cityand not as a barecityyou cannot address. - The real type — text, multiline, comb, password, checkbox, radio group, push button, dropdown, list box or signature, derived from
/FTand the flag bits. - Every
/Ffbit, decoded for the right field type. Bit 26 is RichText on a text field and RadiosInUnison on a button; a decoder that ignores/FTreports nonsense. - Export values. The key of each widget's
/AP /Ndictionary is what a checkbox or radio button submits. It is often1,On, or a product code — notYes. /MaxLen,/Opt,/DAfont and size,/Qalignment,/TUtooltip,/DVdefault value and any/AAadditional actions.- Coordinates — the raw
/Rectin bottom-up user space and the same box in top-down page space, plus the tab position within the page's/Annots.
The problems it finds
Duplicate qualified names (two boxes, one value). Widgets with no appearance stream, which render blank in strict viewers and break flattening. Widgets sitting outside the CropBox — present, filled, invisible. Orphan widgets that no field owns. /NeedAppearances being set, which quietly means the values are only visible in a viewer that regenerates them.
What it cannot tell you
It reads the stored structure. It does not run the form's JavaScript, so a calculated field shows its last saved value rather than what a script would produce. It does not validate against a form standard.
Privacy
The PDF is parsed in your browser with pdf-lib and pdf.js. Nothing is uploaded, and the JSON and CSV exports are generated locally.
Tiny Online Tools







