What Is a Form Backend?
A form backend is the server side of a website form. It is the part that receives a submission when a visitor presses send, stores it safely, and makes sure it reaches you. If your website has a contact form, a lead form, or any form at all, something has to do that job. A form backend is that something.
Why a static website cannot receive submissions by itself
A static website is a folder of files: HTML, CSS, JavaScript, images. A static host serves those files very well, but it runs no code of yours and keeps no data. A form on such a page can collect what a visitor types, but when the visitor presses send, the data has to go somewhere, and a folder of files cannot receive it.
Without a backend, the usual workarounds are a mailto: link that opens the visitor's email app (many visitors drop off there, and nothing is stored), or simply a form that submits into the void. A form backend exists to close exactly that gap: it gives the form a real address to send its data to. The static case has its own guide, Form Backend for Static Websites, which covers the setup in depth.
What a form backend actually does
Whatever the provider, the basic flow is the same:
- Your form sends an HTTP POST request. The form on your page points at an endpoint URL the backend gives you, and the visitor's answers travel to it.
- The endpoint checks the submission. Is it the right format and size? Is it coming too fast to be a person? Is it spam? Bad submissions are rejected or flagged here, before they reach you.
- The submission is stored. It is saved first, so a later delivery problem can never silently lose it.
- You are notified and can read it. Typically the submission lands in a dashboard where you can read, search and export it, and a notification (most often an email) tells you it arrived.
That is the whole idea. Everything else, dashboards, exports, extra notification channels, spam rules, is built on top of these four steps.
Hosted form backend vs building your own
Building your own
You can always write this yourself: a small server or serverless function, an endpoint, a database, email delivery, spam protection, and the ongoing work of keeping it patched, running and within your host's limits. You get full control, and for a product whose forms are central to the business that control can be worth it. The cost is time: a contact form is rarely the part of a project anyone set out to build, yet the backend behind it still has to be built and maintained like any other server.
Using a hosted form backend
A hosted form backend is the same four steps run as a service. You create a form, get an endpoint URL, and point your existing form at it. There is no server of yours to deploy or patch, and no SDK to install, because the contract is just an HTTP POST. The trade-offs are real: you depend on someone else's service, you work within its limits, and features it does not offer are simply not available. The limitations section below states this product's plainly.
Who uses a form backend
Developers building static websites
The most common case. The site is fast and cheap to host precisely because it has no server, right up until the client asks for a working contact form. A hosted endpoint adds the one missing piece without changing how the site is hosted.
Frontend applications (React, Next.js, Vue)
A frontend app often has no backend of its own either. Its forms can post to a hosted endpoint with a plain fetch call, which keeps a contact or feedback form from becoming the reason to stand up a whole API.
Freelancers and agencies
Client sites repeat the same need: a form that reliably delivers to the client's inbox. A form backend lets one person run a separate form, with its own endpoint and notifications, for every client site, instead of rebuilding the same small server each time.
Small businesses with simple websites
A brochure site with a contact or quote-request form does not need a custom backend project. It needs submissions to arrive in an inbox and be readable later. That is exactly the job described above.
How it works with plain HTML and static sites
With plain HTML there is no JavaScript involved at all. The form's action is the endpoint and its method is POST; the browser sends the fields as ordinary form data, the format the endpoint expects first:
<form action="https://form-backend-tool.vercel.app/api/forms/YOUR_FORM_KEY" method="POST">
<label>Your name <input type="text" name="name" required></label>
<label>Your email <input type="email" name="email" required></label>
<label>Message <textarea name="message" required></textarea></label>
<button type="submit">Send</button>
</form>The documentation walks through this example with the optional redirect and honeypot fields included.
How it works with React, Next.js and Vue
In a frontend application the same endpoint accepts JSON, so a form submit handler can send the fields with fetch and stay on the page:
await fetch("https://form-backend-tool.vercel.app/api/forms/YOUR_FORM_KEY", {
method: "POST",
headers: { "Content-Type": "application/json", Accept: "application/json" },
body: JSON.stringify({
name: "Ada",
email: "ada@example.com",
message: "Hello from my app",
}),
});The endpoint also answers with JSON when the request asks for it, so your interface can show its own success or error state. The documentation covers the response format, the error codes, and the other stacks (PHP, Python, WordPress, Laravel, Django, Node.js) that can send the same POST.
How Form Backend Tool does it
Form Backend Tool is the hosted service behind this site, and it follows the flow above literally. Each form you create gets its own endpoint URL. A submission is checked (size and field limits, a per-visitor rate limit, and a honeypot spam trap), stored first, and then delivered: it appears in your dashboard, where you can read, filter and export it as CSV, and it is emailed to your verified notification address. On the paid plans, a verified WhatsApp number can also receive an alert for each submission.
The Free plan covers 250 submissions per form per month for up to 3 forms. Pro ($12/month) raises that to 2,500 and adds WhatsApp notifications, and Agency ($35/month) raises it to 10,000 for people running forms across several sites. The pricing section lists exactly what each plan includes, and you can watch a submission move through the whole flow in the live demo on the homepage.
Limitations to know before you choose one
Every hosted form backend has limits; the honest ones publish them. For Form Backend Tool, in the current version:
- File uploads are not stored. File inputs in a form are ignored; only text values are kept.
- No outgoing webhooks. Submissions are delivered by the dashboard and email (plus WhatsApp on paid plans), not pushed to your own systems.
- No autoresponder emails. The person who submitted your form does not receive an automatic reply email.
- Request limits. At most 25 KB per submission, at most 50 fields, field values up to 5,000 characters, and a rate limit of 10 submissions per 60 seconds per form per visitor.
- Plan quotas. 250 (Free), 2,500 (Pro) or 10,000 (Agency) submissions per form per month; the Free plan allows up to 3 forms.
The full, current list lives in the docs limits section and the list of what is not supported, and those pages win if anything here ever drifts.
When to build your own backend instead
A hosted form backend is the wrong tool when your form is really an application in disguise: when you must store file uploads, run custom logic or workflows on every submission, push each submission straight into your own systems, or keep all submission data inside infrastructure you control. In those cases, build the backend, and let a page like this one be a checklist of what it has to do: accept, check, store, notify.
For everything else, the shortest path from a form on a page to a submission in your inbox is a hosted endpoint. If you are weighing hosted options against each other, the side-by-side Form Backend Tool vs Formspree comparison works through the differences, including the cases where Formspree is the right choice. If you want the details, read the documentation; if you get stuck, the support page reaches the founder directly.