How to Migrate Fluent Forms to WPForms or Gravity Forms
April 16, 2026
This post contains affiliate links. If you purchase through them, I may earn a small commission at no extra cost to you.
Fluent Forms is one of those plugins that kind of came out of nowhere and quietly became really good. It's lightweight, the free version is generous, and the conversational forms feature is pretty unique. I've recommended it to clients who needed something modern without the Gravity Forms learning curve.
But sometimes people move away from it. Maybe they're standardizing an agency on one plugin across all client sites. Maybe they need a specific add-on that only Gravity Forms or WPForms has. Maybe the client's new developer just prefers a different tool. Whatever the reason, the forms need to come along.
The tricky part about Fluent Forms exports
Fluent Forms actually has a really nice built-in migrator, but it only works in one direction: pulling forms INTO Fluent Forms from other plugins. There's no "export my form in a format that WPForms can read" button. You can export your form as JSON, but that JSON is structured specifically for Fluent Forms. Every other plugin will just stare at it blankly.
The field naming is different too. Where Gravity Forms calls a text field "text," Fluent Forms calls it "input_text." Where WPForms uses "select" for a dropdown, Fluent Forms uses "select" but wraps it in a completely different settings structure. It's the same data wearing different clothes.
How to convert your forms
In Fluent Forms, go to your form, click the three-dot menu, and export the form. You'll get a JSON file.
Head to formporter.com. Select "Fluent Forms" as the source and pick your destination, whether that's Gravity Forms, WPForms, Ninja Forms, Formidable, or Contact Form 7. Upload the file or paste the JSON. Hit Convert.
FormPorter handles the translation between Fluent Forms' element-based structure and whatever format your target plugin expects. Name fields, validation rules, placeholder text, choices, submit button text, confirmation messages. It all carries over.
Download the converted file and import it into your new plugin. Done.
Going the other direction
If you're moving TO Fluent Forms, you actually have two options. You can use Fluent Forms' built-in migrator (which works well for pulling from Gravity Forms, WPForms, Ninja Forms, and CF7). Or you can use FormPorter if you're coming from Formidable Forms, which the built-in migrator doesn't support.
Either way works. Use whichever feels easier for your situation.
One thing to watch for
Fluent Forms handles name fields differently than most plugins. It uses a compound "input_name" element with nested first_name and last_name sub-fields. FormPorter knows about this and maps it correctly to a single name field in Gravity Forms or a first-last format in WPForms. But it's worth checking after import to make sure it looks right in the form builder.
Ready to convert your Fluent Forms?
Try FormPorter