---
title: Migrating between Contact Form 7 and Gravity Forms
url: "https://www.gravitykit.com/docs/gravitymigrate/contact-form-7/"
updated: "2026-09-10"
category: GravityMigrate
---

# Migrating between Contact Form 7 and Gravity Forms

This page lists what [GravityMigrate](https://www.gravitykit.com/products/gravitymigrate/) does with each kind of Contact Form 7 field and setting, in both directions, as read from the migration code itself. The tables are generated from the plugin, so they change when it does. For the steps, and for the wording of the report the wizard shows before it runs, see [Migrating forms from another form plugin](https://www.gravitykit.com/docs/gravitymigrate/migrating-forms-from-another-form-plugin/).

Checked against Contact Form 7 6.1.4.

## From Contact Form 7 into Gravity Forms

 Contact Form 7 fieldIn Gravity Forms`text`Single Line Text`email`Email`textarea`Paragraph Text`number`Number`range`Number`url`Website`tel`Phone`date`Date`hidden`Hidden`select`Drop Down`radio`Radio Buttons`checkbox`Checkboxes`file`File Upload`acceptance`Consent`quiz`Single Line Text`captchac`CAPTCHA`captchar`CAPTCHA`turnstile`CAPTCHA`stripe`Credit Card

Contact Form 7 tags that are furniture rather than data, so they have no field on the Gravity Forms side: `submit`, `count`, `output`, `reflection`, `response`, `recaptcha`.

### Fields that arrive with a note

 Contact Form 7 fieldWhat the migration does`captchac`Really Simple CAPTCHA, which needs that separate plugin, and its keys are not something a migration can carry.`captchar`The image half of Really Simple CAPTCHA, which needs that separate plugin and keys a migration cannot carry.`turnstile`Spam protection configured with keys of its own.`stripe`A payment field, which belongs to a payment feed rather than to a field.

## From Gravity Forms into Contact Form 7

 ![The Choose Forms card for a Gravity Forms form going into Contact Form 7, listing what changes on the way and what to set up before the form goes live](https://www.gravitykit.com/wp-content/uploads/2026/09/card-contact-form-7.png) Gravity Forms fieldIn Contact Form 7Single Line Text`text`Paragraph Text`textarea`Name`text`Email`email`Phone`tel`Address`text`Number`number`Date`date`Time`text`Drop Down`select`Multi Select`select`Checkboxes`checkbox`Radio Buttons`radio`Hidden`hidden`HTMLNot migratedSectionNot migratedPageNot migratedFile Upload`file`Website`url`CAPTCHANot migratedConsent`acceptance`ListNot migratedPassword`text`Credit CardNot migratedTotalNot migratedProductNot migratedQuantityNot migratedOptionNot migratedShippingNot migratedCouponNot migratedLikertNot migratedRankNot migratedRatingNot migratedSurveyNot migratedPollNot migratedQuizNot migratedPost TitleNot migratedPost BodyNot migratedPost ExcerptNot migratedPost CategoryNot migratedPost TagsNot migratedPost ImageNot migratedPost Custom FieldNot migratedSignatureNot migratedRepeaterNot migratedMultiple Choice`checkbox`Image Choice`radio`Chained Selects`select`

### Form settings Contact Form 7 cannot hold

These Gravity Forms settings have no counterpart in Contact Form 7. The migration names each one as left behind: Anti-spam honeypot, Entry limit, Require user to be logged in, Form description, Confirmations, Redirect confirmations, Notification names, Submit button conditional logic.

## Merge tags

Merge tags in notifications and confirmations are translated where both plugins have one:

 Gravity FormsContact Form 7`{date_mdy}``[_date]``{admin_email}``[_site_admin_email]``{form_title}``[_contact_form_title]``{ip}``[_remote_ip]``{user_agent}``[_user_agent]``{embed_url}``[_url]``{post_id}``[_post_id]``{embed_post:post_title}``[_post_title]``{user:user_email}``[_user_email]``{user:user_login}``[_user_login]``{user:display_name}``[_user_display_name]`

A merge tag with no counterpart is left as written and named in the report.

## Related articles

- [Migrating forms from another form plugin](https://www.gravitykit.com/docs/gravitymigrate/migrating-forms-from-another-form-plugin/), which links the reference page for every other plugin
- [Getting started with GravityMigrate](https://www.gravitykit.com/docs/gravitymigrate/getting-started-with-gravitymigrate/)
