Complete PDF forms SDK
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.
By submitting this form, you agree to Nutrient’s Privacy Policy and Terms of Service.
Interactive fields replace manual entry — validated at the source for clean, structured data.
Convert any PDF into a fillable form with a visual drag-and-drop builder.
Create, fill, and extract forms programmatically; integrate with any JavaScript framework.
Reliable engine handling millions of submissions with full XFDF and Instant JSON support.
Visual form builder for turning PDFs into fillable forms.
Build forms from scratch with full API control.
Multiple ways to fill forms for any workflow.
Capture form data in any format you need.
Validate form input before submission.
Complete AcroForm specification support.
One SDK for PDFs, Office, and images — create and fill forms, no matter the format.
pdf pdf/a aes rc4 png jpeg jpg tiff tif docx doc dotx docm xlsx xls xlsm pptx ppt pptm 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.