splitforms.com

SplitForms vs Contact Form 7

Contact Form 7 alternative: your own HTML form, one endpoint

Contact Form 7 Free: Free forever (WordPress.org plugin, no paid tier). splitforms Free: 500 submissions with no card and no time limit, on unlimited forms; Pro is $5/month for 5,000 submissions a month with signed webhooks. Switching means rebuilding the form as your own HTML and pointing it at splitforms.

  • 500 free submissions
  • $5/mo Pro
  • 10 min to migrate

splitforms or Contact Form 7

Short answer: which one should you pick?

Contact Form 7 is genuinely one of the longest-running free contact form options on the web. Maintained continuously since 2007, it ships the form markup and the mail-sending logic, runs entirely inside WordPress, and costs nothing. For a WordPress site owner who wants a free contact form, is comfortable bolting on a separate SMTP plugin for deliverability, a separate storage plugin for submissions, and a separate anti-spam plugin for spam, Contact Form 7 is the lightweight, no-cost baseline.

splitforms is the right pick when you want the backend handled. The free tier is 500 submissions total with a real dashboard, smart spam filtering, and owner email notifications — all built in, no plugins to install, no PHP version compatibility to worry about. And splitforms works on any host, not just WordPress, which means moving off WordPress (or running a mix of WordPress and non-WordPress sites) doesn't break your forms.

Feature-by-feature comparison

How does splitforms compare to Contact Form 7?

A side-by-side look at the details developers actually care about when comparing splitforms and Contact Form 7.

FeaturesplitformsContact Form 7
Free tier500 submissions, no card, no time limit, unlimited formsFree forever (WordPress.org plugin, no paid tier)
Cheapest paid plan$5/mo Pro (5,000/mo) or $49/yr Annual (15,000/mo)Free (no paid tier — costs are companion plugins for storage, SMTP, anti-spam)
Submission dashboardYes, with search & exportYes
Webhook deliverySigned with HMAC-SHA256 (sha256= signature header); 8-second timeout; one automatic retry after about 2 seconds on network errors, timeouts and 5xx responses (4xx is not retried); delivery log in the dashboard. Paid plans (Pro and Annual).Yes
File uploadsPaid plans: 5 files at 5 MB each (500 MB on Pro, 5 GB on Annual)Yes (often paid)
Spam protectionHoneypot, time-trap, rate limits + automatic spam scoringHoneypot / CAPTCHA
Host requirementNone — works anywhereNone

Pricing checked July 11, 2026. Source: Contact Form 7's pricing page.

Honest take

When should you stay with Contact Form 7?

If you're already running a stable Contact Form 7 + Flamingo + WP Mail SMTP + Akismet stack on a WordPress site, the migration cost outweighs the benefit. The stack works, it's free, and the maintenance burden — once you've configured it — is low. Switching to splitforms means rebuilding the form markup in HTML, migrating any Flamingo data you care about, and re-configuring notification templates in a new dashboard.

Same answer if you specifically need to keep everything inside WordPress for security or compliance reasons — form data in your WordPress database, no third-party vendor with access to submission data, no external API surface. Contact Form 7 plus Flamingo keeps your submission data entirely inside your WordPress install's security perimeter. That's a real architectural choice for some buyers.

And if you're a hobby developer with a single WordPress site and a low-traffic contact form, Contact Form 7 is genuinely the simplest free option. The setup is one plugin install and one shortcode; no account, no dashboard, no external vendor. The friction tax of creating a splitforms account (no credit card, but you do need an email and a password) isn't worth paying for a form that gets two messages a month.

Leave Contact Form 7 in about 10 minutes

How switching works

Contact Form 7 hosts the form for you, so switching means rebuilding it as your own HTML form. After that, the markup, field names and styling are yours.

Get a free access key

Sign up at splitforms.com — no credit card. Copy your key from the dashboard.

Rebuild the form in HTML

Recreate your Contact Form 7 fields as an HTML form on your own page, point its action at https://splitforms.com/api/submit and add a hidden access_key field.

Test, then cut over

Send a test entry, confirm it reaches your inbox and dashboard, then replace the Contact Form 7 embed.

Where submissions go

