the writing wordpress 9 min

Contact Form 7 Alternatives, With and Without WordPress

Contact Form 7 has no built-in submission storage and vendors say its feature releases have stopped. Here are the plugins, hosted backends and DIY options to move to.

Blank form in a browser window with a dashed arrow branching to a mailbox, a database and a cloud.

Contact Form 7 remains the most detected form plugin on WordPress, appearing on 29.74% of sites in GravityKit's July 2026 HTTP Archive-based figures. WPForms and Fluent Forms both claim version 6.2 is its last feature release, though that is vendor marketing, not an official notice on the plugin page. Replacing it gives you three paths: another WordPress plugin, a hosted form backend that works on any site, or handling form posts yourself. What follows breaks down those three options, with a comparison table and a migration checklist to avoid losing submissions.

What Contact Form 7 does well, and where people outgrow it

In its defence, Contact Form 7 is free, widely deployed, with the WordPress.org listing showing 10+ million active installations and version 6.2.3, and edited via plain markup rather than a visual canvas. Ivy Forms puts its assets at 50 to 80KB against 150 to 200KB for Gravity Forms, though it enqueues scripts on every page by default. One reviewer on the plugin page reports using it on every client site (August 24, 2026). That loyalty is earned.

So where do people outgrow it?

No submission storage

Ivy Forms notes that CF7 never writes submissions to the WordPress database. It sends an email instead. If that message bounces or catches a spam filter, the enquiry is gone.

The WordPress remedy is straightforward and cheap. CFDB7 captures CF7 submissions without configuration, keeps them in a single table across all forms, and exports to CSV. Database for Contact Form 7, WPforms, Elementor forms works much the same way, also exports to CSV, and includes toggles to disable storing entries and IP data.

Add-ons for everything else

Multi-step flows, spam filtering, webhooks, and file uploads all require add-ons. Ultra Addons for Contact Form 7 lists 50+ extensions. Its free tier includes Database, Spam Protection, Conditional Field, Multi-Step Form and Webhook Integration, while Drag & Drop Multiple File Uploads sits behind Pro. The Webheadcoder multi-step plugin dates from 2013 and accepts file uploads only on the final step. Contact Form to Any API allows up to 5 API connections free, charging $29.99/year for Pro.

It works. But each add-on is another plugin to update, from a different author.

The maintenance question

The plugin page mandates PHP 8.3 or higher. User reviews report that the floor jumped from 7.4 in the 6.1 release line (October 14, 2026), that an auto-update broke a site on PHP 8.0 (October 7, 2026), and that an update took down 5 of one agency's client sites (October 10, 2026). Those are user reviews rather than official statements from the maintainer, and I cannot verify how widespread the issue is.

The feature-freeze story is just as secondhand. WPForms (June 3, 2026) claims the author announced at WordCamp Asia 2026 that 6.2 is the final feature release, with a successor, Contactable.io, targeted for 2028. WPManageNinja (July 14, 2026) says bug fixes and security patches continue. Both are vendors selling competing plugins, so check the CF7 changelog and announcements yourself.

WordPress plugin alternatives

WPForms ranks itself first in its roundup of eight: WPForms, Formidable Forms, Gravity Forms, Fluent Forms, Ninja Forms, Forminator, WS Form and Jotform. Vendor rankings are commercial copy with the occasional useful detail. Here is a calmer assessment of the main names.

  • WPForms: over 6 million active installations per Ivy Forms, and 2.43% of WordPress sites in the GravityKit data. GravityKit adds that WPForms' steep 2024 drop looks more like a detection change than lost users.
  • Gravity Forms: 3.53% of WordPress sites. Ivy Forms points to it for lead capture with CRM sync and for payment or order forms, and notes it loads assets conditionally.
  • Fluent Forms: WPManageNinja describes 700,000+ installs. GravityKit shows 1.09% but only one data point, because it entered the detection library in the July 2026 crawl.
  • Ninja Forms: 0.45% in July 2026, a slow slide from 0.56% in July 2022.
  • Formidable Forms: roughly flat at 0.88%.
  • Forminator: Static Forms says it suits teams running lead-qualification forms, calculators and quiz-style intake from one interface, particularly inside the WPMU DEV ecosystem.
  • Jotform: a hosted builder you embed. If that appeals, read our Jotform alternatives post, and for conversational forms there is the Typeform one.

