Ninja forms

Go to Ninja forms
Ninja forms banner
7th Jul, 2018

Ninja forms
By The WP Ninjas

If you are looking to add forms to your website then Ninja Forms is certainly a plugin that you will come across. It is one of the most used form plugin out there that offers most of the basic functionality for FREE.

Below is a brief overview of the plugin. (Because no one has time to read these days :P)

Update: Upgrade to the latest version(3.2.14 at the time of this review) as it patches a security vulnerability.


Ninja forms has a easy 5 minute setup process in the backend. When you install the plugin, it automatically creates a contact form for you (assuming it’s widely used).

Creating your own form is as easy as clicking the add new button.

Ninja forms - create a form
Ninja forms – create a form

You are then presented to pick from a couple of read made templates which you could tweak or you can create your custom form with a blank form template

NInja forms dashboard
NInja forms dashboard

You are then taken to a screen with a draggable fields panel on your right and  your form on the left. You can add and customize a number of fields that are provided for you.

Over here, as you can see Ninja forms visually takes over the WordPress dashboard. Their design isn’t bad but why unnecessarily take away control of the dashboard from the users?

Ninja forms fields
Ninja forms fields

The one thing I like about the plugin is that it’s very easy to setup. If you are looking to create a contact form then it already does it for you. Styling the forms can be tricky to navigate around but settings such as required field, placeholder, and label name can be made using the form setup on the right.

By default, your form submissions are stored in your WordPress database for easy access through your WordPress Dashboard under Ninja Forms -> Submissions, and are also sent to the email address associated with your WordPress user account.

For developers

Styling the forms can be a pain since it requires extra steps to add classes to the components and to add custom CSS styles in the back so visualizing those changes cane be hard to do. There are options to add classes to the fields but that’s about it as far as styling goes.

Also, Ninja forms doesn’t have an api like Gravity forms. Check out their developer codex for a full list of filters, hooks, etc.

Then there’s webhooks, via which you can trigger different web services whenever someone submits a form(kinda like ifttt). There are also other use cases for it but it is a paid add-on and comes included in the developer bundle.


Support is provided in the forms of a documentation page and support ticket system. For those with a paid membership, they get priority support.

Their documentation page is pretty well organized and should cover most use cases. Take a look yourself. Every article has screenshots and if applicable, code samples provided.


Sussing out the pricing was one of the harder parts of this review. Basically, there are add-ons from which Ninja Forms make most of their dough from. These add-ons can add more developer functionality, integrate with other services, add extra form fields, etc.

  • The core plugin is free.
  • Official Add-ons are paid. You can buy them individually.
  • There are 4 yearly plans available which gives you paid support, varying levels of add-ons(the most expensive one gives you all add-ons straight up) among other things.

This table shows the yearly plans pricing:

Free Personal Professional Agency
 $0 $99 $199 $499


Overall I would recommend Ninja forms because it is simple to use and it encompasses all the basic features required for creating a simple form and the documentation is also very comprehensive.

However if you’re just looking for a simple plugin to create a few forms which are easier to style as well then take a look at Contact form 7.

Technical Report

Lines of code 25,793
Cyclometric complexity(CC) 10.8
Code violations

(0 criticals, 68 errors) - 147 violations

Uses custom Db table? Yes
CC Chart

Ninja forms creates three database tables:

  • nf_objects
  • nf_objectmeta
  • nf_relationships

Most importantly, it won’t remove the tables when you uninstall the plugin. The devs state that the tables are kept in case you want to reinstall the plugin in the future and want your forms back. There’s an option inside Ninja forms to purge the tables completely when uninstalled.

Data generated from Phpmetrics. Although the data found through our research has been produced and processed from sources believed to be reliable, no warranty, expressed or implied, is made regarding accuracy, adequacy, legality or reliability of any information.


Drag and drop builder Yes
Conditional logic No
API Yes - but no rest api
Custom styles Yes (using custom css or paid layouts)
JSON import/export Yes


For $0, you’re getting a pretty decent feature set.

However, if you’re looking for a simple barebones form plugin, check out Contact Form 7.

  • Comes with a lot of functionality for a free plugin

  • Lots of available add-ons for extending Ninja Forms

  • Lack of options without add-ons

  • UI is polished, but intrusive.


Helpful disclosure

Our works are supported by earning an affiliate commision
when readers choose to purchase a plugin based our reviews.

Leave a Reply

Your email address will not be published. Required fields are marked *