Skip to content
Edit & Text

Fill in a PDF form online

Drop a fillable PDF and every field appears as a simple form, in the order it sits on the page and labelled with the words printed beside it — text boxes, checkboxes, choices and lists. Type your answers and save a PDF that keeps them, or lock them in so they can’t be changed. Nothing is uploaded.

Settings appear once you add a PDF form.

Lock the answers in The answers become part of the page and can no longer be edited — what most offices want when a form is submitted. Leave it off to keep the form fillable.

Done on your device No upload, no queue, no sign-up.

Bytes sent anywhere: 0 B

How to fill in a PDF form online

Your PDF form goes into this browser tab, is filled with your answers on your device, and comes back as a completed form. 0 bytes uploaded
  1. Add your PDF form

    Drop the fillable PDF. Its fields are read in your browser and listed page by page, each labelled with the question printed next to it.

  2. Check the settings

    Type your answers, tick the boxes and pick the options. Signature boxes are marked; sign them with Sign PDF afterwards.

  3. Save the result

    Save. Keep the form fillable for later changes, or lock the answers in before you send it.

Why it doesn’t upload

Forms ask for exactly the details you would least want copied: names, addresses, dates of birth, tax and passport numbers, medical history. Online form fillers receive every answer on their servers. Here the form is read and written inside your browser, and the answers exist only in this tab until you save.

Check it in your browser’s Network tab

Worth knowing

  • This fills forms that have real fields — the ones you can click into in a PDF viewer. A PDF that is only printed lines and boxes has nothing to fill; write on it with Edit PDF’s Add text tool instead.
  • XFA forms, made with Adobe LiveCycle and common on some government sites, can only be filled in Adobe’s own apps. The tool says so when it finds one.
  • Calculated fields (totals worked out by the form’s own scripts) are not recalculated, because a form’s scripts never run here. Type the total yourself.
  • Labels come from each field’s own description or the printed words next to it; on a busy layout a label can pick up the wrong words. The page number is always shown, so check against the original when in doubt.
  • Answers in Chinese, Japanese or Korean aren’t supported by the embedded font yet.

Under the hood

What happens to your file

The form’s AcroForm fields are read with pdf-lib: text boxes, checkboxes, radio groups, dropdowns and lists. Each is labelled from its tooltip (/TU) or the words pdf.js finds printed beside it. Answers are written into the fields and their appearances regenerated so every viewer shows them; locking flattens the appearances into the page.

Runs on pdf-libpdf.js

Reference: pdf-lib documentation · ISO 32000-2 (PDF 2.0)

Questions

How do I fill out a PDF form without Adobe?

Drop the PDF here; its fields appear as a normal web form. Fill them in and press Save filled PDF. The answers are written into the PDF’s own fields, so they show up in any viewer, including Adobe Reader.

What does “Lock the answers in” do?

It flattens the form: your answers are drawn into the page and the fields are removed, so nobody can change them afterwards and every printer shows them the same way. Many offices ask for this. Keep a fillable copy too if you might need to change something.

Why does it say my PDF has no fillable fields?

Some forms are just printed lines, made to be filled by hand. They have nothing to type into. Use Edit PDF and its Add text tool to write on them instead.

Can I save my progress and finish later?

Yes. Save without locking, and the file keeps your answers in fillable fields. Drop it here again later and they are all still there to change.

How do I sign the form after filling it?

Save it here first, then open Sign PDF and drop the filled form in. Draw or type your signature and place it in the signature box.

More edit & text tools

All edit & text tools