PDF Forms
Fill existing PDF form fields or add text, checkbox, radio, and list fields. The output remains interactive.
Fill out an existing fillable PDF form field by field, or build new form fields - text boxes, checkboxes, radio buttons, and dropdown lists - onto a PDF that doesn't have any yet. The output stays interactive, so recipients can still fill it in a PDF reader, unlike a flattened or image-based form. Useful for creating a reusable intake form or completing a government or vendor PDF form without printing it. Processing runs locally with pdf-lib.
Runs on your device. This tool processes your file inside this browser tab. Nothing is uploaded, so it also works offline once the page has loaded, and closing the tab discards the file from memory.
Loading tool
How it works
- 01
Upload your PDF.
- 02
Fill existing fields, or add new text, checkbox, radio, or list fields.
- 03
Position each new field using X/Y and width/height percentages.
- 04
Click Save and download the interactive PDF.
Details
- Category
- Documents & PDF
- Formats
- Runs
- In your browser
- Files uploaded
- No
- Cost per run
- Free
- Sign-in
- Not required
- Works offline
- Yes, once loaded
Last updated 2026-08-12
Common questions
What do the placement values mean?
X and Y are percentages from the page’s top-left corner. Width and height are percentages of the page size.
Are digital signatures preserved?
Editing a signed PDF can invalidate its signature. This tool does not create or certify digital signatures.
Does it upload my PDF?
No - form filling and field creation both run entirely in your browser using pdf-lib.
Can recipients still fill the form after I save it?
Yes - the output PDF keeps its interactive form fields, so it can be filled again in any standard PDF reader.
Use this from your code
This tool is also a REST endpoint, so you can run it in a pipeline instead of by hand. Each call costs 3 credits and needs an API key. See the API reference for every parameter.
curl -X POST https://fileoven.com/api/v1/tools/pdf-forms \
-H "Authorization: Bearer sk_live_..." \
-F "file=@input.pdf" \
-F 'fields={"applicant.name":"Ada Lovelace"}' \
-o filled.pdf