Every submission lands in your inbox and a searchable dashboard on every plan, including Free. Paid plans add webhooks and integrations:

AI agents can manage forms through the splitforms MCP server, included on every plan.

What it costs

  • Free$0500 submissions total, no card, no time limit, unlimited forms
  • Pro$5/month5,000 submissions a month, every paid feature
  • Annual$49/year (about $4.08/mo)15,000 submissions a month, every Pro feature

Get started in minutes

Ship your first form without the setup tax.

Drop one endpoint into the HTML you already have and submissions start flowing — no backend to host, no SDK to install, no lengthy onboarding. Point your form, hit submit, and watch the entries land.

  • Works with any stack — plain HTML, React, Vue, or static sites
  • 500 free submissions total, no credit card
  • Live in less time than it takes to read the Contact Form 7 pricing page
Try SplitForms Free
Launching a form with splitforms instead of Contact Form 7
splitforms submission dashboard with live analytics and spam protection

See everything

One dashboard for every submission.

Search, filter, and export every entry, watch your analytics update live, and let the built-in spam shield drop junk before it ever reaches your inbox — all in one clean control room.

  • Real-time entries with search, filters, and CSV export
  • Automatic spam filtering, on by default
  • Included on the free plan — not a paid upgrade

Where your leads go

Route every lead to the tools you already use.

Forward submissions to email, Google Sheets, your CRM, or any webhook the moment they arrive. When you move off Contact Form 7, your leads keep landing exactly where your team expects them — nothing to re-wire.

  • Email, Sheets, CRM, and webhook delivery built in
  • Connect the stack you have without extra middleware
  • Same fields, same field names — migrate without a rewrite
Routing form leads to email, Sheets, CRM and webhooks after leaving Contact Form 7

Common questions

Frequently asked questions.

View all FAQs
Is splitforms a real Contact Form 7 alternative?

Yes. splitforms handles the same core jobs as Contact Form 7: a POST endpoint, email delivery, a submission dashboard, webhooks, and spam filtering. Contact Form 7's free plan: free forever (WordPress.org plugin, no paid tier). splitforms Free is 500 submissions with no card and no time limit, on unlimited forms; for webhooks and exports, splitforms Pro is $5/month.

How long does it take to migrate from Contact Form 7?

Contact Form 7 is a hosted form builder, so migration requires rebuilding the form as HTML or in your framework, mapping the existing fields, then testing the new endpoint. It is not only an action-URL swap.

Does splitforms support the same features as Contact Form 7?

splitforms includes email delivery, a searchable dashboard, HMAC-signed webhooks on paid plans (8-second timeout, one automatic retry on network errors, timeouts and 5xx responses), storage-backed file uploads on eligible plans, custom redirects on every plan, smart spam filtering, and a documented REST API. Contact Form 7-specific features like genuinely free forever — no paid tier, no upgrade pressure, no upsells may need an integration.

What does splitforms cost compared to Contact Form 7?

splitforms is free for 500 submissions total with no card; paid plans are $5/mo Pro (5,000 submissions/month) and $49/year Annual (15,000 submissions/month, about $4.08/mo). At full use that is $1.00 per 1,000 submissions on Pro and $0.27 on Annual. Contact Form 7 starts at Free (no paid tier — costs are companion plugins for storage, SMTP, anti-spam). Verify both pricing pages because allowances can change.

Will my existing Contact Form 7 forms break if I switch?

The existing Contact Form 7 form will not automatically become a splitforms form. Rebuild its fields in HTML or your framework, preserve the validation and styling you need, then test before replacing the hosted form.

Does splitforms have a yearly plan?

Yes — the Annual plan is $49/year (about $4.08/mo) for 15,000 submissions/month with every Pro feature, billed once a year. Check Contact Form 7's current pricing page before comparing billing terms.

Is splitforms a good fit for wordpress site owners who want a free, lightweight contact form and are fine bolting on their own smtp, storage, and anti-spam plugins?

splitforms is built for developers shipping production sites — static sites, SaaS landing pages, JAMstack apps, and agency client work. For wordpress site owners who want a free, lightweight contact form and are fine bolting on their own smtp, storage, and anti-spam plugins, the deciding factor is usually whether genuinely free forever — no paid tier, no upgrade pressure, no upsells matters to you; if it does, keep Contact Form 7 in the mix. Otherwise splitforms is the endpoint-driven option.

