ToollyX
no sign-up · instant · free

Sample PDF Form Generator

Generate a real, fillable PDF form in seconds — text fields, checkboxes, radio buttons, dropdowns and list boxes, with genuine PDF-level Required flags. Six templates, pre-fill or blank, exact-size padding and AES-256 password protection. Runs entirely in your browser.

TEMPLATES6 Types
FIELD KINDS6 Kinds
FILE SIZEUp to 50MB
PASSWORDAES-256
UPLOADNone
728 × 90 — Leaderboard Ad
Form Template
Number of Forms1 copy
FORMS
1 (single form)50 (batch test)
Page Size
Font Family
Size
PT
Margins
Pre-fill Sample Data
Fills fields with realistic example values. Turn off for a completely blank fillable form.
Mark Required Fields
Sets the PDF's own Required flag on key fields, plus a red asterisk on the label.
Header & Footer
Adds a title/date header and a ToollyX footer with page numbers.
Watermark
Overlays a diagonal, semi-transparent watermark on every page.
Document Metadata
Password Protection
Encrypts the PDF with AES-256 so it requires a password to open.
PDF Version
Compression
File Size
Download Filename
Live Preview
🧩 All Field Types
Forms
1
Page Size
A4
Pre-fill
On
Target Size
Auto
GENERATION STATUS
Configure your form, then click Generate & Download.
728 × 90 — Leaderboard Ad

Quick Tips for Generating the Right Test Form

1Start with All Field Types if you're testing a parser. It packs a text field, checkbox, radio group, dropdown and list box onto one page — the fastest way to confirm your code handles every AcroForm field kind.
2Turn Pre-fill off when testing a form-filling flow. A blank form is what a real user would open; a pre-filled one is better for testing that your code correctly reads existing values back out.
3Use Number of Forms to simulate a batch. Generating 20–50 copies in one file is the quickest way to confirm a bulk-processing pipeline handles multiple independently-named field sets correctly.
4Combine Password Protection with a form template to confirm your code gracefully rejects — or correctly prompts for — an encrypted form instead of silently failing.

Features

Six form templates
All Field Types, Contact, Job Application, Event Registration, Customer Survey and Patient Intake.
Real AcroForm fields
Text, multiline text, checkbox, radio group, dropdown and list box — not a static mockup.
Pre-fill or blank
Toggle realistic sample values on or off to test both reading and filling scenarios.
True Required flags
Sets the PDF's own Required field property, not just a visual asterisk.
Exact file size targeting
Auto, preset (10 KB – 25 MB) or a custom KB/MB target, matched byte for byte.
AES-256 password protection
Optionally encrypt the whole form, including field values, with the same engine as Protect PDF.

A Rectangle Is Not a Text Field

Plenty of "sample form" files circulating online are a document with boxes drawn around where fields should be — visually convincing, functionally useless the moment your code tries to call getField() or read a value out of it. There's nothing there to read. A drawn box is page content; a form field is a distinct object in the PDF's structure with a name, a type and its own properties, sitting in the file's /AcroForm dictionary independent of whatever's drawn on the page around it.

Everything this generator produces is the second kind. A text field becomes an actual /Tx widget, a checkbox a genuine /Btn widget, a dropdown a real /Ch field — built through pdf-lib's AcroForm API directly in your browser, so code written to read or fill PDF forms can be pointed at the output and tested exactly as it would be against a real submission.

Six Forms, One Job Each

All Field Types is the one to reach for when the goal is coverage rather than realism — a single page carrying one of every supported field kind, built for confirming a parser handles text inputs, checkboxes, radio groups, dropdowns and list boxes without missing one. Contact Form, Event Registration and Customer Survey are shorter, single-page templates styled after forms people actually fill out day to day. Job Application and Patient Intake are the two built to run long — both span two pages on purpose, so a test can confirm fields stay correctly associated with the right page once a form outgrows one.

Every template ends where a real one would: a declaration checkbox, a signature line, sometimes a date field beside it — because a form that stops at the questions and skips the sign-off doesn't test anything a submission workflow actually depends on.

