Complete PDF forms SDK

Add powerful PDF form workflows to your web app

Fill, create, and extract data from PDF forms — all in one JavaScript SDK for AcroForms across any modern browser. Start 100 percent client-side with a drag-and-drop form creator or API; add server-side processing for automatic data syncing and storage.

Contact Sales

Where is your company headquartered?

By submitting this form, you agree to Nutrient’s Privacy Policy and Terms of Service.


PDF forms for real data collection

Faster, error-free data capture

Interactive fields replace manual entry — validated at the source for clean, structured data.

No-code form creation

Convert any PDF into a fillable form with a visual drag-and-drop builder.

Full API automation

Create, fill, and extract forms programmatically; integrate with any JavaScript framework.

Built to scale

Reliable engine handling millions of submissions with full XFDF and Instant JSON support.

Complete form capabilities — create, fill, extract

Form creator — drag and drop

Visual form builder for turning PDFs into fillable forms.


  • Drag text fields, checkboxes, and dropdowns onto PDFs
  • No coding required; resize and position visually
  • Use form design mode for moving and editing fields

Programmatic form creation

Build forms from scratch with full API control.


  • Create all field types via JavaScript API
  • Generate forms dynamically from data schemas
  • Batch create fields; full control over properties

Fill forms — UI and API

Multiple ways to fill forms for any workflow.


  • Built-in UI for user-facing form filling
  • Prefill programmatically from databases
  • Import data from XFDF, Instant JSON, or Document Engine

Data extraction and submission

Capture form data in any format you need.


  • Extract to JSON, XFDF, or structured objects
  • Submit to endpoints or embed in PDF
  • Auto-save with configurable intervals

JavaScript validation

Validate form input before submission.


  • Execute custom JavaScript validation logic
  • Real-time validation as users type
  • Prevent submission of invalid data

All field types supported

Complete AcroForm specification support.


  • Text, checkbox, radio button, dropdown, list box
  • Signature fields for eSigning workflows
  • File attachment fields for document uploads

Supported formats

One SDK for PDFs, Office, and images — create and fill forms, no matter the format.

PDFs
pdf pdf/a aes rc4

Images
png jpeg jpg tiff tif

Office
docx doc dotx docm xlsx xls xlsm pptx ppt pptm


Frequently asked questions

Do I need a server to use Nutrient Web Viewer SDK for forms?

No server is required to get started. Nutrient Web Viewer SDK runs entirely in the browser using WebAssembly technology, enabling you to create, fill, and extract data from PDF forms with zero infrastructure costs. However, you can optionally pair it with Document Engine when you need automatic data persistence, real-time synchronization across devices, or centralized form data storage. The best part? Your frontend code stays identical whether you’re using client-only or adding Document Engine later — only the initialization changes.

Can I turn existing PDFs into fillable forms without redesigning them?

Absolutely. The Form Creator component provides a drag-and-drop interface where users visually add form fields to any PDF — no coding or design software required. Users drag text fields, checkboxes, dropdowns, and other field types onto a PDF and position and resize them visually, and the PDF becomes a fillable form. You can also enable form design mode programmatically to let users move and edit fields. For developers, the API provides full programmatic control to create forms from scratch or add fields to existing PDFs.

What form field types are supported?

Our SDK provides complete support for the AcroForm specification, including all standard PDF form field types, such as text fields (single and multiline), checkboxes, radio buttons, dropdown lists (combo boxes), list boxes (multi-select), signature fields for eSigning workflows, and file attachment fields for document uploads. Each field type supports full customization, including appearance (colors, borders, backgrounds), behavior (read-only, required, hidden), validation rules, default values, and field flags. You can create fields via our drag-and-drop UI or programmatically via API with identical capabilities.

How do I prefill forms with data from my database?

There are multiple approaches, depending on your workflow. The simplest is using the `setFormFieldValues()` API method with a JavaScript object mapping field names to values — pull data from your database, format as JSON, and pass to the API. For more advanced scenarios, generate Instant JSON format from your database (it’s a documented JSON structure), which enables you to set not just field values but also annotations and bookmarks. You can also import from XFDF format for interoperability with other PDF tools. All approaches work client-side with no server required.

