Ninja Forms +
Multi Step Forms

Give submissions a boost on any longer form by making it a multi-page form. Drag and drop fields between pages, add breadcrumb navigation, a progress bar, and loads more!

Ever passed on filling out a form because it just looks like a time-consuming pain to complete? We all have.

Life is busy and our free time is precious. WordPress forms that look long and involved are simply going to get less interaction than simpler ones.

  • Are your longer forms being submitted less often?
  • Do you have lots of users visit a page but not complete the form there?
  • Want to substantially increase the conversion rate of any longer form?

Multi Step Forms is your solution! Break longer forms into less intimidating and easy to complete sections with ease!

Create multi step forms effortlessly with a drag-and-drop interface

Breaking an existing long single-page form into multiple pages takes nothing more than a few mouse clicks to achieve. Multi Step Forms features a full drag-and-drop interface so that you can effortlessly arrange and organize.

Multi-part Example

Putting together a new form? Simply click a button to add a new page, and begin adding the fields you need there. Fields can be dragged and dropped with ease between pages for easy editing at any time!

Tap into a host of options to make navigating your forms easier

Beyond simply offering the ability to move between pages, your users will have additional options that make navigating a long form easier.

  • Give each section a title and the option to display it.
  • Display breadcrumb navigation above the form, making each section easy to access.
  • Add a progress bar to your form.
  • Easily sort and order fields and even entire pages with a completely drag-and-drop interface
  • Customizable Next/Previous buttons.

In addition, each page of your Multi Step Forms validates per-page, meaning any user error will display before they move on!

Show your users only the pages they need, when they need them.

Tap into the power of the Conditional Logic add-on for even more flexibility in your multi step WordPress forms. Display or hide certain pages based on what your user inputs into a field!

Need three additional pages of information if a user indicates they’re bringing three guests to your event? Two if they only indicate two? It’s not only possible, it’s quick and easy right from the convenience of your form builder.

Take your WordPress forms to the next level today!

Frequently Asked Questions

Can I include a summary or review page before submission?

You can make a summary or review page on the final page of your multi step form using merge tags. These can be used to display all fields filled out previously in the form as a review page. Ask us if you’re not sure how!

Will users be able to return to previously answered parts of the form to change their answers?

If you want them to, you can allow users to return to previously answered parts of the form to change their answers. You can give them a previous button to move one page back, or allow them to navigate from part to part using tabs.

What type of support is available to Ninja Forms customers?

We have a dedicated support team standing by to help with anything you may need. We’re available 9am-4pm EST, Mon-Fri, and strive to answer all customer requests within 24 hours.

How do Ninja Forms licenses work?

Licenses are subscription based and will auto-renew each year unless cancelled. If cancelled, you may still use your extensions but will no longer receive important updates or support once the license expires.

Can I get a demo or trial of Ninja Forms add-ons before I buy?

We don’t have a demo or trial version of our add-ons, but we do offer a 14 day full refund policy for any reason whatsoever.


3.0.26 (2 April 2019)


  • Resolved an issue that was sometimes causing an undefined index notice on activation.

3.0.25 (23 January 2019)


  • Showing or hiding a part with conditional logic will no longer automatically add a reverse statement.

3.0.24 (24 August 2018)


  • Required field validation should no longer prevent navigation to the previous part.

3.0.23 (23 May 2018)


  • Part duplication should no longer be available in situations where it can cause data corruption.

3.0.22 (7 November 2017)


  • When a part is deleted all fields associated with that part are now removed.
  • Part order will now be consistent in form imports and exports.
  • Google reCaptcha will now render on any form part.


  • Updated the opinionated styles for the progress bar.

3.0.21 (15 September 2017)


  • Fixed a bug with field duplication when Layout & Styles is also installed.


  • Changed the priority of admin enqueued scripts for loading order compared to Layout & Styles.

