Type into existing form fields or add freehand text anywhere. Works on tax forms, applications, contracts, and flat PDFs. Your file never leaves your device.
The PDF form filler lets you type into interactive form fields or add typed text to any flat PDF. Interactive PDFs (forms with clickable fields) auto-detect fillable areas — just click a field and type. For flat PDFs (scanned forms or image-based PDFs), use the text tool to place your answers anywhere on the page. You can also add checkmarks, signatures, and dates. Form filling runs entirely in your browser — your document is never uploaded to any server.
📝 Drop your PDF here
or click to browse your computerℹ️ Work from a copy of your file and keep the original safe. Check the result before you use it.
The tool uses PDF.js to render your document and detect any interactive form fields (AcroForm). If your PDF has text fields, checkboxes, radio buttons, or dropdowns, they appear as clickable inputs overlaid on the page — just type or click to fill them. When you click Save & Download, pdf-lib writes your entries back into the PDF’s form data.
If your PDF has no interactive fields — a scanned form, a flat PDF, or a document not designed for filling — the tool shows a warning and lets you add freehand text boxes anywhere on the page. Click + Add Text, click on the page where you want to type, and drag the box to position it precisely. Choose font size and colour from the toolbar.
Government agencies publish PDF forms in two formats: interactive AcroForms with fillable fields, and flat print-only PDFs. Knowing which type you have determines whether our field detection will work or whether you need to use freehand text mode. Below are the most commonly used government forms and their format status.
PDF AcroForm fields are defined in the PDF specification (ISO 32000). Different field types behave differently, and not all tools support all types equally. The table below explains each field type and how our tool handles it.
| Field Type | PDF Spec Name | What It Does | RapidTools Support | Notes |
|---|---|---|---|---|
| Text Field | Tx (Text) | Single-line or multi-line text entry. The most common field type — used for names, addresses, numbers, dates. | Full | Single-line fields render as <input type="text">; fields taller than 40px render as <textarea>. Values are written back using pdf-lib TextField.setText(). |
| Checkbox | Btn (Button, non-radio) | Boolean on/off selection. Each checkbox is independent. Common in tax forms for filing status, elections, and yes/no questions. | Full | Rendered as a native HTML checkbox. Value written back as “On” or “Off” via pdf-lib CheckBox.check/uncheck(). |
| Radio Button | Btn (Button, radio flag) | Mutually exclusive selection within a group. Selecting one radio button deselects the others in the same group. Used for filing status, yes/no pairs. | Partial | Detected via bit 15 of the field flags. Rendered as HTML radio inputs grouped by field name. Complex radio groups with multiple export values may not group correctly. |
| Dropdown / Combo Box | Ch (Choice, combo) | Single selection from a predefined list. User can sometimes also type a custom value (if the “Edit” flag is set). | Partial | Rendered as <select>. Option lists are read from annotation data. Custom editable values are not currently supported. |
| List Box | Ch (Choice, no combo flag) | Scrollable list allowing single or multiple selection. Less common than dropdowns in government forms. | Partial | Detected as a Choice field without the combo flag. Rendered as a <select> with multiple attribute where applicable. |
| Signature Field | Sig (Signature) | A placeholder for a digital or ink signature. May be a certified digital signature (cryptographic) or an image-based ink signature. | Not applicable | Signature fields are not exposed as fillable inputs by this tool. To add a signature to a PDF, use the RapidTools Sign PDF tool, which embeds a drawn or uploaded signature image at your chosen position. |
| Computed / Read-Only Field | Tx with ReadOnly flag or AA action | Fields whose values are automatically calculated from other fields (e.g. total income, subtotals). The value is set by JavaScript embedded in the form. | Read-only | Displayed as read-only. The JavaScript calculation engine is not executed in this tool — computed values must be manually entered if needed. Adobe Reader or Acrobat is required to run embedded JavaScript. |
| Barcode Field | Custom widget (often 2D DataMatrix) | Encodes other field values into a machine-readable barcode. Used extensively in USCIS forms for automated processing. | Not supported | Barcode fields are not rendered or updated. USCIS forms with barcode requirements must be processed in Adobe Reader to generate the correct barcode before printing. |