Can I extract filled form data and send it to my backend?

Yes. We offer comprehensive data extraction capabilities. Extract form data as structured JSON objects using `getFormFields()` and `exportInstantJSON()` methods, and then `POST` to your backend endpoints. Export as XFDF format for interoperability with other PDF systems. Embed form data directly into the PDF file itself using `exportPDF()`. Configure auto-save to automatically save form data at intervals. Set up form submission endpoints where data is sent when users click submit buttons. All extraction methods preserve field names, values, and types for seamless database integration.

What’s the difference between client-side and server-side Document Engine for forms?

Client-side (Web Viewer SDK only) handles all form operations in the browser with no server needed — perfect for simple form filling, one-time data collection, or offline scenarios. Document Engine (hybrid) adds advanced capabilities such as automatic data persistence (form changes are saved to the server), real-time synchronization across devices so users can start a form on mobile and finish on desktop, centralized form data storage for reporting and analytics, and multiuser collaboration on the same form. You can start client-side and seamlessly add Document Engine later without changing your frontend code.

How does form validation work?

Form validation uses multiple layers to ensure data quality. Built-in checks enforce field types, such as numbers or email formats. You can add custom JavaScript validation to handle ranges, cross-field rules, regex patterns, or external API checks. Validation runs in real time, giving instant feedback, and required fields must be completed before submission. Field flags control behavior, including read-only or hidden fields. All validation works the same via the UI, API, client-side, or with Document Engine integration.

Can users attach files to forms?

Yes. Nutrient offers full file attachment support. File attachment form fields let users upload documents, images, or other files as part of form submission. Attachments are embedded directly in the PDF file itself, so the PDF becomes a complete package with both form data and attached files. You can programmatically create file attachment fields, configure accepted file types and size limits, extract attached files from submitted forms, and access attachment data via API for backend processing. This is useful for applications, claims, or any workflow requiring supporting documentation.

How quickly can I add forms functionality to my existing application?

If you already have Nutrient Web SDK integrated for viewing, adding forms takes minutes. For form filling, the UI is already enabled by default — users can immediately fill any form fields in loaded PDFs. For form creation, enable form design mode with a single configuration flag, or use the Form Creator component. For programmatic form creation, call `create()` with widget annotations and form field objects. The SDK is framework-agnostic and works with React, Angular, Vue, Svelte, vanilla JavaScript, and all other modern frameworks. We provide copy-paste examples for every major framework and form scenario.

Does the SDK support form flattening?

Yes. Form flattening is fully supported. Flattening converts interactive form fields into static content embedded in a PDF, which is useful when you want to preserve filled data but prevent further editing, create final archival versions of completed forms, or ensure forms display identically in all PDF viewers. You can flatten entire documents or specific form fields programmatically. Flattening also removes the ability to extract form data, so it’s typically done as a final step after data extraction. The flatten operation is fast and works entirely client-side with no server required.

What frameworks and environments are supported for forms?

All modern frameworks and environments are supported, including: React, Angular, Vue, Svelte, Next.js, Nuxt.js, TypeScript, vanilla JavaScript, jQuery, Blazor, Electron, ASP.NET, PHP, Laravel, and HTML5. The SDK is framework-agnostic — if your framework provides a DOM container and JavaScript, forms will work. All form operations (creation, filling, extraction, validation) work identically across frameworks. We provide integration guides and runnable examples for every major framework. The SDK also works in progressive web apps (PWAs), WebView components, and kiosk environments.

What kind of support and documentation do you provide for forms?

We provide comprehensive support at every level. Our documentation includes step-by-step guides for form creation, filling workflows, data extraction, validation, and all form field types. You get complete API reference documentation, live code examples you can run, and best practices for each form scenario. Interactive demos let you test form features before integrating. Standard support includes email support, community forums, and our extensive knowledge base. Premium support adds dedicated support engineers, SLA guarantees, and workflow consultation. During your free trial, you have full access to documentation and support to properly evaluate form capabilities for your needs.