Moving in

Bring your Contact Form 7 forms across without retyping them

Forms → Import lists every Contact Form 7 form on the site. Tick the ones you want and the questions, their options, their required flags and their field names come across. Contact Form 7 does not even have to be active.

Download free Read the import guide

Every import arrives as a draft, with a report of anything that could not come across.

Contact Form 7 is not the problem

It has been doing one job well for nearly twenty years: put a form in a page and email it to you. If that is all you need, keep it - genuinely.

People move because the job grew. They want to read the answers back without digging through their inbox, cap the number of registrations, get paid at the same time, or hand the form over to a colleague who does not write markup. That is the point at which a text box full of [text* your-name] stops being the right tool.

What you get that you did not have

  Contact Form 7 LocalForm
Building a form Form tags typed into a block of markup Drag-and-drop questions, with a live preview
Where answers go Email only, unless you add a storage plugin Stored on your site, with email as well
Reading the results Your inbox Counts, charts and per-question summaries in the admin
Getting the data out Copy and paste XLSX or CSV export, WP-CLI, REST API
A page for the form You build one and paste the shortcode Every form gets its own page and link - or use the shortcode
Limits and scheduling Not built in Maximum registrations, opening and closing date and time
Taking payment Add-ons Stripe, Mollie or WooCommerce (Pro)
Licence GPL, free GPL, free - Pro is a separate add-on

The move, step by step

  1. Install LocalForm alongside it

    Nothing conflicts. Both plugins can sit there while you decide, and your existing forms keep working exactly as they do now.

  2. Open Forms → Import

    The Contact Form 7 card lists the forms found on this site. Tick the ones you want and press Import selected forms.

  3. Read the draft

    Each form arrives as a draft. Contact Form 7 keeps no labels of its own, so LocalForm reads the words next to each tag - right nearly always, worth a glance before you publish.

  4. Set up the notification

    The old email settings do not come across. Put your address on the Notifications tab, and write the confirmation the person filling it in should get.

  5. Swap the shortcode

    Replace [contact-form-7 ...] with [localform id="123"] on the page, or use the LocalForm block. Then deactivate the old plugin when you are happy.

What comes across, and what does not

Comes across

The questions and their wording, their type, their options, and which ones are required.

Field names are kept. A question arriving at a webhook as your-email still arrives as your-email.

A tick box keeps the sentence written after it, so [acceptance accept-1] I agree to the house rules becomes a consent question saying exactly that.

Does not come across

The responses. They stay where they are - export them from the old form if you need them.

The emails. LocalForm has its own, on the Notifications tab.

The styling. An imported form uses your LocalForm colours and font like any other.

Submit buttons, hidden fields and CAPTCHA tags are dropped - none of them asks the visitor anything.

Questions

Does Contact Form 7 have to stay active?

No. Its forms stay in the database when the plugin is deactivated, which is exactly the moment you are most likely to want them.

Do my old submissions come across?

No - an import copies the questions, not the responses. Export them from the old form first if you need to keep them.

Will my webhook or integration break?

Field names are kept, so what you built against the old form keeps working.

Can I import from WPForms too?

Yes - same screen, same rules, and WPForms Lite forms import as well. Compound fields like a split Name become a single question, and the import report names each one so you know what to tidy.

Will the imported form go live straight away?

No. It arrives as a draft with a report of anything left out, so you read it through first.

Try it on one form

Install the free plugin, import a single form, and look at what the Responses tab shows you after a week. That is usually the whole argument.

Download free Read the import guide