SimpleForm is a hosted form backend that receives submissions from any HTML form and works the same no matter which company hosts your site. That matters the moment you leave Netlify, because Netlify Forms is not a standalone form service — it is a build-time feature. Netlify's build process scans your HTML for a special attribute at deploy time and wires up a hidden endpoint behind the scenes, and only Netlify's own infrastructure can process what that endpoint receives. Move your static site to Cloudflare Pages, GitHub Pages, Vercel, or your own server, and every contact form built on it silently stops delivering mail. There is no error in the browser and no failed build. The form just stops working, and you usually find out when a customer mentions they never heard back.
Why Does a Contact Form Break When You Leave Netlify?
Netlify Forms hooks into Netlify's build pipeline, not into your HTML in a portable way. The data-netlify="true" attribute and the hidden duplicate form Netlify injects during deploy only mean something on Netlify's own servers, so the identical markup does nothing once the site is built and served anywhere else.
This catches teams off guard because nothing in the deploy process flags it. The build succeeds, the site loads, the form renders and submits without a console error — it simply has nowhere to send the data, because the backend that used to process it belonged to the old host, not to the form itself.
What Are Your Options for a Host-Independent Form Backend?
Three real options exist once you decide to stop depending on your host for form processing: keep a host-locked feature and accept being stuck if you ever move again, write and operate a small server or serverless function yourself, or point your existing form at a dedicated form backend service.
| Approach | Works after a host change | Setup effort | Who maintains it |
|---|---|---|---|
| Netlify Forms | No — tied to Netlify's build pipeline | None, built in | Netlify, only on Netlify |
| Custom server or serverless function | Yes | Write, deploy, and secure the endpoint yourself | You, indefinitely |
| SimpleForm | Yes — one endpoint URL, host-agnostic | Change one form attribute | SimpleForm |
Writing a custom endpoint is the option that looks free right up until the first time you have to patch a dependency, rotate a mail API key, or debug why a submission silently failed at 2am. That maintenance tax is exactly what a dedicated form backend like SimpleForm's endpoint is built to remove — you get a stable URL and never touch server code again.
How Do You Migrate a Netlify Forms Setup to SimpleForm?
The migration touches only your HTML, not your design or your hosting setup. Here is the full sequence:
- Create a free SimpleForm account and add a form to get a unique endpoint such as
https://simpleform.dev/f/abc123. - Open the HTML file with your contact form and remove the
netlifyanddata-netlify="true"attributes from the<form>tag. - Set the form's
actionattribute to your new SimpleForm endpoint URL and confirm themethodisPOST. - Remove any Netlify-specific hidden honeypot field; SimpleForm supplies its own spam protection automatically once the endpoint is live.
- Redeploy the site on its new host.
- Submit a real test entry and confirm it arrives in your inbox and appears in the SimpleForm dashboard within a few seconds.
- If you relied on Netlify's Slack or email notifications, recreate that alert as a SimpleForm webhook pointed at the same Slack or Discord channel.
Nothing about your form's fields, labels, or styling changes. The only edits are to the two attributes that told the browser where to send the data.
What About Spam Protection After the Move?
Every SimpleForm endpoint includes a hidden honeypot field and IP-based rate limiting out of the box, capped at 10 submissions per IP address per hour per endpoint, so you are not trading Netlify's spam filtering for nothing. Pro and Agency plans add optional Google reCAPTCHA v3 using your own site key if the honeypot alone lets through more than you want.
Submission limits work the same way across every plan: go over your monthly quota and new submissions return an HTTP 402 response instead of being emailed or stored, while everything under the limit keeps working normally and the count resets on the first of the following month.
What Happens to File Uploads and Data Retention After You Switch?
Netlify Forms lets you attach file uploads through the same build-detected form, and that capability disappears along with everything else the moment you leave Netlify. SimpleForm keeps file uploads working independently of your host: Pro plans accept attachments up to 5MB per file, and Agency raises that ceiling to 25MB per file, with everything stored and downloadable from your own dashboard rather than tucked into a host-specific admin panel you no longer have access to.
Retention is the other detail worth checking before you migrate, especially if the form collects anything covered by data protection rules. SimpleForm keeps submissions for a window set by your plan, from 7 days on Free up to 365 days on paid plans, and you can delete any submission from the dashboard at any time rather than waiting for an automatic purge. That gives you a plan-controlled retention window instead of whatever default your previous host happened to apply, which matters if your privacy policy makes a specific promise about how long visitor data is kept.
Webhooks are also worth confirming before cutover if you rely on them for team notifications. Pro and Agency plans let you add a webhook URL that fires on every submission, working with Slack, Discord, Zapier, Make, or any custom endpoint you point it at, which covers most of what teams build Netlify Forms notifications for in the first place.
Is Switching Worth the Effort?
The honest objection is that migrating feels like unnecessary work for a form that was already working before the host change broke it. That is fair — but the fix here is genuinely a two-attribute edit, not a rebuild, and it removes the exact dependency that caused the outage in the first place. The alternative is either writing your own backend, which trades a five-minute edit for an ongoing maintenance job, or staying on Netlify Forms permanently, which means you cannot change hosts again without repeating this same failure.
Cost is the other real concern. SimpleForm's Free plan handles 100 submissions a month across 3 forms with 7 days of submission history at no cost and no card required, which covers most contact-form traffic outright. Pro moves to 5,000 submissions a month with webhooks, file uploads, and reCAPTCHA for $9 a month, or $90 a year billed annually, and Agency covers 25,000 submissions a month for $29 a month or $290 a year.
Move Your Form Before the Next Deploy Breaks It
Create a free SimpleForm account, generate an endpoint, and swap it into your form's action attribute — the whole change takes about five minutes and you can verify it by submitting a real test entry to your own inbox. Start free and confirm your form still works before you finish migrating the rest of the site. Full field options, webhook setup, and the API reference are in the documentation, and plan limits are listed on the pricing page.
Frequently asked questions
Netlify Forms works by scanning your HTML during Netlify's own build process and wiring the submission to Netlify's infrastructure. That wiring only exists on Netlify. Once your site is built and served by a different host, the same markup has no backend behind it, so the form submits but nothing receives or stores the data, and no error appears to warn you.
Yes. Point a test copy of your form at your SimpleForm endpoint while the live site still uses Netlify Forms, submit a few test entries, and confirm they arrive by email and in the dashboard. Once you confirm it works, swap the live form's action attribute over and redeploy on the new host.
No. You keep a normal HTML form and set its action attribute to the SimpleForm endpoint URL you get after signing up. Submissions are emailed to you and stored in your dashboard automatically, with no server, function, or API key for you to write or host.
SimpleForm's Free plan covers 100 submissions a month across 3 forms with 7 days of history at no cost, comparable to a low-traffic contact form's needs. Paid plans start at $9 a month for 5,000 submissions with webhooks and file uploads, unlike Netlify Forms, which is not sold as a standalone product and only exists as part of a Netlify hosting plan.
They stay exactly where they are, inside your Netlify dashboard, and are not copied or moved automatically. Export or note anything you still need before you decommission that Netlify site, since migrating your form's action attribute only affects submissions received after the change.
No. You remove Netlify's netlify and data-netlify attributes, change the action attribute to your SimpleForm endpoint, and keep every field, label, and class name exactly as it was. Your form's appearance and validation are untouched by the migration.