PDF Forms: Fillable Fields, AcroForms and XFA

PDF Basics · Lesson 9Updated Sep 23, 2026
In short

A fillable PDF form contains interactive fields (text boxes, checkboxes, dropdowns) that you can type into. Most use the universal AcroForm format. Some older government forms use XFA, which only works properly in Adobe Acrobat or Reader.

Two kinds of “forms”

  1. Fillable (interactive) forms have real fields. Click and type.
  2. Flat forms are just a document with lines and boxes printed on it. You need a tool that lets you add text on top (see How to fill out a PDF form).

Field types

  • Text fields (single-line, multi-line, formatted dates/numbers)
  • Checkboxes and radio buttons
  • Dropdowns and list boxes
  • Signature fields
  • Buttons (print, reset, submit)

Forms can also contain JavaScript for calculations (“total = sum of rows”) and validation. Not every viewer runs it.

AcroForm vs XFA

AcroForm XFA
Standard Part of ISO 32000 Adobe proprietary; deprecated in PDF 2.0
Works in browsers, Preview, phones ✅ Yes ❌ Usually not
Typical source Most forms Older government and corporate forms (made in Adobe LiveCycle)

Why forms go wrong

  • “Can’t save my entries”: some older viewers only allow filling, not saving. Use Acrobat Reader, Edge, Chrome or Preview, which all save filled forms.
  • Entries disappear when opened elsewhere: the viewer saved values without updating their appearance. Flatten the form or print it to PDF.
  • Calculations don’t work: the viewer doesn’t support form JavaScript. Try Adobe Acrobat Reader.
  • The blank “Please wait…” page: it’s an XFA form. Open it in Adobe Acrobat Reader desktop.

Frequently asked questions

Why does my PDF form say 'Please wait… If this message is not eventually replaced…'?

That's an XFA form. Browsers and most PDF apps can't render XFA. Download the file and open it in the free Adobe Acrobat Reader desktop app.

What does 'flattening' a form mean?

Flattening converts filled-in fields into ordinary page content, so the answers can no longer be changed and look the same in every viewer. It's often done before sending or archiving.

Was this page helpful?

Thanks for the feedback!