Skip to content

Create a PDF form

Turn a printed-looking document into one that can be filled on screen.

Processed on your device

This tool runs entirely in your browser. Your file is never uploaded, and you can verify that in your browser's network tab. Verify it yourself: open your browser's network tab and watch. You will see one small request asking whether you have tasks left - a tool name and a hash, never the file.

What this does

This adds real form fields to a document that has none. You draw each field where it belongs on the rendered page, and the file that comes out carries named AcroForm fields that any reader can fill - not text boxes drawn as artwork. Positions are chosen by dragging rather than typed as numbers, because a field belongs to a spot on the page and no set of coordinates would be quicker or more accurate than putting a box where the line already is.

Use it when a form keeps getting printed, filled by hand and scanned back: a leave request, a delivery note, a membership application, a supplier questionnaire. It is also what you want after designing a form in Word or InDesign, where the layout is right but nothing is fillable.

How it works

  1. Drop the PDF onto this page. It is rendered so you work on the page you can see.
  2. Leave the proposal option on for a first pass, then accept, move or delete what it suggests.
  3. Drag out any further fields and set what each one needs: its kind, a name, a tooltip, whether it is required, and the choices for a dropdown or a radio group.
  4. Check the names. Two fields sharing a name are one field in PDF, which is right for a radio group and a bug anywhere else.
  5. Press Create form and download the fillable document.

Six kinds of field are offered and five of them are created here: a text box, a tick box, a radio group, a dropdown and a scrolling option list. A signature field is refused rather than faked, because pdf-lib can read one but not create one, and a hand-built signature field with no byte range shows in readers as a broken signature rather than an empty one. Sign PDF adds a real one.

Every field created here gets a hairline border and a pale wash, and its appearance stream is generated before anyone clicks it. This is not decoration. A field with no border and no background renders as an invisible rectangle, the person opening your form sees a blank page, clicks nothing, and concludes the form does not work.

A text box taller than 32 points is made multiline automatically, so a comments box wraps instead of scrolling one line sideways. The label you give a field is written as its tooltip, which is the only label a field carries in the file itself - readers show it on hover and screen readers read it out, so it is worth filling in even when the printed text beside the box says the same thing.

Up to 500 fields in one pass, and the names have to be unique except within a radio group, where sharing a name is what makes the buttons mutually exclusive. Automatic proposal looks for the marks that mean write here - long horizontal rules, empty boxes, rows of dots - and it proposes rather than applies, because a wrong field is more annoying to remove than a missing one is to add.

The page is rendered, the fields are placed and the document is written entirely inside your browser. A blank internal form and a signed one are treated the same way, since neither is transmitted at any point.

What this tool cannot do

  • Calculated fields, validation rules and any other JavaScript behaviour are not created. Fields here hold what someone types; they do not add a column of figures or check a format.

Questions people ask

What kinds of field can I add?
Text boxes, tick boxes, radio groups, dropdowns and scrolling option lists. A text box over 32 points tall becomes multiline so longer answers wrap. Radio buttons in one group share a name, which is what makes selecting one clear the others; every other field needs its own name.
How good is the automatic field proposal?
It finds the obvious cases well: a ruled line to write a name on, an empty square to tick, a row of dots. It has no way of knowing that a line is a signature rule rather than a name field, so it proposes and you confirm. On a densely ruled table it will over-propose, which is the intended failure - deleting a suggestion takes one click and noticing a missing field takes a complaint from whoever filled the form.
Will the form work in every PDF reader?
It uses AcroForm fields, which is the format Acrobat, Preview, Chrome, Firefox, Edge and the common mobile readers all support. Because the appearance for each field is written into the file, a field looks the same before it is clicked in all of them. What varies is polish: some readers highlight fillable fields in blue, some do not, and a few older mobile readers show the field but will not let you type.
Can I add a signature field?
Not here, deliberately. A signature field with nothing behind it is shown by readers as a broken signature rather than an empty box waiting for one. Use Sign PDF, which creates the field and the signature together in the order the format requires. If all you need is somewhere to draw a mark, a tall text box or a plain ruled line works.
Is my document uploaded to build the form?
No. The page is rendered in your browser by PDF.js, the fields are written by pdf-lib in a Web Worker, and the finished file is produced locally. That includes the internal templates people usually build forms from, which are often the last thing anyone wants on someone else's server.

Related tools