Open a fillable PDF, type into its fields, tick the boxes, pick the options, and download the filled form. Free, no account, and the file never leaves your browser.
No PDF yet. You can also drop a file on this box.
pdf-lib reads the PDF's interactive form (AcroForm), sets the values you entered, and regenerates each field's appearance, so the answers show up in every viewer, including Preview on a Mac and phone apps. The rest of the document is untouched. Without Flatten, the fields stay editable in Acrobat and other readers. With it, the answers are drawn onto the page and the form fields are removed. The preview is drawn with pdf.js.
Many forms are just a printed layout with lines to write on, with no interactive fields. For those, open Sign PDF, choose Text, and click where each answer goes. That tool also adds your signature and the date. Forms made with Adobe LiveCycle (XFA) are another case: pdf-lib can't read XFA, so only the regular AcroForm fields such forms include, if any, show up here.
If you generate the same document for many people (contracts, certificates, invoices), it's often easier to skip the PDF form entirely: build it as an HTML template, fill it with your data, and render it with the Shotmint API. Chromium does the layout, so fonts, tables and non-Latin text just work:
curl "https://shotmint.creasework.com/v1/pdf?url=https://example.com&format=A4" -H "X-API-Key: YOUR_KEY" -o filled.pdf
Each render is 1 credit. €5 buys 2,000 with no subscription, and credits never expire. Try it without a key on HTML to PDF, or see the guides for Python and Node.js.
Is my PDF uploaded? No. Everything runs in JavaScript on this page. Your form and your answers stay on your device.
Why do some answers fail with "can't be shown in the standard font"? The form's fields use the standard PDF font, which covers Western European characters. Text in other scripts (Chinese, Arabic, Cyrillic, emoji) can't be drawn that way. Use plain Latin text, or print the form.
What about signature fields? They're listed but can't be filled here. Download the filled form, then open it in Sign PDF to draw or type your signature on the signature line.
Why does it say password-protected? Encrypted PDFs can't be changed without the password. Save a copy without the password in your PDF viewer, then try again.
What does "Export values as JSON" do? It saves the field names and your answers as a JSON file. Handy for developers mapping a form's field names before filling it in code.
Related: sign PDF, merge PDF, split PDF, add page numbers, watermark PDF, PDF to text, PDF to image, image to PDF.