Deep dive

The full picture, no fluff.

Short, honest answers on pricing, migration, and why teams move from Contact Form 7 to splitforms.

01

Why developers switch from Contact Form 7 to splitforms

The most common trigger is the missing submission storage. Contact Form 7 by default sends an email and forgets — there's no submissions table, no audit trail, no way to search or export. The standard workaround is the companion Flamingo plugin (also by the same author), which stores submissions in the WordPress database. That works, but it's another plugin to install, another update to track, and another piece of WordPress infrastructure to maintain. splitforms ships a real submission dashboard with search and filter on every plan, including free, plus CSV export on paid plans (no automatic expiry on any plan).

The second trigger is deliverability. Contact Form 7 sends mail via `wp_mail()`, which by default uses PHP `mail()` — one of the worst-rated email delivery paths on the modern web, with high spam-folder rates. The standard workaround is the WP Mail SMTP plugin (or similar), which lets you route mail through a real SMTP provider. That works, but again it's another plugin. splitforms saves accepted submissions before attempting owner notification email; delivery time and inbox placement depend on the provider and recipient settings.

The third trigger is host lock-in. Contact Form 7 only runs on WordPress. If you ever want to move a site to Next.js, Astro, or a static site, your forms break. splitforms is host-agnostic — the form action URL works the same regardless of where the page is served.

The fourth trigger is wanting real integrations. Contact Form 7 doesn't ship webhooks. Routing a submission to Slack, a CRM, or an AI agent requires yet another add-on plugin (often paid). splitforms ships HMAC-SHA256 signed webhooks (one retry after ~2s on network errors, timeouts and 5xx; not on 4xx; 8-second timeout) on paid plans, plus an open REST API and MCP server on every plan including free.

02

Contact Form 7 vs splitforms: feature comparison

Price
Contact Form 7 is free forever. splitforms is free for 500 submissions total, $5/mo for 5,000, or $49/year for 15,000/month on the Annual plan. For pure $0 cost on a WordPress site, Contact Form 7 wins.
Host requirement
splitforms works on any host. Contact Form 7 only works on WordPress-hosted sites.
Submission storage
splitforms stores every submission in a dedicated backend with search and filter on every plan (no automatic expiry on any plan), and CSV export on paid plans. Contact Form 7 stores nothing by default — you need the Flamingo companion plugin to keep submissions in your WordPress database.
Notifications
SplitForms saves accepted submissions before attempting owner notification email. Contact Form 7 uses `wp_mail()` / PHP `mail()` by default, which has poor deliverability without a separate SMTP plugin.
Spam protection
splitforms uses a smart spam filter on top of honeypot. Contact Form 7 needs Akismet or reCAPTCHA add-ons for spam filtering.
Webhooks
splitforms unlocks HMAC-SHA256 signed webhooks (one retry after ~2s on network errors, timeouts and 5xx; not on 4xx; 8-second timeout) on paid plans. Contact Form 7 has no webhook support without add-on plugins.
API
splitforms ships an open REST API and MCP server on every plan. Contact Form 7 has no documented public REST API for submissions; you're querying the WordPress database directly via Flamingo or another storage add-on.
Maintenance
splitforms is fully managed — no plugin updates, no PHP version compatibility, no WordPress security perimeter. Contact Form 7 plus its companion plugins (Flamingo, WP Mail SMTP, Akismet, reCAPTCHA) is a multi-plugin stack you maintain inside WordPress.
03

