Netlify Forms and Formspree side by side
| Netlify Forms | Formspree | Formgong (ours) | |
|---|---|---|---|
| What it is | A feature of Netlify hosting: forms parsed out of your deployed HTML at build time | Hosted form backend: the form posts to its endpoint | Hosted form backend |
| Free plan | Free and unlimited on credit-based plans; accounts opened before 4 September 2025 (legacy): 100 per site a month | 50 submissions a month, 30-day archive | 1,000 submissions a month free, unlimited forms, email and Telegram on Free, EU storage |
| Works off Netlify | No: forms exist only on sites deployed to Netlify | Yes, any host | Yes, any host |
| At the limit | No forms limit on credit plans; legacy plans are metered per site | Over-limit submissions saved in a folder, reprocessed after an upgrade | Delivery continues on credit until the 7th of next month, then held until you pay |
| Integrations on Free | Email, Slack (Netlify's app), webhooks | Telegram, Discord, Slack | Email, Telegram, Sheets, signed webhooks |
| Spam filtering | Akismet on every submission; optional honeypot and reCAPTCHA 2 | reCAPTCHA and Formshield per settings | Server-side filter and honeypot; optional Turnstile |
| JavaScript frameworks | Hidden HTML copy required for JavaScript-rendered forms; URL-encoded bodies only, no JSON | The endpoint takes the post directly; no build-time detection | The endpoint takes the post directly; JSON answers |
Where Netlify Forms is stronger
- Zero integration cost on its own host. A
netlifyattribute and a redeploy; no account, no key, no external service in the data path. - Unlimited free submissions on credit plans, where Formspree's free tier is 50 a month.
- Akismet by default. Every submission passes an industry spam filter before reaching the verified list.
Where Formspree is stronger
- Portability. The form is an endpoint, not a hosting feature: it works on any host and survives a migration; Netlify Forms ends at Netlify's edge.
- Integrations on Free. Telegram, Discord and Slack plugins at 50 submissions a month; the paid catalogue (Sheets, CRMs, Zapier) is one of the largest in the category.
- Nothing lost over the limit. Over-limit submissions wait in a folder and are reprocessed after an upgrade; a metered legacy Netlify site just counts against its level.
- No detection pitfalls. No hidden HTML copy for React or Vue forms, no URL-encoding requirement to debug.
Who should pick which
- Plain HTML site on a Netlify credit plan: Netlify Forms.
- The same site, but you want Telegram or Slack pings on Free: Formspree (Slack via Netlify's app is the built-in route).
- A JavaScript-rendered form, or any host other than Netlify: Formspree or another endpoint backend.
- Legacy Netlify account outgrowing 100 per site a month: compare the per-site metering against a backend's flat free tier before adding paid levels.
A third option
We build Formgong, which is why it sits in the third column, and the honest version of its pitch is one sentence: a bigger free plan (1,000 submissions a month) with Telegram and an inbox included, EU storage, and reviews plus an AI help chat in the same account, at the cost of a shorter integration list than Formspree's. The full head-to-heads are Formgong vs Formspree and Formgong vs Netlify Forms, and each names where the other service wins.
Questions
Is Netlify Forms free and unlimited now?
On credit-based plans, yes: Netlify's docs say forms are free and unlimited there. Accounts opened before 4 September 2025 stay on legacy metering, 100 submissions per site a month, unless they switch (the switch is irreversible, per Netlify's billing docs).
Can I use Formspree on a Netlify site?
Yes, and it changes nothing about the hosting: the form posts to Formspree's endpoint instead of being parsed by Netlify's build. Sites do this for the integrations, the archive, or to keep the form portable across hosts.
Do Netlify Forms work with Next.js or React?
With a workaround: the build system only finds forms in deployed HTML, so a JavaScript-rendered form needs a hidden static HTML copy with matching field names, and AJAX posts must be URL-encoded, not JSON. An endpoint backend needs neither.
What happens over the free limit on each?
Netlify credit plans have no forms limit; on legacy plans forms are metered per site at 100 a month. Formspree saves over-limit submissions in a separate folder without emailing them, and reprocesses them after an upgrade, so they are delayed, not lost.
Sources
Checked on 23.10.2026 against these public pages: Netlify Forms usage and billing, Netlify legacy pricing plans, Netlify Forms setup, Netlify Forms spam filters, Netlify Forms notifications, Formspree plans, Formspree: over-limit submissions, Formspree privacy policy.