Static sites and Jamstack projects are fast, secure, and cheap to host — but they cannot process form submissions. FormsList solves this by giving you a form endpoint URL that handles everything: receiving data, sending notifications, filtering spam, and routing submissions to Slack, Google Sheets, or any webhook.
By Vaibhav Jain · Last updated March 30, 2026
Static site generators like Hugo, Jekyll, Eleventy, Gatsby, and Astro produce HTML, CSS, and JavaScript files. They have no server-side runtime, which means there is no way to process a form submission, send an email, or store data. You either need to spin up your own backend, use a serverless function, or rely on a third-party form service. The first two options add complexity and hosting costs. The third option is exactly what FormsList provides — without the complexity.
Add your FormsList endpoint as the action attribute on any HTML form. When a visitor submits the form, the data is sent to FormsList. We store it, email you, filter spam, and trigger any integrations you have configured. Your static site stays static.
<!-- Works in any static site generator -->
<form action="https://formslist.com/f/YOUR_FORM_HASH" method="POST">
<input type="text" name="name" placeholder="Your name" required />
<input type="email" name="email" placeholder="you@example.com" required />
<textarea name="message" placeholder="Your message" required></textarea>
<button type="submit">Send</button>
</form>If it outputs HTML, it works with FormsList. No plugins, no build step changes, no runtime dependencies.
| Feature | FormsList | Netlify Forms | Formspree |
|---|---|---|---|
| Any hosting | Yes | Netlify only | Yes |
| Free submissions/mo | 500 | 100 | 50 |
| AI spam filtering | Yes (paid) | Akismet | No |
| Native integrations | Slack, Sheets, Discord | Netlify ecosystem | Zapier, Airtable |
| Starting price | $9/mo | $19/mo (bundled) | $10/mo |
For Gatsby, Next.js, or any JavaScript-heavy static site, you can submit via fetch for a smoother UX without page reload:
async function handleSubmit(e) {
e.preventDefault();
const form = e.target;
const res = await fetch("https://formslist.com/f/YOUR_FORM_HASH", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(Object.fromEntries(new FormData(form))),
});
if (res.ok) alert("Submitted!");
}Yes. Hugo generates static HTML files, which means you can add a standard HTML form with your FormsList endpoint URL as the action attribute. No Hugo-specific plugins or configuration needed.
Netlify Forms only works on Netlify-hosted sites. FormsList works with any hosting provider — Vercel, Cloudflare Pages, GitHub Pages, AWS Amplify, shared hosting, or anywhere else. You are never locked into a single platform.
Yes. For Gatsby, add a standard HTML form or use fetch/AJAX to POST to your FormsList endpoint. For Next.js, you can use either server-side or client-side form submission. FormsList accepts standard POST and JSON requests.
No. FormsList is a form endpoint service — you send data to a URL. There is nothing to install. If you prefer, you can use fetch or axios to submit forms via AJAX, but a plain HTML form works just as well.
If you use FormsList instead of Netlify Forms, your forms keep working regardless of where you host. This is the main advantage of a dedicated form backend over a platform-specific feature.
Works with any static site generator. Free tier includes 500 submissions/month.
Get Started Free