Market share figures track crawler detections, not user satisfaction. A plugin with a small share may still fit your stack better.

When staying on WordPress is the right call

If the rest of your site is happy on WordPress, swapping the form plugin is the smaller change. Editors who build forms in a visual interface, WooCommerce checkout, membership pages, a theme you like: none of that is a reason to leave. You can even keep CF7, upgrade PHP where your host supports it, and add a database plugin. The bigger question of whether the whole site should move is covered in WordPress alternatives in 2026, and the WordPress stack advisor can help you weigh it.

Form backends that work without WordPress

Without WordPress, you lose the plugin ecosystem. You need an endpoint that accepts a POST from plain HTML and handles the payload sensibly.

Netlify Forms

Netlify's setup docs describe form handling that requires no extra API calls or JavaScript. Enable form detection, add data-netlify="true" (or a netlify attribute) to the form tag, and Netlify parses your HTML at deploy time. Submissions then appear in the site admin panel.

The documented limits matter:

  • File uploads: one per field, an 8 MB maximum form request size and a 30-second timeout.
  • AJAX bodies must be URL-encoded. JSON form data is not supported at this time.
  • Notifications can go to email or an external service by HTTP POST, and there is a reCAPTCHA 2 integration.
  • Netlify recommends the Very Good Security integration for uploads containing PII.

There is one snag with modern frameworks: if client-side JavaScript or an SSR framework such as Next.js renders the form, the build scraper misses it. You must provide a hidden HTML form with matching input names so detection works.

Formspree

Formspree is host-agnostic. It claims compatibility with anything capable of sending an HTTP request, including Next.js, Astro, Hugo, Webflow and plain HTML. Submissions land in a Formspree inbox with export to CSV or JSON. Its documented feature list covers file uploads, auto responders, custom email templates, backend validation, email routing and API access. Spam filtering evaluates every submission, allows fine-tuning, and offers CAPTCHA options. It lists SOC 2 Type II, GDPR and CCPA. The 5 million submissions last month and 1 million+ users figures are self-reported.

Other hosted endpoints exist, such as Static Forms, which pitches itself as a no-backend option for any site. Read each provider's documentation for quotas, because storage, spam heuristics and file-upload caps differ far more than marketing claims suggest.

Writing your own: a server action or API endpoint

This route means your form posts to code you control. Two documented patterns cover most modern stacks.

In Next.js, Server Actions run on the server and bind to a form through the action attribute. The function receives a FormData object. The documentation warns you to verify authentication and authorisation inside every Server Action, suggests Zod or Valibot for server-side validation, and uses useActionState to surface validation errors.

In Astro, the forms recipe requires an adapter for on-demand rendering alongside a UI framework integration. You create a POST endpoint, the example uses /api/feedback , parse request.formData() and validate the values before use. Its own example checks only for missing fields and notes that you will probably want to do more.

When this is worth it

It pays off when submissions must go straight into your own database or CRM, when routing logic is unusual, or when you already run server code and one more endpoint costs little. It does not pay off for a plain contact form on a static site. You become responsible for spam filtering, email delivery, rate limiting, storage and retries. A hosted backend already bundles those. Be honest about whether you want that job.

The comparison table

Cells state "check vendor docs" where I am not citing a specific source for the detail. Free-tier entries reflect what the cited pages state, and no prices are listed beyond those sources.