3.0.20 (22 August 2017)


  • Duplicating a part should no longer cause fields to incorrectly duplicate.
  • Removed a PHP warning that might be displayed on the front-end.
  • Importing forms with incomplete Layout & Styles data should no longer crash import.

3.0.19 (02 August 2017)


  • Fixed a bug that could cause conditions setup with Conditional Logic to fail on forms that have multiple parts.

3.0.18 (21 June 2017)


  • Fixed a bug that caused duplicating fields and parts to fail.

3.0.17 (31 May 2017)


  • Duplicating fields should now work on forms that have multiple parts.

3.0.16 (23 May 2017)


  • Help text should now work on parts beyond the first.

3.0.15 (17 March 2017)


  • Re-enabled the duplicate part functionality. It should now function properly.

3.0.14 (09 March 2017)


  • Fixed a bug that could cause the all_fields merge tag to be empty.

3.0.13 (07 March 2017)


  • Temporarily removed the \”Duplicate Part\” feature while we work out some bugs with how it operates.

3.0.12 (02 Februrary 2017)


  • Fixed a possible PHP warning.

3.0.11 (26 January 2017)


  • Added a filter for Ninja Forms version 3.0.25 that allows Multi-Part Forms to correctly order fields in submissions.

3.0.10 (19 January 2017)


  • Google Recaptcha fields should now work properly with Multi-Part forms.

3.0.9 (15 December 2016)


  • Fixed a bug with Conditional Logic that caused conditionally shown/hidden parts to throw a JS error.

3.0.8 (21 November 2016)


  • Fixed a bug with re-ordering of fields when also using Layouts & Styles.

3.0.7 (15 November 2016)


  • Fixed a bug that can cause forms to crash on servers that have ASP-like tags turned on.

3.0.6 (03 November 2016)


  • Fixed a bug that caused duplicating fields to create multiple duplicates.


  • Added label settings for Previous and Next buttons.

3.0.5 (26 September 2016)


  • Fixed a bug with converting from the RC of Ninja Forms.

3.0.4 (12 September 2016)


  • Fixed a bug in Layout & Styles conversion.

3.0.3 (09 September 2016)

  • Fixed a bug with conversion.

3.0.2 (06 September 2016)

  • Updated with Ninja Forms v3.x compatibility licensing.

3.0.1 (06 September 2016)

  • Updated with Ninja Forms v3.x compatibility

3.0.0 (06 September 2016)

  • Updated with Ninja Forms v3.x compatibility
  • Deprecated Ninja Forms v2.9.x compatible code

1.3.5 (08 September 2015)


  • Fixed a bug that could cause the animated spinner to fail to show when building a form.

1.3.4 (17 March 2015)


  • When our JS changes, users browsers shouldn\’t keep old copies in the cache.

1.3.3 (4 March 2015)


  • Fixed a bug that could cause saving a new form to fail.

1.3.2 (4 March 2015)


  • Fixed a bug that could cause issues when adding a field type and then deactivating an extension that added it.

1.3.1 (27 February 2015)


  • Fixed several minor bugs with version 2.9 of Ninja Forms.
  • Creating a new multi-part form should now work with older versions of Ninja Forms as well.

1.3 (4 February 2015)


  • Preparing for the release of Ninja Forms 2.9.

1.2.8 (17 November 2014)


  • Next and Previous button text can now be changed in the Forms->Settings->Labels tab.


  • Fixed several bugs that prevented translations from working properly.
  • Added several strings that weren\’t translatable previously to the .po and .pot files.

1.2.7 (16 September 2014)


  • Compatibility with Ninja Forms 2.8.

