Formspree vs Netlify Forms (2026): a fair comparison
Both let you take form submissions on a static site without writing a backend. That's where the similarity ends. Here's the comparison written by someone who builds in this space and wants you to pick the right one — even when that's neither.
Disclosure
I build Form4Dev, a third option in this category. I've tried to write this neutrally — Form4Dev is mentioned only at the end, where it's relevant. If something feels slanted, email me.
The short answer
Pick Netlify Forms if your site is hosted on Netlify, you have low submission volume, and you don't want to sign up for another service. It's the path of least resistance.
Pick Formspree if your site isn't on Netlify, you need more integrations than Netlify offers, or you've outgrown Netlify Forms' included quota and the credit-billing math has gotten unfriendly.
Below is the long version, with the cases each one breaks down on.
The fundamental difference
Netlify Forms is a feature of the Netlify hosting platform. Formspree is a standalone product that works regardless of where your site is hosted. That single difference cascades into almost every other tradeoff.
Netlify Forms works because the Netlify build process intercepts your HTML, finds forms with a special attribute, and registers them with the platform. Submissions land in the Netlify dashboard alongside your hosting, builds, and functions. It's tightly integrated by design.
Formspree gives you an endpoint URL. You point any form on any site at that URL, and submissions land in the Formspree dashboard. It's hosting-agnostic by design.
Both designs have real advantages. Which one fits depends on what you're optimizing for.
Setup: how each one works
Netlify Forms
Add one attribute to your HTML form:
<form name="contact" method="POST" data-netlify="true"> <input name="email" type="email" required> <textarea name="message" required></textarea> <button>Send</button> </form>
Netlify's build detects data-netlify="true", registers
the form, and rewrites it to POST to its own endpoint. Zero
configuration, no signup beyond your existing Netlify account.
Formspree
Sign up at Formspree, create a form, copy the endpoint URL, point
your form's action attribute at it:
<form action="https://formspree.io/f/<YOUR_FORM_ID>" method="POST"> <input name="email" type="email" required> <textarea name="message" required></textarea> <input type="text" name="_gotcha" style="display:none"> <button>Send</button> </form>
Slightly more setup — one signup, one URL copy — but the form works regardless of host.
Side-by-side comparison
| Axis | Netlify Forms | Formspree |
|---|---|---|
| Setup effort | One HTML attribute | Sign up + copy URL |
| Hosting requirement | Netlify only | Any host |
| Free tier | Included with plan (now credit-based) | 50 submissions/month |
| Paid starter | Tied to Netlify plan | $10/month |
| Dashboard | In Netlify console | Dedicated Formspree dashboard |
| Integrations | Slack, Zapier (limited) | 40+ integrations |
| React library | None first-party | @formspree/react |
| Webhooks | Via Netlify Functions | Native, with HMAC signing |
| Spam filtering | Built-in + Akismet option | Built-in + reCAPTCHA option |
| File uploads | Yes (counts against bandwidth) | Yes (paid plans) |
| Programmatic submission | Possible, not designed for it | Possible, second-class path |
| Export | CSV from dashboard | CSV, JSON, integrations |
Pricing and quotas as of May 2026. Both services adjust pricing periodically — verify on their pricing pages before deciding.
Where Netlify Forms wins
Zero friction if you're already on Netlify
One attribute. No signup. No second dashboard to remember. Submissions show up in the same console where you check builds and bandwidth. For low-volume sites with no cross-platform requirements, this is hard to beat.
Tight integration with Netlify Functions
You can trigger a Netlify Function on every form submission — useful for custom server-side logic without standing up a separate backend. Formspree can do similar via webhooks, but the Netlify path is more local.
One bill, one vendor
Procurement and billing are simpler when your hosting, functions, and forms come from one company. For teams that care about vendor count, this is a real factor.
Where Formspree wins
Works anywhere
Your site can be on Vercel, Cloudflare Pages, GitHub Pages, a VPS, or a USB drive served from a coffee shop router. Formspree doesn't care. If your hosting strategy might change — or if you have multiple sites on different hosts — this is a significant advantage.
Deeper integration catalog
Formspree has years of accumulated integrations: Slack, Discord, Telegram, Mailchimp, Stripe, HubSpot, Salesforce, Zapier, Make, custom webhooks. Netlify Forms covers the basics but you'll often end up writing a Netlify Function to glue to anything specific.
The React library
@formspree/react handles state, validation, and error
display with a single hook. For React-heavy sites, this saves real
implementation time. Netlify Forms has no equivalent first-party
library.
Predictable per-submission pricing
Formspree's pricing is straightforward: tiers with submission caps, no credit math. Netlify Forms' shift to credit-based billing makes the cost-per-form-submission a moving target depending on what else your site consumes.
Where both break down
Programmatic submission (scripts, AI agents)
Neither was designed for non-browser submitters. Both will accept POSTs from a script, but their spam defenses are calibrated for browser traffic, so agent and script submissions often get misclassified. If you're building anything where an AI agent submits on a user's behalf, look at a backend built for that case. We wrote about it in detail in our form backend for AI agents post.
Notifications from your own domain
If you run an app that sends form notifications on behalf of multiple customer organizations, neither Formspree nor Netlify Forms lets the notifications come from each customer's own domain. They come from the service's domain. For agencies and platforms, this is often a blocker.
What about Form4Dev?
For full disclosure, the alternative I build — Form4Dev — sits in a third position. It's hosting-agnostic like Formspree, built for programmatic submission from the start (scripts, mobile apps, AI agents), and prices flat ($0 / $9 / $29) with every feature on every plan.
It's not the right fit if you want the deepest integration catalog (Formspree wins) or the zero-friction Netlify-native experience (Netlify Forms wins). It is the right fit if you're submitting forms from scripts, mobile apps, or AI agents, or if you want transparent flat pricing without per-tier feature gates.
Decision matrix
If you're forced to pick between just Formspree and Netlify Forms, here's the heuristic:
- Site on Netlify, <100 submissions/month, no unusual integrations → Netlify Forms.
- Site on Netlify, but credit-billing changes made the cost unpredictable → Formspree (and consider moving off the bundled-with-hosting model entirely).
- Site not on Netlify → Formspree. Netlify Forms isn't an option.
- Need a specific integration Netlify doesn't have (Salesforce, HubSpot, Zapier flows) → Formspree.
- Multiple sites on different hosts → Formspree, so you have one form-backend system across all of them.
- Programmatic submission or AI agents matter → neither — look at Form4Dev or a similar agent-first backend.
FAQ
Can I use Formspree and Netlify Forms together?
Technically yes — point some forms at Formspree and use
data-netlify="true" on others. In practice it's not
worth the operational complexity of two dashboards. Pick one.
Is Netlify Forms still free?
There's still an included quota on most plans, but the credit-based model means form submissions consume from the same pool as functions and bandwidth. Heavy form usage can affect your build/runtime budget. Predict carefully.
Does Formspree work with Next.js, Astro, SvelteKit, etc.?
Yes — it works with any framework that can render an HTML form. The
@formspree/react library is React-only, but the
underlying endpoint accepts any POST.
Which has better spam filtering?
Both have built-in spam filtering and optional CAPTCHA integration. In practice, both block 95%+ of obvious bot spam. Sophisticated scrapers get through both. There's no meaningful difference in raw spam performance.
What about deliverability?
Both have years of operation behind their sending infrastructure. Notifications from either service generally land in normal inboxes; strict corporate inboxes occasionally flag either. Test against your actual destination before committing.
Can I migrate from one to the other?
Yes. Both let you export submissions as CSV. The work is swapping
your form's action= attribute. We have a detailed
Netlify Forms migration
guide with the exact diffs for several alternatives.
The takeaway
Formspree and Netlify Forms solve the same problem with different bets. Netlify Forms bets you're on Netlify and want forms bundled. Formspree bets you'll have multiple sites, multiple hosts, and want a dedicated form product. The right choice depends on whether Netlify's bet is right about you.
If the answer is "neither fits because we need programmatic submission" — that's the case Form4Dev was built for. Start free — every feature unlocked, 100 submissions/month, no credit card.
Last updated May 15, 2026. Spotted something out of date? Email [email protected].