Published

•

Updated

How to migrate from Ninja Forms to Gravity Forms without rebuilding your forms

Move your Ninja Forms forms into Gravity Forms with their fields, conditional logic, and notifications using GravityMigrate, then bring your submissions across with GravityImport.

Moving from Ninja Forms to Gravity Forms used to mean rebuilding every form by hand, field by field, and then importing your old submissions from a spreadsheet. On a site with a dozen forms, that’s a lot of retyping.

GravityMigrate now reads your Ninja Forms forms and recreates them in Gravity Forms with their fields, conditional logic, and notifications, and tells you what changed along the way. In this guide, I’ll show you how to migrate Ninja Forms to Gravity Forms in two parts: the forms first, then the submissions. Let’s dive in!

What you’ll need

  • Gravity Forms – the form plugin you’re moving to. GravityMigrate needs it active for every migration.
  • GravityMigrate – reads your Ninja Forms forms and recreates them in Gravity Forms.
  • Ninja Forms, still active on the same site – GravityMigrate reads the forms straight from it.
  • GravityImport (optional) – brings your old submissions across from a CSV file.

Why move from Ninja Forms to Gravity Forms?

Ninja Forms is a capable plugin, and its free core covers a lot of sites. The case for Gravity Forms is everything built around it: official add-ons for payments, user registration, and CRMs, third-party tools like Gravity Flow for approval workflows, and GravityKit’s add-ons for displaying, editing, and charting your entries on the front end.

If you’re still weighing Ninja Forms vs Gravity Forms, our Gravity Forms vs Ninja Forms comparison covers the differences in detail. If you’ve decided, here’s how to move.

Step 1: Install GravityMigrate on the site with your Ninja Forms forms

GravityMigrate reads your forms directly from Ninja Forms, so you don’t need to export anything first. That also means it has to run on the site where your Ninja Forms forms live.

Download GravityMigrate from your GravityKit account, then upload and activate it like any other plugin (here’s how). Before you move on, check that Gravity Forms and Ninja Forms are both active on the same site.

Step 2: Migrate your Ninja Forms forms into Gravity Forms

In your WordPress dashboard, hover over GravityKit and click GravityMigrate. The wizard first asks which direction you’re going. Click Import into Gravity Forms.

On the Source step, the right-hand column lists every form plugin on your site and how many forms each one holds. Click Ninja Forms.

The GravityMigrate Source step, with Ninja Forms listed under Import from a form plugin on this site

Step 3: Pick your forms and check the report

The Choose Forms step shows a card for each of your Ninja Forms forms. Tick the ones you want to move to Gravity Forms.

Every form plugin has its own field types and settings, so not every part of a Ninja Forms form has an exact match in Gravity Forms. That’s why, before anything is written, each card tells you what’s going to happen. A card can carry up to three lists, and each one only appears when it has something to say:

  • Won’t migrate – fields with no Gravity Forms counterpart. The rest of the form still migrates.
  • Modifications – fields that come across but work a little differently in Gravity Forms. For example, separate first and last name fields are combined into one Name field.
  • Before you use the form – setup you’ll need to do in Gravity Forms before the form goes live, such as entering your CAPTCHA keys.

For the full picture, click Show what happens to each field. The table has one row per field: its name in Ninja Forms, what it becomes in Gravity Forms, and whether it stays the same, changes shape, or is left out.

The Choose Forms step for a Ninja Forms volunteer sign-up form, listing what won't migrate, the modifications, and a table of what happens to each field

Step 4: Run the migration

The Confirm step lists the forms you picked and where they’re coming from. Click the import button, which shows how many forms you picked (for example, Import 1 form).

When it’s done, the Done step names each new form and links straight to it in Gravity Forms. Your success message and email actions come across with every form, as its confirmation and notifications. If part of either couldn’t be rebuilt, the Done step lists it under that form. Your Ninja Forms forms stay exactly where they were, so you can compare old and new side by side.

The Import complete step, showing the volunteer sign-up form added to Gravity Forms with its confirmations and notifications

What changes when a Ninja Forms form moves to Gravity Forms

Most of a Ninja Forms form maps straight across. Here’s what to expect:

  • Fields – text, email, phone, address, date, number, dropdown, checkbox, radio, file upload, signature, repeater, and product fields all come across. Separate first name and last name fields are combined into one Gravity Forms Name field, and a credit card field arrives as one Gravity Forms credit card field.
  • Logic and messages – conditional logic comes with the form. Your success message becomes a Gravity Forms confirmation, redirects become redirect confirmations, and email actions become notifications. Merge tags in those messages are translated wherever Gravity Forms has an equivalent, and the report names any that aren’t.
  • Spam protection – reCAPTCHA, hCaptcha, and Turnstile fields come across, but their keys live in Ninja Forms’ settings, so you’ll need to add your CAPTCHA keys in Gravity Forms’ settings. Ninja Forms’ anti-spam question field stays behind, because Gravity Forms handles spam protection in each form’s settings.

