Back to blog
guides

Netlify Forms Alternative: Forms That Work on Any Host

Netlify Forms only runs on sites Netlify builds. FormBackend is a hosted endpoint any HTML form can post to, on any host, with 1,000 submissions for $5/mo.

J
Jesper Christiansen
10 min read

FormBackend is the Netlify Forms alternative for sites that may not stay on Netlify. Netlify Forms works only on sites that Netlify builds and hosts: move the site to Vercel, Cloudflare Pages or GitHub Pages and every form stops working. FormBackend is a hosted endpoint you point any HTML form at, from any host, with 1,000 submissions per month for $5 and a free plan with 50 submissions per month.

If you are comparing Netlify Forms with a standalone form backend, the question is rarely about features alone. It is about coupling: Netlify Forms is a feature of Netlify hosting, and a standalone form backend is a service your site talks to over HTTP. Which one fits depends on how sure you are about where the site lives next year.

FormBackend is a form backend service. You write the HTML form, point its action at a unique URL, and FormBackend handles submissions, spam filtering, email notifications, file uploads and integrations, with a dashboard to view, export and route every submission.

Pricing and limits below were checked on October 6, 2026. Netlify and FormBackend can change plan details over time, so verify current plan pages before making a final purchasing decision.

How Netlify Forms works, and where it stops

Netlify Forms uses build-time detection. You add data-netlify="true" to a <form>, enable form detection in the Netlify UI, and Netlify’s build parses your HTML, replaces the attribute with a hidden form-name input and starts capturing submissions on the deployed site.

That design has consequences:

  • It only works on Netlify. Detection and delivery are part of the Netlify build and edge. The form breaks the day the site is hosted anywhere else.
  • JavaScript-rendered forms need a static twin. A React, Vue or Svelte form that does not exist in the built HTML needs a hidden static copy with matching field names, and AJAX posts must be URL-encoded, not JSON.
  • Submissions are only captured on a deploy. Local development and preview servers do not collect them.
  • Uploads are small. The maximum form request size is 8 MB, one file per field, with a 30 second upload timeout.
  • No auto-reply. Notification emails go to you from formresponses@netlify.com. Replying to the submitter is manual unless you add a field named email to set the Reply-To.

None of these are bugs. They are the cost of forms being a hosting feature instead of a service.

Netlify Forms pricing in 2026

Netlify runs two billing models in parallel, and the forms allowance is different on each:

  • Credit-based plans (accounts created on or after September 4, 2025): form submissions are free and unlimited on every plan since April 14, 2026. The Free plan includes 300 credits per month for everything else, and Pro is $20 per month.
  • Legacy plans (older accounts): each site includes 100 verified submissions per month. When a site passes that, Netlify upgrades it to the next paid forms level and charges the fee at the end of the billing cycle, from $19 on Pro.
  • FormBackend Simple is $5 per month and includes 1,000 submissions per month, 2 forms, 250 MB of file uploads, spam protection, custom redirects, webhooks, Zapier and auto-response emails.

If you are on a credit-based Netlify plan and the site will stay on Netlify, the forms are free. The reason to pay $5 elsewhere is portability, JavaScript-rendered forms, auto-replies and larger uploads, not the submission count.

Quick comparison

