§ 01
Short answer: which one should you pick?
splitforms is the right fit for almost everyone. It works on any host — Vercel, Cloudflare Pages, AWS, your own VPS, and yes, Netlify too. The free tier is 1,000 submissions/month vs Netlify Forms' 100, the dashboard has real search and filtering, and the per-submission cost at the paid tier is roughly 20x cheaper. The only reason to stay on Netlify Forms is if your site is permanently committed to Netlify hosting and you specifically want forms bundled with the host.
The structural problem with Netlify Forms is portability: the moment you move hosts — to Vercel, Cloudflare, your own server, anywhere — your forms break. splitforms is host-agnostic. The action URL works the same regardless of where the page is served, which means moving hosts in the future doesn't touch your form layer at all.
§ 02
Why developers switch from Netlify Forms to splitforms
The most common trigger is host migration. A team decides to move from Netlify to Vercel or Cloudflare for performance, pricing, or deployment-feature reasons — and discovers Netlify Forms doesn't follow them. Every form has to be rewritten to point at a new backend during the migration. splitforms removes this entirely: the form action URL is host-independent, so moving hosts is a deploy-config change, not a forms-rewrite project.
The second trigger is the dashboard. Netlify's submissions panel is functional but minimal — limited filtering, no in-product search, exports require API calls. splitforms ships a real submission inspector: search by content, filter by date or form, export to CSV, re-deliver any submission to a webhook on demand.
The third trigger is overage cost. Netlify charges $19/mo for an additional 1,000 submissions on top of the free tier. splitforms gives you 5,000 submissions for $5/mo — roughly 20x cheaper per submission once you're past the free tier ceiling.
§ 03
Netlify Forms vs splitforms: feature comparison
Host requirement: splitforms works on any host. Netlify Forms only works on Netlify-hosted sites.
Free tier: splitforms 1,000 submissions/month with full features. Netlify Forms 100 submissions/month per site, dashboard included.
Paid tier pricing: splitforms $5/mo for 5,000 submissions. Netlify Forms $19/mo for 1,000 additional submissions.
Dashboard: splitforms has search, filtering by form and date, CSV export, and per-submission webhook re-delivery. Netlify's submissions UI is minimal.
Webhooks: splitforms includes signed webhooks with retries on every plan including free. Netlify supports outgoing notifications but the surrounding observability is thinner.
Spam protection: splitforms uses AI classification plus honeypot. Netlify uses honeypot plus reCAPTCHA, which adds user friction.
API: splitforms ships an open REST API and MCP server on every plan. Netlify Forms exposes a basic submissions API tied to your Netlify account.
§ 04
Common Netlify Forms issues splitforms solves
"We're moving off Netlify and our forms are about to break." splitforms' action URL is host-independent. Move hosts whenever you want; the forms keep working without changes.
"I need to search through past submissions and Netlify's UI doesn't support it." splitforms ships full search, date filtering, per-form filtering, and CSV export.
"The 100-submission free tier is too tight for our small business contact form." splitforms' free tier is 1,000 submissions/month with full feature parity.
"$19/mo for an extra 1,000 submissions is steep." splitforms is $5/mo for 5,000 submissions — roughly 20x cheaper per submission.
"I want to drive form submissions from a Claude or Cursor agent." splitforms ships an MCP server natively.
§ 05
splitforms advantages over Netlify Forms
Host portability is the headline. splitforms is the form backend you can point at from Netlify today, Vercel tomorrow, Cloudflare next year, your own server after that — without touching the form. For any team that thinks of hosting as a tradeable layer, this is a structural win.
Real dashboard. Search submissions by content, filter by date range and form, export to CSV with one click, re-deliver any submission to a webhook on demand. Netlify's submissions UI doesn't reach this level even on paid plans.
Better economics. The free tier is 5x larger; the paid tier is roughly 20x cheaper per submission at meaningful volumes.
Signed webhooks with retries on every plan, including free. Netlify supports outgoing notifications but doesn't ship the same observability surface.
AI spam classifier on top of honeypot. You can drop reCAPTCHA entirely and stop forcing users through image puzzles.
MCP server for AI agents — Claude and Cursor can read and act on form data natively, no custom integration required.
§ 06
How to migrate from Netlify Forms to splitforms
Step 1: get a splitforms access key (free, no credit card). Step 2: in your form HTML, remove the `netlify` attribute and add `action="https://splitforms.com/api/submit/YOUR_KEY"` and `method="POST"`. Step 3: deploy and submit a test entry, confirm it lands in your inbox and the splitforms dashboard.
If you've been relying on Netlify's bot-field honeypot, splitforms includes equivalent honeypot protection out of the box plus an AI classifier on top. Past submissions stay in your Netlify dashboard for as long as you keep your Netlify account active; splitforms starts collecting from the moment you switch. There's no need to rewrite anything else — field names, validation, redirect URLs, and CC recipients all transfer one-to-one.
§ 07
Real-world migration: a developer's 30-minute walkthrough
Day 1, minute zero: `grep -rn 'netlify\|data-netlify\|netlify-honeypot' .` across your repo. You'll find the magic attributes scattered across `index.html`, `src/pages/contact.astro`, or `app/contact/page.tsx` depending on your stack — `<form name="contact" netlify netlify-honeypot="bot-field" action="/thanks">`. The Netlify Forms convention is wholly attribute-driven, so the migration is mostly attribute deletion. Open a `splitforms-migration` branch, strip the `netlify`, `data-netlify`, and `netlify-honeypot` attributes off each form, then add `method="POST"` and `action="https://splitforms.com/api/submit/${import.meta.env.PUBLIC_SPLITFORMS_KEY}"` (or `process.env.NEXT_PUBLIC_SPLITFORMS_KEY` for Next.js). Set the env var in your `.env` and in your host's env settings — Vercel, Cloudflare Pages, or even Netlify itself, since splitforms is host-agnostic and works fine if you're staying on Netlify.
Minute fifteen: push the branch and let your host build a deploy preview. Submit a test entry from the preview URL, confirm it lands in the splitforms dashboard with the right field values and any file attachments. Now run shadow mode: in your form handler add a `Promise.allSettled([fetch('/', {method:'POST', body:formData}), fetch(splitformsUrl, {method:'POST', body:formData})])` so Netlify's built-in form handler and splitforms both receive every submission for 24 hours. Compare counts in Netlify's submissions panel against the splitforms dashboard — they should match. The splitforms dashboard's search and CSV-export surfaces will immediately make Netlify's minimal submissions UI feel cramped.
Day 2: remove the duplicate Netlify post, redeploy, watch a full day of real production traffic flow through splitforms only. Once you're confident, you can leave the Netlify Forms feature toggled off in your `netlify.toml` or just stop using the attributes — Netlify won't try to capture forms that don't have the `netlify` attribute anymore. Splitforms's free tier (1,000/mo, unlimited forms, full dashboard, webhooks) covers the entire cutover at zero cost, and the resulting forms keep working unchanged the day you eventually move off Netlify hosting.
§ 08
When NOT to switch to splitforms (honest take)
If you're 100% on Netlify hosting, you have no plans to leave Netlify in the next several years, and your traffic stays well under the 100-submissions-per-site free tier, Netlify Forms is one less third-party dependency to manage. The forms come bundled with the host, the configuration is a single `netlify` HTML attribute, the submissions panel is in the same dashboard you already log into for deploy logs, and there's no separate vendor relationship, separate billing line, or separate access key to rotate. For a personal site with a contact form that gets ten messages a month, splitforms's larger free tier and richer dashboard genuinely don't matter — you'd be adding a vendor for no operational gain.
Same answer if you're at a company that's deeply committed to the Netlify platform — using Netlify Functions, Netlify Identity, Netlify Edge, and the Forms feature as part of an integrated stack — and your procurement team has already cleared Netlify as a vendor. Adding splitforms means a fresh vendor review, a new DPA, a new line item, and a new credential to manage. Unless you're hitting the submission overage cliff (where Netlify's $19/mo for 1,000 submissions actually starts hurting), the integration story keeps you on Netlify Forms.
And if your forms are part of a Jamstack starter template you publish for others, Netlify Forms is the most copy-pasteable option — readers don't need to sign up for a new service to make the template work, just connect to Netlify. Splitforms requires an access key, which is friction for tutorial readers.
§ 09
Frequently asked questions
Will splitforms work on a site I host on Netlify? Yes — splitforms works on any host, including Netlify. You just remove the `netlify` attribute and add a standard form action URL.
What if I move from Netlify to Vercel later? Nothing changes for your forms. The splitforms action URL is host-independent.
How does the spam protection compare to Netlify's reCAPTCHA setup? splitforms uses AI classification plus honeypot, which is accurate enough that you can drop reCAPTCHA and stop punishing legitimate users with image puzzles.
Does splitforms support file uploads? Yes, on every plan including free.
Is there a per-site cap like Netlify's 100/site free tier? No — splitforms' 1,000-submission free tier is per-account, not per-site, and there are no per-form limits.
Does splitforms have a one-time payment plan? Yes — $59 for the 4-Year plan at 15,000 submissions/month for 48 months.