Create PDF Form

Turn a flat document into a fillable form by describing the fields you want, in points.

Runs on your devicePDFWorkingNo account needed

What this tool does

Create PDF Form opens your document with pdf-lib and writes real AcroForm widgets into it — text boxes, checkboxes, dropdowns and radio groups. These are interactive fields rather than boxes drawn on the page, so Acrobat, Preview and the viewers built into browsers let a recipient click in, type, and save the answers back into the file.

Fields are described as a JSON array rather than dragged into position. Only name is compulsory; the rest fall back to defaults, so an entry with nothing else becomes a text field on page 1 at x 50, y 50, measuring 120 by 22 points. Give width and height in points to override that, or size on its own for a square. A text field also accepts value for a pre-filled default, multiline, and maxLength, while dropdowns and radio groups must carry an options array or the job stops. Y coordinates run upwards from the bottom of the page, the PDF convention, and a switch flips them to run downwards from the top if that is how your measurements were taken.

There is no drag-and-drop designer, and that is the real cost of working this way: you type numbers, so landing a box neatly on the ruled line of an existing form usually takes a measurement and a second pass. The numbers are checked rather than trusted. A field that would hang off the paper is refused with the page dimensions and the box you asked for, a radio group whose options stack past the bottom edge is refused before it becomes an invisible widget, and a name carrying a full stop or square brackets is rejected because PDF reserves those characters for nested field names. Page rotation is the gap to know about — coordinates are measured against the page's own unrotated box, so a scan saved with a ninety-degree rotation will place fields somewhere other than where you see them on screen.

Signature fields are the one type it will not write. A /Sig field is a slot for a cryptographic signature, and pdf-lib can neither create one nor sign it, so asking for it returns an error instead of a text field wearing the name — use a text field for a typed name, or stamp an image with Sign PDF. Everything happens in this browser tab: the file is read, edited and saved on your own machine, and no copy is sent anywhere, which matters when the form you are preparing will come back carrying somebody else's address or bank details.

How to use it

  1. Choose the PDF that will carry the form. One document per job, although selecting several applies the same field layout to each of them in turn. A file that asks for a password has to go through Unlock PDF first.
  2. Describe the fields as JSON. Every object needs a name; type, page, x, y, width and height all have fallbacks, so supply the ones that matter to you. Sizes are points, and size on its own makes a square. The four types are text, checkbox, dropdown and radio.
  3. Pick the edge your Y coordinates start from. Bottom of the page is the PDF convention and the default. Switch to top when you measured downwards from the header, which is what most design and layout tools report.
  4. Decide whether each field gets an outline. Border is on unless you turn it off, and draws one thin grey rectangle into the page content per JSON entry, so an empty field is visible on screen and still shows if the form is printed blank. On a radio group that rectangle marks the entry's own box beside the first button rather than tracing each button in the stack.

Processing & privacy

Runs on your device. Your file is processed directly in this browser.

Common use cases

Making a printed form fillable

A scanned application or consent sheet takes text boxes over its ruled lines, so people type into it instead of printing, writing and scanning the sheet back.

Adding one acceptance box to a contract

A single checkbox entry drops a tick box beside the clause that needs agreeing, without rebuilding or re-exporting the whole document.

Keeping a reusable field layout

The JSON is text, so it lives in your notes or your repository. When the underlying template is revised, paste the same array over the new export.

Placing fields on a designed layout

Export the artwork from your design tool as a PDF and add the fields on top, rather than recreating the design inside a separate form editor.

Questions

Does the document leave this browser tab?
No. pdf-lib is served from this site and then runs locally, so the file is read, given its fields and written back out on your own machine. Nothing is transmitted during the job, and once the page has loaded you can disconnect the network and carry on.
Can it create a signature field?
No, and it says so rather than improvising. A /Sig field is a placeholder for a real cryptographic signature that a signing service has to write and fill. Ask for one and the job stops with that explanation. A text field works for a typed name, and Sign PDF stamps a drawn or uploaded signature onto the page.
Where is the origin, and what unit are the coordinates?
Points, at 72 to the inch, so an A4 page is 595 by 842 and US Letter is 612 by 792. By default x runs right from the left edge and y runs up from the bottom edge, which is how PDF itself measures. The origin switch reverses y if you would rather count down from the top.
Can I add fields to a PDF that already has some?
Yes, provided the names are new. A name that already exists in the document is refused with that reason rather than quietly replacing the field that holds it, so rename yours or edit the existing form elsewhere.
What can I not control here?
Field font, text size, colour, required flags, tooltips and tab order are left at the viewer defaults — the only appearance setting exposed is the border. Field values can be pre-filled, and text fields can be made multiline or capped with maxLength, but styling beyond that needs a full form editor.
How do I stop the answers being changed later?
Fill the form, then run the result through Flatten PDF. That stamps each field's current appearance into the page content and removes the interactive layer, so what is on the page stays where it is.
Why did my field land in the wrong place?
Usually the origin. Design tools measure downwards from the top of the page while PDF measures upwards from the bottom, so a y value taken from one and read by the other lands mirrored. Switch the origin setting and check again. The other cause is a rotated page, which this tool does not compensate for.

Related tools

  • Merge PDF — Combine several PDFs into one document in the order you choose.
  • Split PDF — Split one PDF into separate documents by page range.
  • Compress PDF — Reduce PDF file size while preserving the quality that matters.
  • PDF to JPG — Export every page of a PDF as a JPG image.
  • JPG to PDF — Turn one or many JPG photos into a single PDF.
  • Protect PDF — Add a password and set permissions on a PDF.