The signature field itself is deliberately never pre-filled, even with Pre-fill Sample Data turned on for everything else. A typed name in a signature box would be a lie the generator is telling on your behalf, and the one thing every template needs to leave genuinely blank is the part a real person is supposed to provide themselves.

Fifty Copies, Zero Name Collisions

Number of Forms turns one template into a batch — up to fifty repeated copies in a single file, each on its own page or pages. The part that isn't obvious from the setting's name: every field in every copy gets a copy-specific name prefix behind the scenes. The PDF spec treats fields that share a name as one linked field, so without that prefixing, typing into copy 12's email address would silently overwrite copy 1's the moment a viewer synced them. A batch of fifty forms with colliding names isn't fifty independent test records, it's one record wearing fifty masks.

With unique names guaranteed, a 30-copy Job Application file behaves in testing exactly like thirty separately-submitted applications bundled together — which is the point, since collecting thirty real ones to load-test a parsing pipeline isn't something most teams have sitting around.

None of those fifty copies ever leave your browser to get built, which matters more here than on a plain document generator: Patient Intake and Job Application are templates whose real-world counterparts carry genuinely sensitive data, and even though every value this tool writes is fictional, there's no server in the loop to send fictional-but-realistic-looking records to in the first place.

Required Isn't Just an Asterisk

Mark Required Fields does two things, not one. It adds the red asterisk you'd expect next to a field's label, and separately it sets the PDF's own Required flag on that field — the same property Acrobat checks before it will let a form be submitted or flattened. Plenty of hand-built "sample forms" only do the first part: an asterisk that's purely cosmetic, with nothing behind it for a validator to actually detect. Turn the switch off and both go away together, and every field in the form becomes genuinely optional, which matters if the test is specifically checking that your code doesn't over-enforce fields that shouldn't be mandatory.

728 × 90 — Leaderboard Ad

Blank or Already Answered

Pre-fill Sample Data decides which of two different tests you're running. On, and every field arrives populated with a realistic value — a name, a selected radio option, a checked box — which is what you want when testing whether your code can correctly read values back out of a submitted form. Off, and the exact same template arrives completely empty, which is what a real person opens before they've typed anything, and the right fixture for testing a fill-in flow or handing a form to actual test users without their answers being pre-biased by whatever happened to already be in the boxes.

Who Actually Opens These

Backend developers reach for it most often, usually to confirm a field-extraction API correctly identifies every AcroForm type in one pass rather than three of the six. QA teams building regression suites want a steady supply of independently-named forms rather than the same three recycled PDFs everyone on the team already knows the quirks of, since a fixture everyone's memorized stops catching anything new. E-signature and document-workflow teams use it to check that a signing flow actually locates and highlights required fields instead of just displaying them and hoping. And a fair number of students and instructors use it for exactly the reason it exists at all — needing something that looks and behaves like a real form without using anyone's real paperwork to get it.

The Limits

This generator only produces genuinely interactive fields — it's not the tool if you need a flat, non-interactive document, which is what Sample PDF File is for, or a scanned, image-only form with no field structure at all, which is a different generator entirely. It also builds new forms rather than editing ones you already have, so it doesn't replace the site's PDF Form Filler when there's a real form PDF whose fields already need filling in.

A couple of practical notes: Custom file size lands exactly on target without a password, and rounds up by no more than about 15 bytes — never down — with Password Protection on, since AES-256's block padding is part of the standard rather than something this tool controls. If a form needs its fields locked down instead of left fillable, run it through PDF Flattener afterward — flattening isn't something a form generator should do by default, since the entire point of the output is that the fields stay live. And if radio options or a list box start looking cramped, it's almost always the page size, not the field count — A5 with wide margins leaves noticeably less room per line than A4 or Letter, and switching page size fixes it faster than trimming the option list.

Verified by ToollyX Team · Last updated July 2026

Frequently Asked Questions

728 × 90 — Leaderboard Ad

Related Tools