600,000+
September 28, 2026
December 21, 2011
Ninja Forms is a free WordPress form builder plugin. Build contact forms, calculators, quizzes, surveys, applications, and registration forms with a drag and drop builder, or describe the form you want and let the built-in AI form builder draft it for you. Every submission is stored in your own WordPress database, with no limit on forms or submissions and nothing to pay to see them.
Ninja Forms has been part of WordPress since 2011. It started as a volunteer project for a local nonprofit and today it powers classrooms, clinics, nonprofits, online stores, farms, agencies, and government offices, from a single contact form to advanced business workflows.
The free plugin is the complete product for getting started, not a teaser. Calculations, signatures, star ratings, repeatable field groups, spam protection, submission management, and the AI form builder all ship in core. When you need more, premium features come as individual add-ons you can buy one at a time, and memberships bundle them for the moment when buying them one by one stops making sense. We only grow when the sites running Ninja Forms do.
We also respect your privacy and your time. No unsolicited emails, no aggressive marketing, no paywalling of basic features, and we never see or collect the data your forms collect. Our support team helps every user, free or paid.
Several features that other form builders reserve for paid plans are part of the free Ninja Forms plugin:
Customize any field with default values, placeholders, input masks, required and unique-value rules, and custom CSS classes, then save it as a favorite to reuse on any other form.
A honeypot is active on every form automatically. Add an Anti-Spam question, Google reCAPTCHA v2 or v3, hCaptcha, or Cloudflare Turnstile when you want more, and run submissions through Akismet if the Akismet plugin is installed on your site.
Ninja Forms supports the WordPress Abilities API, so an AI assistant connected to your site through the WordPress MCP Adapter can build, edit, and check forms, manage submissions, and change settings through 29 permission-checked abilities, the same operations the dashboard performs. Three destructive abilities stay off unless an administrator opts in. Developers get WP-CLI commands, a WordPress action hook on submission, an extensive filter and action ecosystem, and a full documentation library.
Accessible forms are a core value, not an add-on. Front-end forms are built to our internal standards based on WCAG 2, audited by external accessibility professionals, and regression tested on every update. It is ongoing work; you can read our full Accessibility Statement on ninjaforms.com.
Some capabilities are add-ons rather than part of the free plugin: conditional logic, file uploads, multi-step forms, payments, save and resume, layout and styling controls, PDF submissions, user registration, front-end posting, and integrations with email marketing, CRM, and messaging services. Each is purchased on its own, or bundled in a membership.
Free technical support for every user, whether or not you have bought anything, from a team spanning four continents, Monday to Friday. A full documentation library. Regular updates. Translated into more than 24 languages by the WordPress Polyglots community, with WPML as a long-term partner for more. And an ecosystem-aware approach: we know it is not just you and Ninja Forms, so we work to play well with the rest of your site.
You will always have a direct line to us right here.
Ninja Forms® is a registered trademark of Saturday Drive INC. We are a WordPress forms builder, not to be confused with the independent WPForms brand for WordPress. All official Ninja Forms add-ons and memberships can be found on our official website, ninjaforms.com.
This section describes how to install the plugin and get it working.
ninja-forms plugin folder to your /wp-content/plugins/ directoryNo. Ninja Forms does not paywall submissions. View, search, edit, and export every submission from Ninja Forms > Submissions with the free plugin, with no limit on how many you collect.
Yes. The core plugin is free and open source, and it is the complete form builder: 31 field types, calculations, signatures, star ratings, repeatable fieldsets, unlimited forms and submissions, email notifications, spam protection, privacy tools, and the AI form builder. Premium features such as conditional logic, file uploads, multi-step forms, payments, and integrations are add-ons you can buy individually or as a membership. See “Which features are add-ons?” below.
All 31 of them:
Yes, all three. Calculations combine field values with formulas for quotes, orders, and quizzes. The Signature field accepts a typed or drawn signature. Star Rating gives you a clickable rating scale. None of them require an add-on.
Two ways. Inside the plugin, the AI form builder drafts a form from a plain-language description and lets you refine it in conversation; it uses the WordPress AI Client with an AI provider you connect, and it can be switched off entirely in Settings. Outside the plugin, an AI assistant connected to your site through the WordPress MCP Adapter can build, edit, and manage forms through Ninja Forms’ Abilities API, with 29 abilities available by default and every operation subject to the same permission checks as the dashboard.
Conditional logic, file uploads, multi-step forms, payments (PayPal Checkout, Stripe, Authorize.net, Elavon, Recurly), save and resume, layout and styling controls, PDF submissions, Excel and scheduled exports, user registration and login, front-end posting, and integrations with email marketing, CRM, messaging, and automation services. Each is sold on its own or in a membership.
Yes. All user submitted data is stored locally on your server only, unless you expressly configure the plugin to send it elsewhere, for example via an email action. We never see or collect any user submitted data, and we do not act as a Data Controller or Data Processor per GDPR Article 4 for any data submitted through the forms you create. Your forms can flag and choose not to store personally identifiable information per field, and you can automate export or delete data requests.
Ninja Forms can be and is used on sites that require HIPAA compliance, but overall compliance depends on factors outside the control of any WordPress form builder.
Yes. Any number of emails can be sent to any number of recipients every time a form is submitted. Each email is customized in the form builder, including how the submission data is presented. Emails can include file attachments (with the File Uploads add-on), be sent conditionally, and carry a PDF copy of the submission.
Yes, through add-ons for Mailchimp, Constant Contact, ActiveCampaign, HubSpot, Salesforce, Insightly, Zoho, and more, plus more than 1,000 other services through the Zapier add-on.
Yes. Nine templates are built into the plugin, and the template library on ninjaforms.com has 100 more, each downloadable as a file you import from Ninja Forms > Import / Export and edit like any form. Each template page lists the add-ons it uses, if any.
Yes. Forms and favorite fields can be exported and imported between sites from Ninja Forms > Import / Export.
Front-end forms are built to our internal standards based on WCAG 2, audited by external accessibility professionals, and regression tested on every update. It is ongoing work; you can read our full Accessibility Statement on ninjaforms.com.
Security Enhancements:
Bug Fixes:
Security Enhancements:
Bug Fixes:
Security Enhancements:
Bug Fixes:
Security Enhancements:
Bug Fixes:
Security Enhancements:
Bug Fixes:
Enhancements:
Bug Fixes:
Bug Fixes:
Security Enhancements:
Bug Fixes:
, and
<
pre> tags in HTML field editor
– clear validation error on Time Only field when user corrects input
– fix ninja_forms_render_options filter breaking form validation
Bug Fixes:
Enhancements:
Security Enhancements:
Bug Fixes:
Security Enhancements:
Bug Fixes:
Bug Fixes:
Enhancements:
Security Enhancements:
Bug Fixes:
Bug Fixes:
Bug Fixes:
Bug Fixes:
Enhancements:
Bug Fixes:
Security Enhancements:
Bug Fixes:
Enhancements:
Security Enhancements:
Bug Fixes:
– Prevent loading CDN font per GDPR rules
Bug Fixes:
– Check visibility to prevent post spoofing
Bug Fixes:
– Limit submission token generation
Bug Fixes:
– Prevent unserialization of user submitted values
Bug Fixes:
– Ensure submission block token valid only for given page
Features:
– NEW Signature field
Bug Fixes:
– Ensure opt-in popup can be dismissed
– Allow only ExtraDataHandlers into Submission metabox
– Require form id as integer
– Fix an accessibility issue with labels for HTML and Divider fields.
Bug Fixes:
– Limit submission token generation
Bug Fixes:
– fix undefined $outgoing
– accessibility fix to set autocomplete
– fix checkbox field calculation, was showing 0 when checked
Bug Fixes:
– Ensure nonce use in download and telemetry
Features:
– Add hCaptcha field
Bug Fixes:
– Ensure File Upload link in submissions table is clickable
Bug Fixes:
– Limit submission token generation
Bug Fixes:
– Prevent object wakeup from unserialization
Features:
– Adds Cloudflare Turnstile CAPTCHA as a modern, privacy-friendly alternative to traditional CAPTCHAs.
– Adds configurable theme (light/dark/auto) and size options for Turnstile field.
– Improves accessibility with screen reader support for CAPTCHA challenges.
Bug Fixes:
– Fixes submission expiration failing on forms with 50+ fields processed in chunks.
– Fixes Summernote editor dropdown menus not displaying properly in certain themes.
– Fixes JavaScript errors in merge tags functionality with improved function binding.
– Fixes forced marketing email sending for late-reported opt-ins.
– Prevents Turnstile field from being used within repeatable fieldsets.
Performance:
– Replaces full Summernote library with lightweight Summernote Lite version.
– Removes unnecessary Bootstrap dependencies reducing CSS by 4,616 lines.
– Reduces total codebase by ~12,000 lines for improved page load times.
Other:
– Updates build system to Node.js 20 for better compatibility.
– Improves CSS build process with proper source map generation.
– Adds comprehensive E2E tests for RTE settings and Turnstile integration.
– Updates test folder structure for better organization.
Bug Fixes:
– Limit submission token generation
Bug Fixes:
– Fixes value issue with time_only date field.
– Fixes issue with common value for date/time field in repeatable field sets.
– Fixes incorrect value for single checkbox merge tags.
Bug Fixes:
– Fixes rounding error for number fields.
– Resolves a hang on save in certain circumstances.
– Removes an unused uinstall hook method.
Misc:
– Updates several npm dependencies.
Security Fixes:
– Prevent script tag injection into templates via block prefixes. Thanks to Asaf Mozes for responsibly reporting this security issue.
Misc:
– Concatenates the readme changelog to prevent going over the WP.org word limit.
Bug Fixes:
– Fixes an issue with HelpText causing a collision on save with Conditional Logic add-on.
– Fixes an issue with HelpText causing a collision on save with Stripe add-on.
– Fixes an incorrect icon.
Bug Fixes:
– Fixes an issue with the help text for repeater fields.
– Fixes an issue with form processing being slow on forms with many fields.
– Fixes an issue with translations on the date picker field.
– Fixes an issue with saving repeater fields on duplicated forms.
– Fixes an issue with date/time field in repeatable fieldsets.
– Fixes an issue with repeatable field help text.
Features:
– Improved drawer styles with a refreshed look.
Bug Fixes:
– Prevent stored XSS in various fields
Features
– Add a Google Analytics 4 Action.
Bug Fixes:
– Fix an error related to using calculations in payment gateway actions.
– Fix an error related to File Uploads merge tags.
– Required errors should no longer trigger on removed repeater sets.
Bug Fixes:
– Limit submission token generation
Bug Fixes:
– List fields can now be used for determining the payment total in payment collection actions.
– Fixed PHP warnings when using PHP 8.
– Fixed an issue with the Password confirm field.
– Ensure that time field IDs are unique.
– Fixed an issue with the opt-in email.
Features:
– Allows repeatable fieldsets to be editable in the Submissions page.
Bug Fixes:
– Numbers over 10 billion no longer cause validation errors.
Other:
– Add add-on communication status logs to the System Status page.
– Add additional data points for telemetry.
– Build file updates.
Features:
– New user onboarding
– Add delete forms WP-CLI command
Other:
– JS library updates
Bug Fixes:
– Limit submission token generation
Bug Fixes:
– ensure form id value is numeric in shortcodes; responsibly reported by Peter Thaleikis via Wordfence
Bug Fixes:
– Fixed an accessibility issue related to text contrast when using opinionated styles.
– Fixed accessibility errors related to missing field descriptions.
Bug Fixes:
– Ensure only permitted form previews are available to a given user
Bug Fixes:
– Update timing for widget loading on page builders
Bug Fixes:
– Update timing to load translations after init
Bug Fixes:
– Sanitize calculations input
Bug Fixes:
– Remove legacy duplicate field cleanup from render loop
– Convert HTML encoded characters on submissions page
– Verify we are on an nf_sub post type before loading terms list
Other:
– Add behavioural telemetry data
– Add diagnost information to system status
– Update end-to-end test
Bug Fixes:
– Prevent script in Favorite Fields
– Prevent script in calculation name
– Update field HTML for improved accessibility
Bug Fixes:
– Ensure help text is mobile responsive for single checkbox, single line text, paragraph text
– Prevent non-required blank email field failing validation
– Replace hard-coded strings for translation
Bug Fixes:
– Ensure sanitation of email address for merge tag
– Prevent maintenance mode interception
Bug Fixes:
– Ensure “From Address” email warning shows
– Prevent JS error on datepicker inside fieldset repeater
Other:
– Add PHP compatibility tests
– Add usage telemetry data
Bug Fixes:
– Ensure submissions page form filter finds form titles
– Provide PHP 7.4 support for jsonSerialize method call
– Ensure hCaptcha field functions when safe-listed
Other:
– JS library updates
Bug Fixes:
– Prevent mouse scroll wheel from updating currency masked fields – Issues
– Resolved an error where required field validation was not always firing properly on masked fields
– Correct list value tooltip styling error for Safari and Firefox
– A repeatable fieldset that has triggered a required error maintains the error when the repeatable fieldset is deleted
– First Repeated Fieldset’s data is not captured when deleting one of the sets
– Ensure form displays in WP Bakery without needing to refresh page
Other:
– Correct deprecation warnings in SCSS files
– Library updates: The updates affect the structure of the components – mounting and data flow – and the blocks and styling
– Set security resolution for Axios as a dependency of our dependencies
– Reorganize cypress tests
– Add unit tests
– Add initial usage data to telemetry
– High impact accessibility factor corrections
Bug Fixes:
– Validate label settings on change event
Bug Fixes:
– Prevent unused key values on Survey Promo link
Bug Fixes:
– Submissions Table block not displayed on published page on some themes
– Phone field not disabled when expected
– calc value option of list fields not set with help text
– Submission page tooltip icon not displayed on environment not using conventional plugins folder path
Other:
– @wordpress dependencies updates
Bug Fixes:
– Submissions Block not showing all submissions data.
– Fix deleted repeater field missing required data halting submission
– Add “Administration” section for all fields
– Add missing check_admin_referrer parameter
– Sort by Shortcode on forms page as numerical
– Accessibility: update field description and screen readers
– Enable hidden fields in the unique field
– Fix display Form iFrame in Elementor editor
Other:
– Refactor telemetry dispatch to add unit tests
Bug Fixes:
– Ensure submissions page and Append Ninja Form block are visible on WP 6.6
Other:
– Update readme ‘tested up to’ and ‘requires at least’
Bug Fixes:
– prevent licensing CSRF
Bug Fixes:
– prevent deprecated false to array notice in preview
– prevent undefined array key ‘plugin’ warning in class extension updater
– prevent invalid date error when setting default date format to “j F Y” on non-English languages
Other:
– automated test for version number
– update wordpress library packages
– add documentation links to settings in the form builder
Bug Fixes:
– Protect preview query parameters
Bug Fixes:
– Ensure first name field populates only first, not full, name
– Enable personally identifiable setting outside of dev mode
– Add merge tags ‘other’ for random, year, month, day
Other:
– Set version resolutions for certain packages
– Improve discoverability of available actions
– Update marketing feed
Bug Fixes:
– Ensure fieldset repeaters function on index values ending in 0 (10, 20, etc)
Other:
– Update tests to run on 6.5.2
Bug Fixes:
– Allow default span tags in form labels
Bug Fixes:
– Ensure submission exports can’t be called from any unintended pages
– Prevent injected scripts into submit button and advanced labels
– Prevent XSS on image lists
Other:
– Update add-on images
Features:
– Add ‘referer URL’ merge tag
Bug Fixes:
– Prevent display error when date format is not set
– Ensure current date stored when default is not modified
– Ensure translation of date strings
Other:
– Add user help text and images
– Add automated tests
| Version | Download | Type |
|---|---|---|
| 3.15.5 | Download | Stable |
| 3.15.4 | Download | Stable |
| 3.15.3 | Download | Stable |
| 3.15.2 | Download | Stable |
| 3.15.1 | Download | Stable |
| 3.15.0 | Download | Stable |
| 3.14.12 | Download | Stable |
| 3.14.11 | Download | Stable |
| 3.14.10 | Download | Stable |
| 3.14.9 | Download | Stable |
| 3.14.8 | Download | Stable |
| 3.14.7 | Download | Stable |
| 3.14.6 | Download | Stable |
| 3.14.5 | Download | Stable |
| 3.14.4 | Download | Stable |
| 3.14.3 | Download | Stable |
| 3.14.2 | Download | Stable |
| 3.14.1 | Download | Stable |
| 3.14.0 | Download | Stable |
| 3.13.4 | Download | Stable |
| 3.13.3 | Download | Stable |
| 3.13.2 | Download | Stable |
| 3.13.1 | Download | Stable |
| 3.13.0 | Download | Stable |
| 3.12.2.1 | Download | Stable |
| 3.12.2 | Download | Stable |
| 3.11.1.1 | Download | Stable |
| 3.11.1 | Download | Stable |
| 3.10.4.1 | Download | Stable |
| 3.10.4 | Download | Stable |
| 3.9.2.1 | Download | Stable |
| 3.9.2 | Download | Stable |
| 3.8.25.1 | Download | Stable |
| 3.8.25 | Download | Stable |
| 3.7.3.1 | Download | Stable |
| 3.7.3 | Download | Stable |
| 3.6.34.1 | Download | Stable |
| 3.6.34 | Download | Stable |
| 3.5.8.5 | Download | Stable |
| 3.5.8.4 | Download | Stable |
| 3.4.34.3 | Download | Stable |
| 3.4.34.2 | Download | Stable |
| 3.3.21.4 | Download | Stable |
| 3.2.28 | Download | Stable |
| 3.1.10 | Download | Stable |
| 3.0.34.2 | Download | Stable |
| 3.0 | Download | Stable |
| 2.9.58 | Download | Stable |
| Development | Download | Trunk |