Skip to content

Fill a PDF form

List a PDF's form fields, fill them in, and flatten so the values show everywhere.

Drop your file here

Processed securely and deleted within the hour.

Up to 60 MB · free · no signup

    Why filled forms so often come out blank

    This is the single most common complaint about every online form filler, and it is worth understanding because the obvious fix does not work either.

    A form field's visible content is not its value. It is a small piece of drawing instructions called an appearance stream, hanging off the field's widget. Set the value and save, and the viewer draws the old appearance — which for an empty field is nothing. The file has your data in it and shows a blank box.

    The usual remedy is a flag called NeedAppearances, which asks the reader to rebuild the appearances itself. Measured here against pdfium, the renderer inside Chrome: value alone draws nothing; value plus the flag draws correctly only when form fields are being rendered at all, and shows an empty box when they are not. A form field is an annotation, and a great deal of software — converters, printers, thumbnail generators — draws pages without annotations.

    So this flattens, by default

    Flattening draws each field's appearance into the page's own content and then removes the form. The value becomes part of the page, exactly like text that was always there. Measured the same way, a flattened field renders identically whether form fields are drawn or not, and the text becomes selectable and searchable.

    It also means nobody can edit the values back out, which is usually the reason you filled the form in the first place. You can turn flattening off if you genuinely need the file to remain fillable — and the result will tell you what that costs.

    Start by asking what the fields are called

    Upload the PDF with the values box empty and you get the list: every field's real name, its type, whether it is multi-line, how many characters it accepts, what a checkbox's "on" state is called, and anything already filled in. Copy those names into the box as name = value, one per line, and run it again.

    The names are frequently not what the visible label says — a field labelled "Surname" may be called form1[0].Page1[0].txtLastName[0], because it was generated by a tool nobody enjoys using. That is why the list comes first.

    Checkboxes and radio buttons

    A checkbox does not take true or false. It takes the name of its "on" state, which is usually Yes but is whatever the form's author chose — and the field list tells you which. Off unticks it. This also sets the widget's appearance state as well as the value, which is the step that gets missed: setting the value alone leaves the box looking unticked in most readers.

    Radio groups work the same way, with one option name per button, and each button is set individually so the group ends up consistent.

    XFA forms are refused, on purpose

    Some PDFs are not really PDF forms at all. Adobe's XFA format stores the fields as XML and only Adobe Acrobat renders it properly. Filling one through the ordinary PDF structures produces a file that looks perfect to us and completely empty to you. Rather than do that, this says so and stops. Open it in Acrobat, or ask whoever sent it for an ordinary form.

    Fonts

    The text is drawn with the font the form itself embeds, which is very often Helvetica. That font cannot draw Devanagari, Tamil, Chinese or Arabic, and no filler can conjure a glyph a font does not contain. If your value uses characters the form's font lacks, you are told rather than left to discover it on the printout.

    01

    Common questions

    I filled it in and the fields are empty. Why?

    Because a field\u2019s appearance is drawn separately from its value, and most tools update only the value. This one regenerates the appearance and flattens by default, which is what makes it show everywhere.

    How do I find out the field names?

    Upload the PDF with the values box empty. You get every field\u2019s exact name, its type and what it accepts. They are case-sensitive and often have long prefixes.

    What do I put for a checkbox?

    The name of its on-state — usually Yes, but the field list tells you what this form uses. Off unticks it.

    Should I flatten?

    Almost always. Flattening makes the values part of the page so they show in every viewer and cannot be edited back out. Leave it on unless you need the file to stay fillable.

    It says my form is XFA. What now?

    XFA is an Adobe-only format that only Acrobat renders properly. Filling it here would give you a file that looks right to us and blank to you, so it refuses. Use Acrobat, or ask for an ordinary PDF form.

    My PDF looks like a form but has no fields.

    Then it is a picture of a form — a scan, or a flat design. There is nothing to fill programmatically. Use the signing tool to type on top of it instead.