RevealTheme logo
Back to Blog

Contact Form 7 vs WPForms vs Gravity Forms

Contact Form 7 vs WPForms vs Gravity Forms
The RevealTheme Team

By

·

Three plugins dominate the "how do I add a form to WordPress" conversation, and they sit at completely different points on the spectrum. Contact Form 7 is the free, no-frills veteran. WPForms is the friendly drag-and-drop builder. Gravity Forms is the developer's data-collection workhorse. They are not really competing for the same person, which is why "which is best" has no single answer. Below is what actually separates them and how to pick without regret.

The one-line identity of each plugin

Contact Form 7 (CF7) is free, open-source, and has powered millions of WordPress sites for well over a decade. There is no visual builder: you define a form by typing shortcode-style markup into a text box. It is deliberately minimal. It does exactly one thing — render a form and email the result — and stays out of your way.

WPForms is freemium. WPForms Lite is a genuinely usable free plugin in the WordPress.org repository; the paid versions unlock the features most people eventually want. Everything is drag-and-drop, template-first, and built so a non-developer can ship a working form in five minutes without touching code.

Gravity Forms is premium-only. You will not find it in the WordPress.org repo — you buy a license at gravityforms.com and install the zip. It is the choice of agencies and developers who need calculations, conditional logic, multi-page forms, and a deep hook/API surface to bend forms into full applications.

Building a form: markup vs. canvas vs. canvas-plus-logic

This is the difference you feel on day one. In CF7 you write the form by hand. A field looks like [text* your-name], and you assemble the layout in a plain text area. It is fast once you have memorized the syntax and miserable if you have not. There is no live preview of styling, and alignment is on you and your theme's CSS.

WPForms is the opposite philosophy. You pick a template (contact, newsletter, survey, donation), then drag fields onto a canvas and configure them in side panels. A marketer can build and publish without ever seeing a line of code. The trade-off is that you work within the builder's idea of how forms should look and behave.

Gravity Forms also uses a drag-and-drop editor, but it is built for complexity rather than speed. Conditional logic (show field B only if field A equals X), multi-page forms with progress bars, and field calculations are first-class citizens in every paid tier. If your "form" is really an application — a quote estimator, an event registration with pricing tiers, a multi-step intake — Gravity is in a different league.

Where your submissions go (this trips people up)

A genuinely important and under-advertised fact: Contact Form 7 does not save submissions to your database by default. It emails them and forgets them. If that email silently fails to send — a common WordPress problem on hosts without configured SMTP — the submission is gone forever. To store entries you install the free companion plugin Flamingo from the same author. Treat that as mandatory, not optional.

WPForms and Gravity Forms both store every entry in the database automatically (entry storage in WPForms requires Lite's paid upgrade or the free version's basic logging, while Gravity stores everything from the Basic tier up). You get a searchable list of submissions in wp-admin, can export to CSV, and never lose a lead to a bounced email. For any site where the form generates revenue or leads, persistent entry storage is not a nice-to-have.

Spam and security

All three integrate with the modern anti-spam stack, but the defaults differ. CF7 leans on Akismet and supports reCAPTCHA, hCaptcha, and Cloudflare Turnstile, but you configure each yourself. WPForms ships with a built-in spam-protection token and a honeypot, plus one-click reCAPTCHA/hCaptcha/Turnstile and a custom CAPTCHA — the easiest out-of-the-box experience. Gravity Forms supports the same CAPTCHA providers plus a honeypot field and Akismet, and its anti-spam hooks make it the most extensible for custom rules. Whichever you choose, enable Turnstile or hCaptcha — bare forms get hammered by bots within days of going live.

Payments, integrations, and marketing

If you need to take money or push leads into a CRM, the gap widens. CF7 has no native payments; you bolt on third-party add-ons or move to a different tool. WPForms (Pro and up) offers Stripe, PayPal, Square, and Authorize.Net, plus native connectors for Mailchimp, ActiveCampaign, HubSpot, and more. Gravity Forms covers the same payment processors through official add-ons and has one of the largest ecosystems in WordPress — 350-plus add-ons spanning payment gateways, email marketing, webhooks, and Zapier — making it the most flexible for stitching forms into a wider stack.

The pricing models (the real axis, not the dollar figure)

Compare the model, because that is what determines fit:

  • Contact Form 7 — free, forever, GPL. No tiers, no license, no renewal. Your only costs are the add-ons or developer time you spend extending it.
  • WPForms — freemium. Lite is free. Paid tiers (current 2026 pricing) run roughly Basic $39.50/yr, Plus $99.50/yr, Pro $199.50/yr, and Agency $299.50/yr, with features and site counts increasing per tier. Conditional logic, payments, and most integrations live in the upper tiers.
  • Gravity Forms — premium-only, feature-complete by tier. Around Basic $59/yr, Pro $159/yr, and Elite $259/yr in 2026, differentiated mostly by site count and add-on access rather than gating core form-building features. There is no free version.

Prices drift, so confirm current numbers on each vendor's pricing page before you buy. The durable point: CF7 costs nothing, WPForms lets you start free and pay only when you outgrow Lite, and Gravity asks for money up front but gives you the full toolkit immediately.

Performance footprint

CF7 has a well-known quirk: by default it enqueues its JavaScript and CSS on every page of your site, even pages with no form. On a content-heavy site that is wasted weight on hundreds of URLs. The fix is a few lines of code or a setting to load assets only where a form exists — worth doing if you care about Core Web Vitals and keeping LCP under the 2.5-second threshold. WPForms and Gravity are generally smarter about conditional asset loading, though both are heavier plugins overall because they do far more. For a brochure site with one contact page, none of this is decisive; for a large site, audit what each loads site-wide.

Developer extensibility

Gravity Forms wins outright here. Its hook and filter coverage is exhaustive, the REST API is solid, partial entries and webhooks are built in, and the add-on framework is designed for building your own. CF7 is hackable but sparse — you will write more glue code. WPForms sits in between, with a decent developer API that mostly assumes you are configuring rather than rebuilding.

So which one

Pick by who you are, not by a scoreboard:

  • Choose Contact Form 7 if you want free, you are comfortable with a little markup and CSS, and you need a simple contact form. Just install Flamingo for entry storage and restrict its asset loading.
  • Choose WPForms if you are a non-developer or marketing-led team that wants to build attractive forms fast, store entries, and add payments or CRM connections later without touching code. Start with Lite and upgrade when you hit a wall.
  • Choose Gravity Forms if you are an agency or developer building complex, logic-heavy, data-collection forms, or you need deep extensibility and a large add-on ecosystem. The up-front cost buys you capability you would otherwise cobble together.

They genuinely serve different people. Match the tool to the job and any of the three will serve you for years.