1.2.6 (24 July 2014)


  • Compatibility with Ninja Forms 2.7.



  • Multi-part forms should now work properly with the Stripe extension in all implementations.



  • Changed the name of the \”Confirmation Page\” to \”Review Page\” to make the option\’s purpose more clear.


  • Fixed a bug on the review page that caused hidden fields to sometimes be shown as textboxes that could be manipulated.



  • Fixed a bug with page titles that prevented them from displaying properly on conditional pages.
  • Fixed a bug that caused forms with several pages to have scrolling issues in the admin.



  • Fixed a bug with confirmation pages and the conditional logic extension.
  • Fixed a bug that could cause php errors without the conditional logic extension present.



  • Fixed a bug with confirmation pages that could prevent them from working properly.



  • Added support for the new Ninja Forms loading system. This should significantly improve loading speed for forms that use multi-part forms.



  • Fixed translation issues by adding a default language folder, fixing several bad text domains, and adding a proper translation loader.


  • Added a jQuery event for ‘mp_change_page’ that fires after the page has successfully changed.
  • Added some CSS for WP 3.8 compatability.
  • Admin scripts should now load the min or dev versions based on the NINJA_FORMS_JS_DEBUG constant.
  • Removed old licensing file.



  • Fixed a bug that could cause Multi-Part Javascript to run, even if the form wasn\’t a Multi-Part form.
  • Fixed a bug that could cause initial page load to be incorrect with a Multi-Part form.



  • Added a class to the page title on each multi-part page so that it can be styled with Layout & Styles.


  • Fixed bugs that could prevent the previous and next buttons from displaying correctly.



  • Changed the license and auto-update system to the one available in Ninja Forms 2.2.47.



  • Fixed a bug that could cause Multi-Part forms to work incorrectly with the Save Progress extension.
  • Fixed a bug that prevented form settings from being carried from Multi-Part page to Multi-Part page.



  • Fixed a bug that prevented conditional logic from being properly applied to pages within a multi-part form.



  • Updated references to with the new



  • When creating a multi-part form, page numbers can now be dragged and dropped to re-arrange the pages of your form.


  • Minor bug-fixes.



  • Changed the Javascript methods used in order to be compatible with Ninja Forms 2.2.37.



  • Updates for compatibility with WordPress 3.6



  • Fixed some minor visual bugs.



  • Fixed a php warning caused by a function running even if Multi-Part forms weren\’t enabled.
  • Fixed a bug that was causing breadcrumb navigation to have the incorrect classes applied.



  • Fixed a bug that caused the new, shorter field length to show incorrectly when the settings were saved.



  • Multi-Part Forms will now allow you to hide or show an entire page when used in conjunction with the Conditionals extension.
  • A new \”Confirmation Page\” option has been added. If this is selected, the user will be presented with a page showing all of their entered data, separated by page.


  • Changed the way that MP forms CSS is laid out to make it compatiable with version 2.2.18 of Ninja Forms.



  • Fixed a bug with Multi-Part Forms and AJAX submissions that might affect some users.



  • Updated Multi-Part Forms so that the extension works with AJAX submissions.


  • The ID of the DIV that wraps the navigation elements has been changed to ninja_forms_mp_nav_wrap from ninja-forms-mp-nav-wrap.
  • A class of \’ninja-forms-mp-nav-wrap\’ has been placed on the DIV that wraps the navigation elements.



  • Fixed a bug that prevented multi-part from working properly with post creation.



  • Fixed a bug that prevented two multi-part forms from working properly on the same page.


  • Field values that are emailed should now appear in the proper order.



  • Added a prev/next wrapper, adjust default styling for breadcrumbs and progress-bar.


  • Fixed a bug that prevented the Multi-Part extension from interacted properly with the Save Progress extension.


  • Fixed a bug that was preventing required fields from being properly checked.
  • Fixed a bug with breadcrumb navigation that prevented the page with the first error from reloading if a user skipped to the end of a form and submitted.
  • Fixed a bug that was preventing a form from properly being changed into a Multi-Part form.


  • Fixed a bug that caused design elements, especially text fields, from showing on multi-part forms.


  • Various bug fixes including:
  • A bug which prevented all fields from being emailed to the administrator.


  • Various bug fixes.
  • Changed the way that javascript and css files are loaded in extensions.