Every website needs forms – it’s an integral part of visitor/customer communication. However, custom forms can be a downright pain to code. That’s why most WordPress users benefit from a plugin that does all the work. Introducing Ninja Forms: a new form building plugin that allows you to easily create and customize forms through the WordPress dashboard.
All the magic happens within a drag-and-drop interface that looks like a native part of your WordPress dashboard:
Ninja Forms Features:
- Fully customizable CSS – make your form look the way you want.
- Create any type of restricted input field by using filters.
- Add a spam filter to prevent those pesky bots from filling out your form.
- Save form submissions and download them in .xsl format.
- Show custom help text for any form field.
- Send a completion message to the end-user and to a list of email addresses with the ability to customize the email address this comes from.
- Use required fields to ensure that your users fill in important information.
- Easily create dropdowns, multi-selects, checkboxs, radio buttons, etc. with the drag and drop interface.
- Attach a form to a page or post by simply checking a box, or use our shortcodes and functions to place your form anywhere you want.
Creating a new form is easy and very similar to writing a blog post:
All submissions through your forms are viewable in the dashboard and can be easily exported to a .xsl file for use with other programs when managing your contacts:
…Are you sure this is free?
Yes! Ninja Forms Lite is free and available for download from the WordPress plugin repository.
What do you get with NinjaForms Pro?
Ninja Forms Pro is just $30 and gives you access to some pretty cool functionality:
- Allow users to create posts/pages/etc. from a front-end form.
- Make long forms easier to manage by separating them into sections using multi-part forms.
- Give users the option to save their progress and come back to complete the form at a later date.
- Access to powerful pre and post processing hooks so you can manipulate the form data however you want.
Ninja Forms Lite is probably more than adequate for most regular WordPress users who just need a simple customized form for making a connection with visitors. Give the free version a test drive today and post your mini-review in the comments.



Thanks for sharing this. Sounds like a great plugin. I’ve been using Contact Form 7 for a long time, but it’s such a pain to code new forms. Gonna give this one a try.
Yes, sounds great. (sigh) I just went to the repo, and man, do I wish plugin authors would start caring about localization right from their first line of code on. What’s the problem with adding _e( ‘Submit’, ‘my-plugin’ ) instead of just ‘Submit’? You can even do it with a simple search/replace right before you go public! All the other parts are handled by WordPress itself and by translators, and your plugin would be ready to roll worldwide. What’s not to like?
Thanks for the write-up.
@Casper – Guilty as charged. Really no excuse and we are fixing this for the next update of both versions.
Sweet! :)
Just an update. Both versions are not internationalized. :)
That should have been bother version are NOW internationalized. typing fail.
Sigh… I give up.
Thank you, I appreciate! Going to test the lite version.
You might want to wait for version 1.2.9.1. There were some stupid fat finger issues with textdomains and bad gettext calls. Fixing it now.
1.2.9.1 is now live and should correct any previous issues.
I am new, well a year into WordPress, and I was wonderng if you had a more deataled “how to” build your forms? Like a Youtube video? :)Also I get this warning:
Warning: Invalid argument supplied for foreach() in /home/lukeak/public_html/wp-content/plugins/ninja-forms/includes/sidebar.php on line 48
I am running WordPress 3.3.1. Any suggestions? I uploaded the pluin through the plugins uploader and not my Filezilla, would that be my problem? Thank you!
We do not currently have any video’s on how to build a form. The system is built in such a way that you simply choose the type of field you want and then fill in some basic info and drag drop to change the order of the fields.
Concerning the error warning. The plugin up-loader works fine and I’ve tested the process so that shouldn’t cause any problems. Send me your email address through the form on http://wpninjas.net and I can help you track down what might have occurred.
Our site is currently in blackout in protest of SOPA / PIPA but if you scroll to the bottom of the page there is a link to continue on to the main site.
Thank you for posting this. The timing is ironic. I am working on a magazine website and they wanted a way for subscribers to submit articles. I just purchased the Pro version. Perfect.
@Matt, Glad you like it and would love any feedback you have to offer. Feel free to contact us through our site and we look forward to working with you.
Hi, this plugin in GREAT! One question – is there a way I can configure the plugin to send a copy of the form submission to a specific E-mail address every single time it is used? I noticed that there’s a way to e-mail a copy to the sender of the message, but I’d really like to use this as a contact form. Thanks!
Under the form settings you can set where you want the form to submit to. You can add as many email addresses as you like.
Thanks so much – guess I must have missed it. I’ll dive back in.
Not a problem. When you click to edit a form it’s on that first tab.
If I were able to set a ‘hidden field’ as an E-Mail address, I could put the address I want to send the message to in there, and mark it for sending. Again, great work.
Ninja Forms also supports hidden fields but you wouldn’t need them for what you need.
Any paypal support?
Right now the Lite version is just a very easy to user form creator for collecting any kind of data. We have plans of adding various integrations to the Pro version in the future but currently there are none.
Point me in the right direction. What kind of PayPal integration are you looking for in a WordPress form builder?
Like use it as Order Form, you check the item you want to buy in the form and when you click “submit” it will redirect you to paypal to pay for your order. Another plugin already have the same function but other’s like me we find it very expensive if only that function we need.
That makes perfect sense. We are currently working on an eCommerce plugin that would work perfectly for that but that might be something to look into. Thanks for the suggestion.
Sounds good to me, wait for your ecommerce then. Follow you on twitter
Nice…! wondering if there is an option for HTML editor for the users to key in…!
If you are talking about HTML in building the form, no there is no HTML editor. If you are talking about form input, we use the built in WordPress wp_editor so you can switch to HTML when submitting a form of you enable it.
@James I’ve added you at Google+ and shared an album of screenshots of my testings with you if you’re interested.
Definitely interested. I should be at my office in about an hour and will take a look at them first thing.
how can i integrate google recaptcha with ninja forms?
Currently Ninja Forms does not support recaptcha nor is there an easy way to add it in the current version. We opted out of implementing it because of the annoyance it adds to users.
In the next version we will look at creating a way that developers can add it if they desire.
ok thanks :-)
This is great–can I insert a form using a widget? I’d like to have a basic contact form but in a sidebar and as a widget!?
Yes and no. Ninja Forms doesn’t currently have a widget, although we are adding that in version 2.0 coming in May. However we do provide a shortcode that you can add to the text widget to accomplish the same thing. You just need to remember to make sure you add
add_filter(‘widget_text’, ‘do_shortcode’);
to your functions.php or functionality plugin so it will parse it.
Hope that helps.
Thanks James–still doesn’t seem to take it. I have added the text to my functions.php and when I include the shortcode from using a text widget it only displays the shortcode. Shortcode works fine when added to a page. I have made sure (just in case) that the form is not associated with/appended to any pages or posts.
That’s exactly how I do it currently and have no problems. There may be something with your theme or another plugin interfering but it’s hard to say with seeing your site.
Thanks for the reply James–I appreciate it. I am helping some friends who are running a ThemeForest purchased theme. Oh well.
Any date on Version 2?
We are aiming for by the end of May but it’s a major re-write so I can nail it down much better than that at the moment.
I figured out why this isn’t working for you.
I had the same problem and I simply copied the code from James’ comment, didn’t work for me either.
I realized that for some reason the “apostrophe” was copying differently from my browser into my code editor. I merely retyped it with the correct apostrophe and it works brilliantly.
Thanks James!
add_filter(‘widget_text’, ‘do_shortcode’);
Mike…thank you so very much. That was exactly the issue for me as well.