FormBackend Netlify Forms
Works on Any host: Netlify, Vercel, Cloudflare Pages, GitHub Pages, your own server Sites built and hosted on Netlify only
Free allowance 50 submissions/mo, 1 form Credit plans: unlimited. Legacy plans: 100/mo per site
Cheapest paid plan $5/mo (1,000 submissions, 2 forms) Included in hosting (Pro $20/mo on credit plans)
Setup Set the form action to your endpoint URL Add data-netlify="true", enable detection, deploy
JavaScript-rendered forms Post from any framework, JSON or form-encoded Hidden static HTML copy required, URL-encoded AJAX only
Works before deploy Yes, from localhost No, captured on the deployed site only
File uploads From $5/mo (250 MB), 1 GB on Freelancer, 10 GB on Business 8 MB per request, one file per field
Spam protection Built-in filtering on every plan, plus Cloudflare Turnstile, hCaptcha, reCAPTCHA Akismet on every submission, honeypot, reCAPTCHA 2
Email notifications Paid plans Yes
Auto-reply to submitter From $5/mo No
Slack Native (Business) Via the Netlify Slack app
Google Sheets Native (Business) Via Zapier or n8n
Webhooks From $5/mo Yes
Custom redirect after submit From $5/mo Via an action attribute to a page on your site
Data retention controls Auto-delete after 30 days free, 365 days Simple, unlimited from Freelancer No stated retention period; export and delete manually
API REST API from Freelancer ($14/mo), MCP server on every plan Netlify API for submissions

Where FormBackend does better

Your forms survive a host move

This is the whole argument. A site that starts on Netlify often ends up on Vercel for a framework feature, on Cloudflare Pages for the pricing, or on a client’s own server. With Netlify Forms, that migration includes rebuilding every form and its notifications. With FormBackend, the form’s action already points at an endpoint that does not care where the HTML is served from.

Agencies feel this most. One endpoint model across every client site, whatever each one is hosted on, is simpler than a forms setup that differs by host.

JavaScript-rendered forms are normal, not special

Netlify’s build-time detection cannot see a form that React, Vue or Svelte renders after load. The documented workaround is a hidden static copy of the form plus a form-name input, and your fetch call must send URL-encoded data. FormBackend accepts whatever posts to the endpoint, so the same AJAX code works on every framework, and there is no twin form to keep in sync.

Test from localhost

Netlify captures submissions only on the deployed site. A FormBackend endpoint works the same from localhost, a preview deploy and production, so you can test the whole flow before you ship.

Auto-replies, uploads and retention from $5 a month

From the $5 Simple plan, FormBackend sends a confirmation email to the submitter, accepts file uploads up to 250 MB of storage, follows a custom redirect, and auto-deletes submissions after a retention period you set. Netlify Forms has no auto-reply, caps a form request at 8 MB, and leaves retention to you.

Captcha choice

Netlify Forms offers Akismet, a honeypot and reCAPTCHA 2. FormBackend filters spam on every plan and lets you add Cloudflare Turnstile, hCaptcha or reCAPTCHA when you want a visible or invisible challenge of your own choosing.

Where Netlify Forms does better

Being honest: if your site is on Netlify and staying there, Netlify Forms has real advantages.

  • Unlimited free submissions on credit-based plans. Since April 14, 2026, accounts on Netlify’s credit-based plans pay nothing per submission. FormBackend’s free plan is 50 per month and the paid plans start at $5.
  • Zero extra vendor. No second account, no second dashboard, no second invoice. Submissions sit next to your deploys.
  • No setup beyond one attribute. For a static HTML form, data-netlify="true" and a deploy is the entire integration.
  • Akismet by default. Every submission is filtered by Akismet without any configuration.

Who should switch

FormBackend is the better choice if:

  • You might leave Netlify, or you run client sites on more than one host.
  • Your forms are rendered by JavaScript and you do not want to maintain hidden static copies.
  • You want auto-replies to the submitter and uploads larger than 8 MB per request.
  • You want to test the form before deploying.
  • You are on a legacy Netlify plan and keep crossing the 100 submission line.

Who should stay with Netlify Forms

Netlify Forms may be the better fit if:

  • The site is on Netlify for the long term and the forms are plain static HTML.
  • You are on a credit-based plan and want unlimited submissions at no cost.
  • You want one vendor for hosting, deploys and forms.

How to switch

Both services accept a standard HTML form that posts with method="POST". Switching means removing Netlify’s markers and changing the action.

  1. Create a FormBackend account (free)
  2. Create a form and copy your unique endpoint URL
  3. Remove data-netlify="true" (or netlify) and the hidden form-name input from the form
  4. Set the form’s action to your FormBackend URL
  5. Submit a test entry and check it in the dashboard