AlternativeTypeWhere submissions are storedSpam protectionFile uploadsFree tier (as sources state)Best for
Contact Form 7WordPress pluginEmail only; database add-ons such as CFDB7 optionalAdd-ons (Ultra Addons lists a free Spam Protection add-on)Add-on; drag and drop multi-file is Pro in Ultra AddonsFree plugin on WordPress.orgSimple forms, markup-minded editors
WPFormsWordPress pluginCheck vendor docsCheck vendor docsCheck vendor docsLite version listed on WordPress.orgVisual builder, large install base
Gravity FormsWordPress pluginCheck vendor docsCheck vendor docsCheck vendor docsCheck vendor docsCRM sync, payment forms (per Ivy Forms)
Fluent FormsWordPress pluginCheck vendor docsCheck vendor docsCheck vendor docsCheck vendor docsVisual builder with more built in than CF7
Ninja FormsWordPress pluginCheck vendor docsCheck vendor docsCheck vendor docsCheck vendor docsSites already using it
Netlify FormsHost-bound backendNetlify site admin panelreCAPTCHA 2 integrationOne per field, 8 MB request, 30 s timeoutCheck Netlify's plan pageSites deployed on Netlify
FormspreeHosted backend, any siteFormspree inbox, CSV or JSON exportFiltering on every submission, tunable, CAPTCHA optionsListed featureCheck Formspree's pricing pageStatic or framework sites on any host
Own endpointCustom codeWherever you write itYou build itYou build itNot applicableCustom routing, own database

Moving forms during a site migration

The form is the part of a migration that fails silently. Pages load, nobody notices, and enquiries vanish for a week. Work through this list:

  1. List every form. Include footer forms, popup forms and any with conditional recipients.
  2. Map fields. Write down each CF7 field name (the mail-tags like [your-email]) against the new input name attributes. On Netlify, the hidden HTML form needs input names matching your JavaScript form exactly.
  3. Copy notification addresses. Check the To, CC and Reply-To values in each mail template, plus any autoresponder text.
  4. Carry spam rules across. Note CAPTCHA settings, honeypot fields and any blocked words. Then set the equivalent in the new tool, such as Formspree's tunable filtering or Netlify's reCAPTCHA 2 option.
  5. Export stored entries. If you used CFDB7 or the CRM Perks plugin, both export CSV. If you stored nothing, your old emails are the only record.
  6. Test before DNS changes. Submit every form on the new site at its temporary address. Check the email arrives, the entry is stored, the redirect works and an upload within the tool's limit goes through.

If you are weighing a broader move, our guide to leaving WordPress covers the architectural decisions, forms included.

Keep the old site's forms active until DNS propagation finishes and you have confirmed a live submission on the new setup. It is dry advice, but it works.

FAQ

Should I stop using Contact Form 7 right now?

Not automatically. Vendors claim bug fixes and security patches continue after 6.2, though that originates with WPManageNinja rather than the official plugin repository. The practical operational risks are the PHP 8.3 requirement and the lack of native entry storage. If your host runs a compatible PHP version and you have installed a database plugin, it can keep working.

Contact Form 7 vs WPForms: which is better?

That depends on who edits the form. CF7 suits people comfortable editing markup who want minimal overhead. WPForms suits teams that demand a visual builder, and Ivy Forms puts it at over 6 million active installations. Most WPForms-versus-CF7 comparisons are published by WPForms or direct competitors, so test both against your own form requirements.

What are the best Formspree alternatives?

Netlify Forms works well if you already deploy there, a hand-rolled endpoint in Next.js or Astro makes sense if you want submissions in your own database, and hosted endpoints like Static Forms cover static setups. Compare persistence, spam handling and upload limits in each provider's documentation.

Can I move old CF7 entries into a new tool?

Only if you stored them. CF7 sends email by default, meaning entries exist only in your inbox. With CFDB7 or the CRM Perks plugin you can export a CSV file, which most tools can ingest or at least archive.

Do I need a developer to switch?

For a WordPress plugin swap, usually not. For Netlify or Formspree you edit HTML and add an attribute or endpoint. A custom Server Action or Astro endpoint does need code.

Remember that Contact Form 7 stores nothing by default, so verify where submissions land before switching tools. Treat the feature-freeze claims with care as well, given they originate with competing vendors rather than the plugin's own release page.

this post in the tree

Need this done, not just read?

Discuss your website Book 30 minutes