Pro tipThe Ninja Forms reference page lists every Ninja Forms field type and merge tag, and what happens to each one when it moves to Gravity Forms.

Step 5: Export your Ninja Forms submissions and import them with GravityImport

GravityMigrate moves the form. Your submissions stay in Ninja Forms until you export them, and bringing them across needs GravityImport, which imports the CSV file into the form you just created.

First, export the submissions from Ninja Forms:

  1. Hover over Ninja Forms and click Submissions.
  2. Pick your form from the Select a Form dropdown.
  3. Click Download All Submissions to save them as a CSV file. To export only some, tick them, then choose Export from the Bulk Actions dropdown.
The Ninja Forms Submissions screen for the volunteer sign-up form, with the Download All Submissions button below the table

Then import them with GravityImport:

  1. Install and activate GravityImport.
  2. Hover over Forms, click Import/Export, and open the Import Entries tab. Upload your CSV file.
  3. When GravityImport asks where to import the entries, click An Existing Form and pick the form GravityMigrate just created.
  4. Map each column in the CSV to a field on that form. Map First name and Last name to the First and Last parts of the Name field, and Date Submitted to Entry Date so your entries keep their original dates. Untick any columns you don’t need, such as the “#” submission number Ninja Forms adds.
  5. Review the options on the Configure step, then click Continue With Import.
GravityImport's Map Fields step, with the Ninja Forms CSV columns mapped to the new form's fields and Date Submitted mapped to Entry Date

Pro tipIf GravityImport marks the Date Submitted column as “Date Not Recognized,” click the gear icon next to it, choose MM/DD/YYYY from the list, and click Update. The dates are then read correctly.

Our guide to importing entries into Gravity Forms covers every import option in detail.

Step 6: Swap the form on your pages and retire Ninja Forms

Last, point your pages at the new forms. Edit each page that shows a Ninja Forms form, remove its block or shortcode, and add the Gravity Forms Form block in its place. Then pick your new form in the block settings. Our guide to embedding a Gravity Forms form covers the other ways to add it.

Submit a test entry to make sure your notifications arrive. Once your submissions are safely across, you can deactivate Ninja Forms.

Pro tipMoving to a new site as well? Run the migration on the old site first, while Ninja Forms is still there to read from. Then move your whole Gravity Forms setup, forms and entries included, to the new site with a GravityMigrate file. Read Getting started with GravityMigrate for the full walkthrough.

Frequently asked questions

Can I move my Ninja Forms forms into Gravity Forms, not just the submissions?

Yes. GravityMigrate reads each Ninja Forms form on your site and recreates it in Gravity Forms with its fields, conditional logic, success message, and email notifications, then shows you anything it had to change. The .nff file from Ninja Forms’ own Import / Export screen won’t open in Gravity Forms, so GravityMigrate reads the forms directly, which means Ninja Forms needs to be active on the same site. rtCamp also publishes a free importer for .nff files on GitHub, built for its own client projects. We haven’t tested it, so we recommend GravityMigrate, which also shows you what changed on the way.

Do my Ninja Forms submissions come across too?

Yes, with GravityImport, as a second step after the forms. In WordPress, go to Ninja Forms, then Submissions, pick the form, and click Download All Submissions to save them as a CSV (Ninja Forms’ guide). GravityImport then maps each column to a field on your new form and brings the rows in as Gravity Forms entries.

How closely will the new form match my Ninja Forms form?

Fields, conditional logic, the success message, redirects, and email notifications come across, and GravityMigrate lists anything it changed before you run the migration. A few things need you afterward: CAPTCHA fields need your keys entered in Gravity Forms, and Ninja Forms’ anti-spam question stays behind because Gravity Forms handles spam in its form settings. The form also takes on Gravity Forms’ styling, so any custom CSS you wrote for your Ninja Forms forms will need updating.

Is Gravity Forms better than Ninja Forms?

It depends on what your forms need to do. Ninja Forms has a free core plugin on WordPress.org with paid add-ons, while Gravity Forms has no free version. In return, Gravity Forms has a large ecosystem of official and third-party add-ons, from payment gateways and Gravity Flow workflows to GravityView for displaying entries on the front end. If the free plugin already covers what your forms do, there’s no need to switch.

Ready to switch?

GravityMigrate turns a form-by-form rebuild into one guided migration, and the report tells you what changed before anything is written. It also works with WPForms, Formidable Forms, Contact Form 7, Fluent Forms, Forminator, and WS Form, if you have forms in more than one plugin.

Get GravityMigrate, or try the GravityMigrate demo to see it before you install anything.