Static site form backend: which one should you choose?
For most static sites, a hosted form backend is the fastest choice: point the form at one endpoint and submissions are stored, spam-filtered and emailed without server code. Use Netlify Forms only if the site is hosted on Netlify, and a self-managed serverless endpoint only if you need full control and can maintain email deliverability yourself.
What are the three ways to handle forms on a static site?
A static site has no server to receive a POST request, so the form has to send its data somewhere else. There are three practical routes: a hosted form backend, a form feature built into your host, or a serverless function you write and run yourself. The right choice depends on where the site is hosted, how much control you need, and how much maintenance you want.
- Hosted form backend: a service such as splitforms, Formspree, Web3Forms or Basin accepts the submission, stores it and emails you. Works on any host.
- Platform-native forms: Netlify Forms detects a form at build time and handles it, but only on Netlify-hosted sites.
- Self-managed serverless endpoint: you write a function on Vercel, Cloudflare Workers, Netlify Functions or AWS Lambda and own the storage, email and spam logic.
How do hosted, native and serverless form backends compare?
| Option | Best for | Free allowance | Setup | Host lock-in | What you maintain |
|---|---|---|---|---|---|
| splitforms | Most static sites, portfolios, landing pages and small business sites | 500 submissions total, no card, no time limit | 5 minutes: paste one form action and an access key | None — works on any host | Nothing; storage, spam filtering and email are handled |
| Formspree | Teams that want a long-running brand and deep integrations | 50 submissions per month, unlimited forms | 5 minutes: form action plus a form ID | None — works on any host | Nothing; dashboard and email are handled |
| Web3Forms | Hobby projects that want a monthly free allowance | 250 submissions per month, unlimited forms | 5 minutes: form action plus an access key | None — works on any host | Nothing; dashboard and email are handled |
| Basin | Sites that need file uploads on the free plan | 50 submissions per month, 1 form | 5 minutes: form action plus a form endpoint | None — works on any host | Nothing; dashboard and email are handled |
| Netlify Forms | Sites already hosted on Netlify with simple form needs | Unlimited on credit-based plans (Netlify-hosted sites only) | 2 minutes: add data-netlify="true" to the form | Netlify hosting only | Nothing while the site stays on Netlify |
| Self-managed serverless endpoint | Teams with strict data, compliance or integration requirements | Platform function limits only | Hours to days: write the handler, storage and email flow | Tied to your function platform | Validation, storage, spam filtering, email deliverability and uptime |
Vendor free allowances and entry prices checked October 2026 on the Formspree, Web3Forms, Basin and Netlify Forms pricing pages. splitforms prices come from our pricing page.
When does a hosted form backend make sense?
A hosted backend is the least work for a normal contact, quote, booking or lead form. You keep the form on your own domain, add the service's action URL and access key, and the provider handles storage, spam filtering and email. Because the endpoint is external, the same form works on GitHub Pages, Astro, Hugo, Eleventy, Jekyll, Cloudflare Pages, S3 or any other static host.
splitforms Free covers 500 submissions in total with no card and no time limit, with a searchable dashboard and spam filtering included. Pro is $5 per month for 5,000 submissions a month, and Annual is $49 per year for 15,000 a month. If you want the copy-paste version, start with the static site contact form guide or the contact form without a backend walkthrough.
When is Netlify Forms the right choice?
Netlify Forms is the simplest option if the site is already deployed to Netlify and will stay there. You add data-netlify="true" to the form and Netlify detects it at build time. On current credit-based plans, form submissions are unlimited, and there is no separate Forms price; Personal hosting is $9 per month.
The tradeoff is lock-in. Netlify Forms only works on Netlify, and build-time detection can miss forms rendered entirely on the client. If you may move to another host, a host-independent backend avoids rebuilding every form. See the Netlify Forms alternative comparison for the full breakdown.
When is a self-managed serverless endpoint worth it?
A serverless function gives you complete control over validation, storage and integrations. That matters when a policy requires data to stay in your own database, or when submissions must reach an internal system that no hosted backend supports. Vercel, Cloudflare Workers, Netlify Functions and AWS Lambda all provide the runtime.
The cost is maintenance. You build and operate the handler, storage, spam filtering, email delivery and monitoring, including SPF, DKIM and DMARC for reliable email. For a small team, that is usually more work than a contact form justifies. The serverless form backend guide covers the build, and self-hosted vs SaaS covers the tradeoff in more detail.
Which form backend should you choose by site type?
- Portfolio, blog or small business site: use a hosted backend such as splitforms. It is the least setup and works on any host.
- Site already on Netlify: Netlify Forms is fine while you stay there; choose a host-independent backend if a move is likely.
- High-volume lead generation: compare paid allowances and webhooks. splitforms Pro covers 5,000 submissions a month and Annual covers 15,000 a month.
- Strict data or compliance requirements: use a self-managed serverless endpoint, and budget for email deliverability and spam filtering.
- No-JavaScript or accessibility-first form: a plain HTML form posting to a hosted backend works without scripts. See the contact form without JavaScript guide.
Ready-made form templates for common use cases are in the forms library. For platform-specific setup, read the GitHub Pages, Hugo, Eleventy, Jekyll and Astro tutorials.
Frequently asked questions
What is the best form backend for a static site?
For most static sites, a hosted form backend is the best choice. You point a normal HTML form at one endpoint and the service stores each submission, filters spam and emails you, with no server code to run. splitforms includes 500 free submissions in total with no card, and paid plans start at $5 per month.
Can a static site handle forms without a backend?
Yes. A static site cannot process a POST request itself, but it can send the form to a hosted backend that does. Add the service's action URL and access key to your HTML form, and submissions are handled off-site. No serverless function, PHP or SMTP setup is needed on your host.
Is Netlify Forms free?
Netlify Forms is included on Netlify's current credit-based plans, where form submissions are unlimited, but it only works on sites deployed to Netlify. There is no separate Forms price; Personal hosting is $9 per month. If you may move hosts, a host-independent backend avoids rewriting every form.
When should I use a serverless function instead of a form backend?
Use a serverless function when you need full control over where data is stored, how it is validated, or which internal systems it reaches, and you can maintain email deliverability, spam filtering and uptime yourself. For a normal contact or lead form, a hosted backend removes that work.
Do hosted form backends work with GitHub Pages, Astro, Hugo and Jekyll?
Yes. GitHub Pages, Astro, Hugo, Eleventy and Jekyll all render static HTML, and a hosted backend accepts a POST from any of them. The form action points at the service, so the host never needs to run server-side code.
How much does a static site form backend cost?
Costs range from free to about $15 per month for a hosted backend. splitforms Free covers 500 submissions in total, Pro is $5 per month for 5,000 submissions a month, and Annual is $49 per year for 15,000 a month. Formspree and Web3Forms both start their paid plans at $15 per month.
500 free submissions in total. No card, no time limit. Works on GitHub Pages, Astro, Hugo, Eleventy, Jekyll and any other static host.
Get started free →