
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.
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.
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.
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.
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.
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.
Compare the model, because that is what determines fit:
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.
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.
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.
Pick by who you are, not by a scoreboard:
They genuinely serve different people. Match the tool to the job and any of the three will serve you for years.
Site
Tools
We do not sell your email. We do not spam.
© 2026 RevealTheme. All rights reserved.