What is the Best WordPress Form Plugin?
If there’s one thing WordPress has a lot of, it’s form plugins. Despite offering similar core functionality, these various WordPress form plugins are definitely not created equal; and with so many choices out there, how do we know which form plugin is best for our own WordPress projects?
You’re in the right place. 🙂 Read on for the complete, honest breakdown of the best WordPress form plugins, and our clear recommendations for which ones you should use yourself.
The Best WordPress Form Plugins—the TL;DR
If you want to skip the in-depth reviews and get straight to the good stuff, here you go:
Best Free WordPress Form Plugin
Ninja Forms. If you’re on a budget, Ninja Forms Lite is the best free WordPress form plugin of the ones I looked at. It’s straightforward to use, lets you build most forms, stores entries for you, and protects against spam.
Best Premium WordPress Form Plugin
Gravity Forms. It’s a close-run race between the top three of Gravity Forms, WPForms, and Ninja Forms, but my top pick is Gravity Forms. As it’s been developed over years, Rocketgenius have engineered a lot of functionality into the core plugin, and it offers more add-ons than its rivals.
The main complaints with Gravity Forms are the lack of form templates, and form previews not reflecting your theme style; however, these aren’t enough to keep it from the top spot.
WPForms or Ninja Forms are also fine choices, but their renewal costs are higher than Gravity Forms. Of those two, I found WPForms a little more user friendly and functional—for example, WPForms has an add-on for surveys and polls, while Ninja Forms does not.
That’s the core of it. Read on for in-depth context and analysis on our choice of the best WordPress form plugins.
What WordPress Form Plugins are Useful For
Forms on your WordPress site are a crucial way for your visitors to communicate with you. Aside from the (comment) forms baked into WordPress, most sites have a contact form for fielding visitor inquiries, and the way to get these forms is through a WordPress form plugin.
If you want to get more creative, you can also use forms for the following purposes:
- Add email addresses to a subscription list
- Register users on your site, and allow them to edit their profiles on the front end
- Survey your visitors
- Allow users to upload content, say, for sending in a resume or submitting a post
- Take payments and donations – if you don’t want to build a full ecommerce store, a form can do the job
To add contact forms or other forms, you’ll need to add a form plugin to your site.
How We Tested: What Features Should a WordPress Form Plugin Have?
To determine which is the best WordPress form plugin, let’s take a look at what you should expect to get with them.
1. Forms are easy to construct
Most form plugins have a drag and drop builder to place and rearrange fields on the form. Some offer template forms which you can use as-is or customize for your own needs.
2. Choice of form fields
More form fields mean more types of form you can make. Some forms may require less common form fields such as file upload or password fields.
3. Conditional logic
“If X then Y.” With conditional logic you can show or hide form fields, redirect to pages or change who the form is emailed to dependent on the user’s choices. For example, if someone answers a form question with ‘Yes’, they might get follow-up questions on that topic. If they say ‘No’, they won’t see these questions on the form.
4. Save and continue
Long, multi-step forms can be daunting for users to complete. If users know they can save their responses and continue at another time, it improves the conversion rate.
5. Integrations with other software
With the right add-ons, your forms can take payments (e.g. through Stripe or PayPal), add emails to an email marketing list (e.g. MailChimp or ConvertKit) or pass data to CRM software (e.g. Salesforce or Hubspot), saving you time. Zapier is a very useful integration as it connects with over 2,000 web apps.
Unfortunately, contact forms can be abused by spammers. Good form plugins reduce the risk of spam by having an anti-spam honeypot or allow you to add a question or a CAPTCHA to your forms to block submissions from bots.
7. Save form submissions
This is really important if your website has an issue sending emails, or your email’s anti-spam filter is over-zealous. When form entries are saved for viewing later, there’s less chance you’ll miss vital form responses. Odds are you’ll store some personal data from your forms, so you have to balance this with your data protection policy.
WordPress Form Plugins: Free vs. Paid
Search for “form” on WordPress.org’s plugin directory and you’ll find no shortage of free form plugins.
Most of these plugins follow a freemium model where the core plugin is free, but you can pay for an upgrade with more features. For example, conditional logic is typically a paid feature.
Free form plugins vary in quality, and there are so many I didn’t have time to try them all, so I narrowed the list down to six. I included Gravity Forms in the list, which is not free but is one of the leading form plugins.
Candidates for Best WordPress Form Plugin: Our Individual Reviews
Here are the form plugins I tried:
Out of these, I’ve had some prior experience with Contact Form 7 and Gravity Forms, but not the others, so I was interested to see how they compared.
First up on our hunt for the best WordPress form plugin is Ninja Forms, which is aimed at users of all levels. It’s popular, with over 1 million active installs on WordPress.org.
I tried version 18.104.22.168.
Ninja Forms: At A Glance
- Good all-rounder
- User friendly
- Stores entries
- Spam protection
- Needs paid add-ons for some types of form
- Not all form templates are free
Ninja Forms’ drag and drop interface makes form creation easy, and there’s a good selection of fields to choose from.
Ninja Forms also has premade forms, a great time-saver when creating a new form. Take a look at our quick guide on making a Ninja Forms contact form to see how to build one in minutes.
One catch, however, is that not all these forms are available in the free plugin.
Ninja Forms inherit your theme’s form styling. You have the option of adding custom classes to form elements as well.
The Ninja Forms dev team have thought hard about privacy, with a number of features to support GDPR compliance. These include turning off storage of form submissions within WordPress and adding checkboxes to affirm consent to process personal data.
You can export and import forms to use them on other websites, and form submissions too.
Ninja Forms upgrade
If you want to build more complex forms, such as ones for user registration, posting from the front end, multi-step forms, or payment forms, you’ll need to pay for Ninja Forms add-ons.
Ninja Forms has different pricing tiers which bundle certain add-ons together – Personal, Professional and Agency – all billed yearly. Prices start from $99/year (without discount). Happily, if you want one specific add-on only, you can buy it à la carte for an annual fee.
Check out the full list of Ninja Forms add-ons and integrations.
Thanks to Ninja Forms, I tried some of the add-ons:
- Conditional Logic
- User Management
- Front End Posting
- File Upload
Here’s an example of Conditional Logic for a form. This success message has two conditions. It’s only shown when you’ve (a) selected a meal and (b) commented on it.
The premade User Registration Form has a flaw: it doesn’t have username, email and password as required fields. If email is blank, you won’t be able to send password reset emails, so you need to set all these fields as required.
Another missing feature when registering users is requiring a particular password strength. It’s only too easy for people to register with ‘password’. Thankfully, the login form doesn’t save submissions!
The Create a Post form, which uses the Front End Posting add-on, saves visitor submissions as draft posts, or any post type. If you enable the File Upload as well, the post can include a featured image.
You can map your form fields to your existing taxonomies and include custom fields as well.
I found Stripe simple to set up, particularly with the Stripe Payment form template. Your buyers will be directed to Stripe to complete the payment process. Recurring payments are supported too.
Ninja Forms: Feature Summary
- Forms are easy to construct ✅ yes, however some premade forms need paid add-ons
- Choice of form fields ✅ yes, 28 in the free plugin
- Conditional logic 👑 with a paid add-on or membership
- Save and continue👑 with a paid add-on or membership
- Integrations with other software 👑 with a paid add-on or membership
- Anti-spam ✅ yes, a honeypot is inbuilt, and you can add a Recaptcha, anti-spam fields or other plugins
- Save form submissions ✅ yes, in free and paid versions
Ninja Forms: Verdict
Ninja Forms’ free WordPress form plugin is a great entry-level form builder – quick to pick up and use, and reasonably functional. You can extend it with paid add-ons to build more sophisticated forms.
WPForms Lite is the basic version of the WPForms plugin. It has over 3 million active installs.
I used version 1.6.1.
WPForms: At A Glance
- Easy onboarding
- Imports forms from other plugins
- Good for survey forms
- Well documented
- Free (Lite) version has limited form fields
- No storage of entries for free
WPForms has a nice onboarding wizard to help you create your first form in under 5 minutes. (I made mine in under 2!)
If you just need a simple contact form, this is a breeze, as you can pick that option from the template forms.
WPForms’ drag and drop builder is simple and intuitive to use. One oddity is that radio buttons are called ‘multiple choice’.
You can adjust the styling of your finished form so it uses all of WPForms’ styles, some or none at all.
As well as the standard form import and export, I like that you can import forms from some other form plugins – Contact Form 7, Ninja Forms or Pirate Forms.
While I expected the free version of WPForms to be limited, I was surprised that quite a few form fields require a paid upgrade. These include address, phone number and website, which I’d consider fairly standard form fields. This obviously restricts the type of forms you can make.
WPForms Lite also doesn’t save form entries for viewing within the admin: that’s a paid feature.
To get more out of WPForms, you need to purchase one of its paid plans. Pricing starts at $79/year for a single site license. The prices below have a 50% introductory discount.
The higher plans offer more features and integrations. For example, the Pro plan offers you:
- Form abandonment: follow up with people who have partially completed forms.
- Signature: capture and save signatures on forms.
- Geolocation: collect and store geolocation data when a form is submitted.
Thanks to WPForms, I tried out the Pro plan with a variety of addons.
Out of these, I really liked the Conversational Forms, which makes elegant forms, reminiscent of TypePad’s. When your visitor answers a question, the form scrolls down to the next one. Only one question at a time is visible, keeping the user focused.
WPForms’ User Registration form lets you set registrations to be approved by clicking a link in an email or manually by an admin – thus helping to prevent spam. However, you can’t enforce strong passwords on the form, and there isn’t a ready-made form for users to update their profile on the front end.
Using Surveys and Polls, as well as seeing individual responses, you can view the aggregate data, which is very useful for finding the most common responses.
Conditional logic worked well with my survey form too, as you can see:
Stripe seemed complicated to set up, so I tried PayPal, which was much easier. Anyone paying via a form by PayPal is directed to PayPal’s site to pay.
WPForms: Feature Summary
- Forms are easy to construct ✅ yes, with the drag and drop builder
- Choice of form fields ✅ limited to 11 in WPForms Lite, another 20 in the paid version
- Conditional logic 👑 only if you pay
- Save and continue ❌users can’t save forms to continue later
- Integrations with other software 👑 only the Constant Contact email integration is free, all other add-ons are paid
- Anti-spam ✅ via honeypot and CAPTCHA
- Save form submissions 👑 only if you pay
WPForms Lite is easy to use but it is let down by limited form fields and no storage of form submissions. The paid WPForms is a much more powerful product with comprehensive documentation.
Wufoo is a form building service from SurveyMonkey which you can sign up to for free.
Wufoo: At A Glance
- Hundreds of template forms
- Can notify you by text of form submissions
- Huge number of integrations
- Doesn’t join so well with WordPress
- Free version limits form entries
One big plus is that you can choose from over 400 template forms. That’s a fantastic range, covering many sales and marketing needs such as surveys, quotes and order forms.
Because Wufoo is independent of WordPress, you can’t build certain types of forms, like a WordPress user registration form or a front end posting form.
You get some limited use of conditional logic – for each form you can add 3 “field rules” to show or hide fields based on responses, and 3 “page rules” to skip to different pages in a multi-step form.
Wufoo has a few different form themes (styles) to pick from, and you can create your own, incorporating your own brand colors and elements.
A unique feature is that you can choose to send text messages to your phone about form submissions, as well as email.
You can’t control the form confirmation message or send a confirmation email unless you upgrade, though, and I think the free confirmation message (“Great! Thanks for filling out my form!”) is a bit too casual for a business-related form.
Embedding your Wufoo form within WordPress
Once you’ve built your Wufoo form, you can embed it in your WordPress site. You need two things:
- An embed code from Wufoo which will be something like this:
[wufoo username=”examples” formhash=”z7w4r7″ autoresize=”true” height=”517″ header=”show” ssl=”true”]
- The Wufoo Shortcode Plugin which renders your form in WordPress.
One problem with the embedded form was that it took a few seconds to load. This was a bit unsettling, and might deter your visitors.
Limits on the Wufoo free plan
Wufoo’s free plan is limited in the following respects:
- Users associated with your account (only 1)
- Forms you can build (maximum 5)
- Number of form fields you can include in a form (maximum 10)
- Form responses you can collect from all your forms (maximum 100).
The form response limit of 100 is the most jarring, as none of the other form plugins have this restriction. On most sites you would quickly reach your quota.
Wufoo’s paid plans – what do you get?
Upgrade pricing starts from $19/month if billed monthly, or $14.08/month if billed annually. Upgrading is a must if you want to accept more form entries, take payments from your forms or integrate with other services. There are over 2300 integrations available, a staggering number.
Paid account owners can also track their forms with Google Analytics, encrypt some form fields and password protect forms.
Wufoo: Feature Summary
- Forms are easy to construct ✅ yes, especially with the many template forms
- Choice of form fields ✅ 17 for free, but a few you have to pay for
- Conditional logic ✅ yes, but limited unless you pay
- Save and continue❌ no, but partial entries on multi-page forms are saved
- Integrations with other software 👑 many, only if you pay
- Anti-spam ✅ Wufoo uses a smart CAPTCHA
- Save form submissions ✅ yes, but within Wufoo’s site, not WordPress
While Wufoo has excellent form templates and integrations, it doesn’t combine as smoothly with WordPress and requires a paid plan to be truly useful.
Contact Form 7 (CF7 for short) is the granddaddy of WordPress form plugins. It’s been on the WordPress.org plugin repository for over 10 years, and it is still insanely popular with over 5 million active installs. So, could it be the best WordPress contact form plugin?
I tried version 5.1.9.
Contact Form 7: At A Glance
- Includes a file upload field
- Spam protection
- Clunky user interface
- Lack of integrations
- Needs add-on plugins for added functionality
Because of its age, CF7’s interface is clunky by modern standards. Form fields are added via HTML and shortcodes, rather than a visual builder. Check out our quick guide on making a contact form with Contact Form 7.
New contact forms all follow the same template – name, email, subject, message – which means some editing in the Form and Mail tabs if you are building another type of form.
You can import and export CF7 forms easily enough by using the Import and Export options in the Tools menu.
Integrations are very limited. You can integrate your forms with Constant Contact and you can add Google’s reCAPTCHA v3 to your forms. That’s it.
Contact Form 7 doesn’t save entries to the database, either. To get round this, you can install the Flamingo plugin by the same developer, Takayuki Miyoshi.
The Configuration Validator, intended to spot form configuration errors that could hamper emails being sent, can be a source of grief. If you have problems understanding and solving configuration errors, read this post on fixing CF7 configuration validator errors.
Does Contact Form 7 have a paid version?
Contact Form 7 doesn’t have a paid version, but other developers have created add-on plugins to add further functionality. Here is a selection:
- Contact Form 7 – Conditional Fields adds conditional logic to forms.
- Redirection for Contact Form 7 redirects a user to a page of your choice when a form is completed.
- Drag and Drop Multiple File Upload – Contact Form 7 lets users drag and drop multiple files via the file uploader.
- Contact Form 7 Extension For Mailchimp integrates CF7 with Mailchimp.
- Contact Form 7 Multi-Step Forms lets you build forms over multiple pages.
- Honeypot for Contact Form 7 adds an anti-spam honeypot to your forms. (CF7 also works with Akismet’s spam filtering.)
- Contact Form 7 – PayPal & Stripe Add-on integrates with PayPal and Stripe so you can take payments with your forms.
- Post My CF7 Form saves form submissions as draft posts, or any custom post type.
Contact Form 7: Feature Summary
- Forms are easy to construct ❌ you can’t start with a blank form, and the shortcode system is less elegant than drag and drop for most users (though it might be better for some disabled users)
- Choice of form fields ✅ 15 are included, including file upload
- Conditional logic ❌not without adding another plugin
- Save and continue❌ no
- Integrations with other software ❌only 2 natively, some others are available via other plugins
- Anti-spam ✅ yes, through Google reCAPTCHA v3, and you can add other plugins for more protection
- Save form submissions ❌ no, unless you add Flamingo or another storage plugin
Contact Form 7: Verdict
For a basic contact form Contact Form 7 will do, but it’s very limited. If you are on a budget, you can extend Contact Form 7 with other free plugins, but they may offer varying levels of support because they’re made by a range of developers.
Our next contender for the best WordPress form plugin is Gravity Forms, another well-established plugin which launched back in August 2009. I tried version 22.214.171.124.
Gravity Forms: At A Glance
- Easy to use
- GDPR compliance
- Spam protection
- Some unique features
- No template forms
- Form previews don’t reflect theme style
Gravity Forms has no free version, but you can try before you buy with a free back-end demo including all its features.
Gravity Forms Version 2.5 is currently in beta testing. It promises a new form editor, more accessible forms, better theme integration, and improved markup and styling.
Here is a sneak peek of the new user interface. As you can see, it’s been Gutenbergized!
Gravity Forms Pricing
There are 3 pricing tiers, Basic, Pro and Elite. Prices start from $59/year for a single site.
All licenses offer the same basic form fields, but the higher paid plans let you install Gravity Forms on more sites and give you more add-ons.
See the full list of Gravity Forms add-ons by tier.
The Basic license is enough for most email marketing providers, but you’ll need Pro or higher to take payments through Gravity Forms.
Using Gravity Forms
Gravity Forms also makes use of drag and drop to build forms. If you need a hand, visit our quick guide on building a Gravity Form.
Unfortunately, Gravity Forms doesn’t supply any premade forms, though I did find a few on a third party site, Gravity Examples.
I like the Bulk Add / Predefined Choices option which you can use to quickly populate form fields with common options. You can also save your own custom choices for reuse.
Your completed forms will inherit your theme’s styles, except in preview mode. You can make use of Gravity Forms’ extensive CSS classes and IDs to style a form exactly the way you want.
Form confirmations (the message on a page the user sees when a form is submitted) and form notifications (the emails sent out) are super customizable. You can use conditional logic, which is built-in to the plugin, when crafting them.
For instance, you could build a form for a volunteer organization that notifies a different team depending on the state the user is based in.
Gravity Forms has multiple ways to fight spam:
- Anti-spam honeypot (turn on in the form settings)
- Question which will defeat most bots
- Integration with Akismet plugin
- Limit the number of form submissions
Gravity Forms stores all form entries in a table in the WordPress database. To help with GDPR compliance, you can configure its privacy features in a form’s Personal Data settings. Gravity Forms also integrates with several third-party plugins to protect form data.
Testing Gravity Forms add-ons
I tried out the following add-ons:
- Advanced Post Creation
- Chained Selects
- User Registration
A number of these require you to create a feed to pass the form data to the right place. If you miss out this step, your form won’t work.
You can make a front end posting form with Gravity Forms alone using its Post Fields. The Advanced Post Creation add-on gives you more control: you can create pages or custom post types, schedule posts in the future and select the post author.
One quirk I discovered when you use the Advanced Post Creation add-on is that you need to use a File Upload field rather than the Post Image field to add a featured image.
I found Stripe pretty easy to set up to build an order form. The form takes the payment directly on your website, rather than redirecting you to Stripe’s website, which is less friction for a visitor.
The User Registration add-on has a couple of handy features:
- Integration with PayPal Standard.
- Set the password strength you will allow and show a strength meter.
Chained Selects is a powerful add-on which alters the content of a select field depending on a previous choice. See it in action below, for choosing a make and model of car.
Gravity Forms: Feature Summary
- Forms are easy to construct ✅ yes, via drag and drop, though there’s no premade forms
- Choice of form fields ✅ yes, 34, plus a few more on the higher plans
- Conditional logic ✅ yes, on all plans
- Save and continue✅ yes, on all plans
- Integrations with other software ✅ yes, more on higher plans
- Anti-spam ✅ yes, multiple methods
- Save form submissions ✅ yes, and you can control how long they’re saved for
Gravity Forms: Verdict
Gravity Forms is a mature plugin which lets you build just about any kind of form you can imagine. It has a wide range of add-ons, which has been extended further by third party developers.
Finally, we come to Ultimate Form Builder Lite: the free version of Ultimate Form Builder by AccessPress Themes. It has over 20,000 active installs. I tested version 1.4.5.
Ultimate Form Builder: At A Glance
- Stores entries
- Spam protection
- Multiple form styles
- Poor user experience
- No premade forms
- No integrations
Straight away you’ll see this plugin is really basic. You need to build your forms from scratch, as there are no premade forms.
The user experience wasn’t great: I had to do more clicking than I expected to build anything and some of my choices weren’t updated instantly. Weirdly I found I had to add a submit button to my forms, as the plugin didn’t.
To deter spammers, you can add an anti-spam math question or a Google CAPTCHA.
You can export your form entries to CSV, but I couldn’t see a way to export or import forms themselves. (This does seem to be an option in the paid plugin.)
Regarding form styling, the plugin gives you six templates to choose between, or you can turn off styling altogether and have your theme handle it.
Upgrading to Ultimate Form Builder – what do you get?
Hats off to AccessPress Themes for providing a free back end demo before you buy.
Ultimate Form Builder costs one-time payment of $29.
In return, you get:
- Extra form fields, including a date picker
- Conditional logic
- More control over email notifications
- Another 4 styling templates
- Multi-step forms
One huge disadvantage is no integrations. That bars you from making a payment form or a form that connects to your email list. This is very disappointing for a premium form plugin.
Ultimate Form Builder: Summary
- Forms are easy to construct ✅ yes, drag and drop builder
- Choice of form fields ✅ only 11 in the Lite version, 16 additional in the paid version
- Conditional logic 👑 only in the premium version
- Save and continue❌no
- Integrations with other software ❌ no
- Anti-spam ✅ yes, with inbuilt CAPTCHA
- Save form submissions ✅ yes
Ultimate Form Builder: Verdict
Ultimate Form Builder is not as user-friendly as some of the other plugins, and while the full version is competitively priced, it’s just not in the same league as other premium form plugins.
So, What is the Best WordPress Form Plugin?
The key questions are: what do you need your forms to do, and do you have money to spend?
If you need advanced features and integrations, they will cost money. Start with Gravity Forms as the best premium choice.
If you just need one simple contact form, a free plugin should do. Go with Ninja forms.
WordPress in All Its Forms
Do you agree with the choices above? Which form plugin is your favorite? We’d love to hear from you in the comments, or in our Facebook group. Thanks for reading!