Comparison
A Contact Form 7 alternative for when the mail never arrives
Contact Form 7 is a free WordPress plugin that turns a form into an email sent by your own site. WebForms takes the form handling out of WordPress: the submission is stored first and then delivered, wherever the site is hosted.
Most people searching for a Contact Form 7 alternative want another WordPress plugin, and if that is you, a plugin such as WPForms is the better next step: WebForms is not a plugin. This page is for the other cases: a headless or static WordPress front end, notification emails that keep going missing, or wanting every submission stored and sent to Slack or a webhook without adding more plugins.
Contact Form 7 is free, open source and, according to WordPress.org, active on more than 10 million sites. You build a form from tags in the WordPress admin, drop it into a page, and when someone submits it the plugin hands the message to WordPress's own wp_mail() function to send. It does what it says, and if your site already sends mail reliably there is little reason to replace it.
Two things catch people out. Its own documentation says Contact Form 7 does not store submitted messages anywhere, and recommends installing Flamingo, a separate plugin, before a mail problem loses one. And because mail goes out through wp_mail(), delivery is only as good as your host or SMTP setup. WordPress uses PHP's mail function by default, and WPForms' documentation names a host that is not configured for it as the most common reason form emails never arrive. The usual fix is another plugin to send through an SMTP service.
WebForms is not a plugin. The form is plain HTML in a Custom HTML block, or in your headless front end, posting to an endpoint. Every submission is stored before anything is sent, spam is filtered without a captcha, and the email is sent by WebForms rather than your web server. On paid plans the same submission can also go to Slack, Discord, Telegram and webhooks, routed by what was entered, with every delivery attempt logged.
When to stay with Contact Form 7
Switching has a real cost. These are the cases where we would not bother.
- You want a free, open-source plugin with no account or outside service. Contact Form 7 runs entirely inside your WordPress install and costs nothing.
- Your site already sends mail reliably through an SMTP plugin, and an email is all a form needs. Contact Form 7 is doing the job, and switching gains you little.
- You want submissions kept in your own WordPress database. Flamingo, from the same author, stores them there; WebForms stores them on its own servers for a period set by your plan.
- You use its built-in modules, such as the Stripe and Brevo integrations or Akismet filtering, and they cover what you need.
- You want a dropdown that picks which address receives the email, with no account anywhere. Contact Form 7's pipes do that; WebForms does it with routing rules on paid plans.
WebForms vs Contact Form 7
Capability by capability, then their published prices. Anything we quote for Contact Form 7 was read off their own pricing page on the date shown, but prices change, so check their pricing directly before deciding.
| Capability | WebForms | Contact Form 7 |
|---|---|---|
| What it is | A form backend outside WordPress. The form posts to an endpoint. | A free, open-source WordPress plugin. Forms are built from tags in the WordPress admin. |
| Where it runs | Any site: classic, headless or static WordPress, or no CMS at all. | Inside a WordPress install. The current release needs WordPress 7.1 and PHP 8.3 or newer. |
| How email is sent | WebForms sends it, independent of your web host, with the visitor in Reply-To when the form sends a _replyto field. | Handed to WordPress's wp_mail(), so delivery depends on your host or an SMTP plugin. |
| Stored submissions | Every submission stored, searchable and exportable as CSV or JSON. Kept 30 days on Free, 180 on Pro, 365 on Agency. | Not stored. Its docs recommend the separate Flamingo plugin to save messages in the WordPress database. |
| Destinations | Email on Free. Email, Slack, Discord, Telegram, webhooks and Zapier on paid plans. | Email, plus Brevo and Stripe integrations. Slack and webhook delivery are not documented features. |
| Choosing the recipient | Routing rules on any field value, sending to any destination, on paid plans. | A select field can choose the recipient email address, using pipes. |
| Delivery visibility | Per-destination log of every attempt, with status and response. | Not a documented feature. |
| Spam filtering | Honeypot, time trap, rate limits, domain lock and an AI classifier on every plan, with nothing to install. | Modules for Akismet, reCAPTCHA v3, Cloudflare Turnstile, a quiz field, Really Simple CAPTCHA and a disallowed list, each set up separately. |
| File uploads | On paid plans, kept with the stored submission. | File upload fields, sent as email attachments. |
| Upkeep | Nothing to install or update on your site. | A plugin to keep updated with WordPress and PHP. Version 6.2 raised its PHP requirement to 8.3. |
| Cost | Free plan, then paid plans by submission volume. | Free and open source. |
Moving from Contact Form 7
Keep what you have
Contact Form 7 keeps no copy of past messages. If Flamingo has been saving them, leave it installed until you have everything you need from it.
Create a form and copy the endpoint
Sign up, add a form and copy its endpoint URL. The free plan needs no card.
Replace the shortcode with plain HTML
Add a Custom HTML block where the shortcode was and paste a form with the same fields, its action set to your endpoint. Your theme's form styles still apply. On a headless front end, put the same form in your framework's markup.
Add destinations, test, then deactivate
Add an email destination, plus Slack, Discord, Telegram or a webhook on a paid plan. Send one real submission, check the dashboard and the delivery log, then deactivate Contact Form 7.
Want the field-by-field version? See the WordPress setup guide, with a Custom HTML block and a shortcode
Try it without deciding anything
The free plan includes 300 submissions a month, unlimited forms, email delivery, stored submissions and spam filtering, with no card required and no expiry. Point one form at it and keep Contact Form 7 running on the others until you are convinced.
Questions
Yes. WebForms is a form backend, not a plugin: a plain HTML form in a Custom HTML block posts to an endpoint, and nothing runs in WordPress when someone submits. If you would rather have another plugin, WPForms is a common choice and we compare it separately.
Contact Form 7 hands each message to WordPress's wp_mail(), and WordPress uses PHP's mail function unless an SMTP plugin changes that. If the host is not set up to send mail properly, messages are refused or land in spam, and because Contact Form 7 stores nothing by default, they are simply gone. An SMTP plugin fixes the sending; a form backend takes WordPress out of the path.
Yes. The endpoint does not care where the form is rendered: a Next.js or Astro front end, a static export of a WordPress site, or the WordPress theme itself. Contact Form 7 needs a running WordPress install to process each submission.
Yes. The form is ordinary HTML, so your theme's form styles apply to it as they would to any other form.
Yes, and it is not a trial: 300 submissions a month by email, stored and spam-filtered, with no card required.
Other comparisons
- Web3Forms alternativeKeep the access-key simplicity. Add routing, more destinations and a delivery log.
- Formspree alternativeThe same no-backend model, with delivery you can actually inspect.
- Formspark alternativeA monthly plan instead of a submission bundle you have to keep buying.
- Basin alternativeThe same no-code form backend, minus the AI-site upsell you may not want.
- Formkeep alternativeOne plan, unlimited forms, no per-form add-on fee.
- Formcarry alternativeUnlimited forms and multi-destination fan-out, with a delivery log to check.
- KwesForms alternativeSkip the validation framework. Get routing and a delivery log instead.
- Slapform alternativeA flat quota, not a per-submission meter once you are past it.
- FormBackend alternativeThe same endpoint model, with routing and more places to notify at once.
- FormBucket alternativeTiered plans and more destinations, instead of one flat unlimited price.
- FormSubmit alternativeKeep the zero-signup simplicity for a quick form. Add a dashboard when you outgrow it.
- Netlify Forms alternativeThe convenience of built-in forms, without tying your form backend to your host.
- Typeform alternativeKeep Typeform for the interface. Get more destinations and a delivery log for what it collects.
- Jotform alternativeKeep the builder if you want it. Get more destinations and a delivery log for what it collects.
- SurveyMonkey alternativeA survey tool with research-grade analysis, versus a lightweight backend for a form you already built.
- Wufoo alternativeOne of the oldest form builders, with pricing to match. A lighter backend for a form you already have.
- Paperform alternativeA document-style builder with e-commerce built in, versus a backend for a form you already have.
- Tally alternativeUnlimited free forms is hard to beat. A delivery log and routing rules are what it doesn't have.
- Cognito Forms alternativeWorkflow and approvals are real Cognito Forms features. Routing to five destinations at once is ours.
- Zoho Forms alternativeDeep CRM and Zoho-suite integration, versus a standalone backend that isn't tied to a bigger platform.
- Google Forms alternativeFree is hard to beat. Routing to more than a spreadsheet is what it doesn't do.
- Microsoft Forms alternativeBundled free into Microsoft 365. Routing and a delivery log are what it doesn't do.
- Getform alternativeForm endpoints with routing rules and a delivery log on every send.
- EmailJS alternativeKeep the no-backend contact form. Drop the SDK and keep every submission.
- splitforms alternativeA free tier that resets monthly, an AI spam classifier, and a log of every delivery attempt.
- WPForms alternativeFor a form that does not need to be built inside WordPress, or a yearly licence per site.