Common Contact Form 7 issues splitforms solves

  • “A submission disappeared and I have no record of it.”

    splitforms stores every submission in its dashboard (no automatic expiry on any plan). Contact Form 7 by default sends an email and forgets.

  • “My contact-form emails are landing in spam because PHP `mail()` is unreliable.”

    splitforms uses owner email notifications out of the box.

  • “I'm getting flooded with bot submissions.”

    splitforms runs every submission through smart spam filtering: automatic, rule-based scoring of content signals such as links, spam phrases and disposable email addresses.

  • “I need submissions in my CRM via webhook.”

    splitforms includes HMAC-SHA256 signed webhooks (one retry after ~2s on network errors, timeouts and 5xx; not on 4xx; 8-second timeout) on paid plans. Contact Form 7 needs add-on plugins for any webhook delivery.

  • “I want a real dashboard to search and export submissions.”

    splitforms ships one on every plan. Contact Form 7 needs the Flamingo companion plugin, and even then the search and export surface is thinner.

  • “I want to move off WordPress and my forms are stuck.”

    splitforms is host-agnostic. Move to Next.js, Astro, or a static site whenever you want; the forms keep working without changes.

  • “I want to drive form submissions from a Claude or Cursor agent.”

    splitforms ships an MCP server natively. Contact Form 7 has no equivalent.

04

When 'free forever' actually costs you

Contact Form 7 is genuinely free, and that's hard to argue with. The honest cost calculation is in the surrounding stack: to get anywhere near splitforms's feature surface, you need Flamingo (storage), WP Mail SMTP (deliverability), Akismet or reCAPTCHA (spam), and a webhook add-on (integrations). Each plugin is its own update cycle, its own PHP-compatibility constraint, its own potential security surface, and its own debugging path when something breaks.

splitforms's free tier is also $0 — 500 submissions total with a real dashboard, smart spam filtering, and owner email notifications. For a WordPress site owner who's already paying for premium SMTP service, premium anti-spam, and premium storage plugins, the question isn't 'free vs paid' — it's 'free plus four plugins plus maintenance burden' vs 'free plus a single managed backend.'

The honest test: if you've already installed Flamingo, WP Mail SMTP, and Akismet on top of Contact Form 7, you've effectively rebuilt the bottom half of splitforms inside WordPress. The question is whether you'd rather maintain that stack or have it managed for you.

05

How to migrate from Contact Form 7 to splitforms

Step 1: sign up at splitforms.com for a free access key — no credit card required. Step 2: replace the Contact Form 7 shortcode (`[contact-form-7 id="123" title="Contact form 1"]`) with a real HTML form on the page. For each Contact Form 7 field tag (`[text* your-name]`, `[email* your-email]`, `[textarea your-message]`), write a corresponding `<input>` or `<textarea>` inside `<form action="https://splitforms.com/api/submit" method="POST">`. Step 3: submit a test entry and confirm it lands in the splitforms dashboard.

Past submissions stored in Flamingo stay in your WordPress database for as long as you keep the plugin installed; splitforms starts collecting from the moment you switch. If you want to backfill historical submissions, the open REST API accepts server-to-server POSTs so you can replay your Flamingo export through a small migration script.

If you were using Contact Form 7's mail-tags templating for the notification email subject or body, the splitforms equivalents are configured in the dashboard rather than in shortcode markup. Existing field names (your-name, your-email, your-message) carry over unchanged.

06

Frequently asked questions

Is splitforms a true Contact Form 7 alternative? For the backend layer — POST endpoint, submission storage, dashboard, webhooks, spam filtering, file uploads, notifications — yes, with a real dedicated backend and an open API. Contact Form 7 ships the form markup and mail logic, but you bring your own SMTP, storage, and spam stack.

Does splitforms work inside WordPress? Yes — splitforms is just an HTML form action. You can use it inside a WordPress page via the HTML block, or outside WordPress entirely. The form action URL is host-agnostic.

Will my Contact Form 7 submissions carry over? By default Contact Form 7 doesn't store submissions — it sends an email and forgets. If you've been using Flamingo for storage, that data stays in your WordPress database; splitforms starts collecting from the moment you switch. You can backfill historical data through the open REST API.

Does splitforms require an SMTP plugin? No. splitforms uses owner email notifications out of the box. No WP Mail SMTP plugin required.

What about Akismet for spam? splitforms uses smart spam filtering instead: rule-based scoring of links, spam phrases, disposable addresses and suspicious domains, on top of a honeypot and a time-trap. Flagged submissions wait in a Spam folder you can review.

Is there a yearly plan? Yes. Annual is $49/year for 15,000 submissions/month with every Pro feature, about $4.08/month.