<!-- Before (Netlify Forms) -->
<form name="contact" method="POST" data-netlify="true">
  <input type="hidden" name="form-name" value="contact">

<!-- After (FormBackend) -->
<form action="https://www.formbackend.com/f/your-id" method="POST">

If your form posts with JavaScript, send JSON or FormData to the same endpoint. There is no hidden copy to keep.

FAQ

What is the best Netlify Forms alternative if I move off Netlify?

FormBackend is a strong Netlify Forms alternative when your site may not stay on Netlify. Netlify Forms works only on sites that Netlify builds and hosts. FormBackend is a hosted endpoint: you set your form’s action to a FormBackend URL and it works on Vercel, Cloudflare Pages, GitHub Pages, a VPS or Netlify itself. Paid plans start at $5 per month for 1,000 submissions.

Is Netlify Forms free?

On Netlify’s credit-based plans, which apply to accounts created from September 4, 2025, form submissions have been free and unlimited since April 14, 2026. On legacy plans, each site includes 100 verified submissions per month, and Netlify upgrades the site to a paid forms level when it passes that limit. FormBackend’s free plan includes 50 submissions per month, and its $5 per month Simple plan includes 1,000.

Does Netlify Forms work with React, Vue or other JavaScript-rendered forms?

Yes, with extra steps. Netlify detects forms in the static HTML at build time, so a form rendered by JavaScript needs a hidden static HTML copy with the same field names and a hidden form-name input, and AJAX submissions must be URL-encoded rather than JSON. FormBackend does not scan your HTML; any request that posts to your endpoint, from any framework, is accepted.

Can I switch from Netlify Forms to FormBackend without rewriting my form?

Yes. Remove the data-netlify attribute and the hidden form-name input, set the form’s action to your FormBackend endpoint URL, keep method="POST", and submit a test entry. Your field names and markup stay the same.

Get started

Sign up free and try it out. If you’re on a paid plan and not happy after the first month, we’ll refund your money.

Want help migrating? Email us at hello@formbackend.com.

Check out our framework-specific guides: React, Next.js, Vue.js, Svelte, Astro, Hugo, and more.

Compare other form backends

Weighing up a few options? See how FormBackend compares to other form backend services:

Frequently asked questions

What is the best Netlify Forms alternative if I move off Netlify?

FormBackend is a strong Netlify Forms alternative when your site may not stay on Netlify. Netlify Forms works only on sites that Netlify builds and hosts. FormBackend is a hosted endpoint: you set your form's action attribute to a FormBackend URL and it works on Vercel, Cloudflare Pages, GitHub Pages, a VPS or Netlify itself. Paid plans start at $5 per month for 1,000 submissions.

Is Netlify Forms free?

On Netlify's credit-based plans, which apply to accounts created from September 4, 2025, form submissions have been free and unlimited since April 14, 2026. On legacy plans, each site includes 100 verified submissions per month, and Netlify upgrades the site to a paid forms level when it passes that limit. FormBackend's free plan includes 50 submissions per month, and its $5 per month Simple plan includes 1,000.

Does Netlify Forms work with React, Vue or other JavaScript-rendered forms?

Yes, with extra steps. Netlify detects forms in the static HTML at build time, so a form rendered by JavaScript needs a hidden static HTML copy with the same field names and a hidden form-name input, and AJAX submissions must be URL-encoded rather than JSON. FormBackend does not scan your HTML; any request that posts to your endpoint, from any framework, is accepted.

Can I switch from Netlify Forms to FormBackend without rewriting my form?

Yes. Remove the data-netlify attribute and the hidden form-name input, set the form's action to your FormBackend endpoint URL, keep method POST, and submit a test entry. Your field names and markup stay the same.

Add a form backend to your site in minutes

Connect any HTML form to FormBackend and start collecting submissions — no backend code required.

Start free