splitforms.com
All articles/ COMPARISONS6 MIN READPublished June 15, 2026UPDATED June 30, 2026

Netlify Forms Limits in 2026: What You Need to Know

Netlify Forms limits explained: the 100 submissions/month free cap, Netlify-only hosting lock-in, and scaling costs — plus how to move off.

✶ Written by
splitforms.com / blog

Founder of splitforms — the form backend API for developers. Writes about form UX, anti-spam, and shipping web apps without backend code.

Netlify Forms is one of the most convenient form backends for static sites — if you're already on Netlify. A data-netlify="true" attribute on your form, and submissions flow into the Netlify dashboard automatically. No external service, no API key, no configuration. But that convenience comes with real constraints: tight submission limits, vendor lock-in to Netlify hosting, and hidden costs when you scale. This is the full breakdown of Netlify Forms limits in 2026 and what to do when you hit them.

contact-form.html

A form backend that works on any host

Not just Netlify — Vercel, Cloudflare, GitHub Pages, S3. One endpoint, every host.

What happens next ⚡

  • 📥Submission received — stored in your searchable dashboard
  • 📧Email notification — delivered to your inbox instantly
  • 🛡️Spam filtered — AI classifier + honeypot, no CAPTCHA
  • 🔗Webhook fired — optional: forward to Slack, Discord, Sheets
  • ↩️User redirected — to your thank-you page
Response time
14ms
median edge latency across 14 regions
Get Free Access Key →

500 submissions/month free · No credit card

The 100 submissions/month free tier trap

Netlify's free tier includes 100 form submissions per month across all forms on your site. That sounds reasonable for a personal blog, but here's what happens in practice:

  • You hit the cap quietly. Netlify doesn't send a warning email at 80 or 90 submissions. Your form simply stops accepting submissions.
  • Silent failures. When the cap is reached, submissions appear to succeed from the user's perspective but are silently dropped. No error message, no "try again later."
  • No rollover. If you use 20 submissions in January, you don't get 180 in February. The limit resets to 100 each month regardless.
  • Shared across all forms. Got a contact form, a newsletter signup, and a lead capture form? They share the same 100-submission pool.

For comparison, splitforms gives you 500 submissions/month free — 5x more — and each form has its own quota.

Vendor lock-in: the hidden cost

Netlify Forms only works on Netlify. The form detection happens at build time — Netlify's build bot scans your HTML for data-netlify attributes and injects its form handling. Move your site to Vercel, Cloudflare Pages, GitHub Pages, or your own server, and every form breaks.

This is a real problem because:

  • Hosting needs change. You might outgrow Netlify's build minutes, need a different CDN, or want to self-host.
  • Framework migrations break Netlify form detection. Next.js App Router forms, Remix actions, and Astro server islands don't work with Netlify's build-time detection.
  • Migrating means rewriting every form — finding every data-netlify attribute, removing it, and wiring up a new backend.

splitforms is host-agnostic. Your form posts to https://splitforms.com/api/submit regardless of where your site lives. Move from Netlify to Vercel to your own server — the forms keep working without a single line of code changed.

Features Netlify Forms doesn't have

  • AI spam filtering. Netlify uses a basic honeypot + reCAPTCHA. splitforms uses an AI classifier that adapts to new spam patterns without CAPTCHA friction.
  • Webhooks. Not available on Netlify Forms. splitforms supports webhooks on Starter ($1/month) with HMAC signature verification.
  • Autoresponders. Can't send a confirmation email back to the submitter with Netlify. splitforms includes this on all plans.
  • Custom SMTP. Netlify sends from their own infrastructure. splitforms lets you configure custom SMTP on paid plans.
  • Per-form analytics. Netlify shows aggregate submission counts. splitforms shows per-form breakdowns with spam rates and trends.
  • API access. No REST API on Netlify Forms. splitforms has a documented API for fetching, searching, and managing submissions programmatically.

Build-time form detection is fragile

Netlify's form detection runs during the build process — it scans your compiled HTML for data-netlify attributes. This means:

  • Dynamic forms aren't detected. If your form is rendered client-side (React state, Vue components, dynamic routing), Netlify might not see it at build time.
  • Static HTML files in /public aren't detected. Only forms in pages processed through the build pipeline are registered.
  • Hidden forms fail silently. A form in a modal or accordion that isn't in the initial page source may not be registered.
  • Multi-page frameworks (Next.js) require workarounds. You often need a static HTML fallback form for detection to work.

splitforms doesn't rely on build-time detection. You explicitly point your form at the endpoint. It works with dynamic forms, client-side rendered forms, framework-managed forms, and plain static HTML — every rendering strategy, every framework.

How to move off Netlify Forms

  1. Create a free account at splitforms.com/login
  2. Copy your access key from the dashboard
  3. Find all forms with data-netlify in your codebase: grep -r "data-netlify" .
  4. Remove the data-netlify attribute and Netlify's hidden form-name field
  5. Add action="https://splitforms.com/api/submit" and your access key hidden input
  6. Deploy. Test. You can stay on Netlify hosting — forms just route to splitforms instead.

FAQ

Does Netlify Forms work if I move my site to Vercel or Cloudflare Pages?

No. Netlify Forms only works when your site is deployed on Netlify — it relies on their build-time form detection and serverless backend. If you migrate to Vercel, Cloudflare Pages, GitHub Pages, or any other host, your Netlify forms stop working entirely. splitforms is host-agnostic: the same form works on every host because it's a simple POST to an external endpoint.

What happens when I hit the 100 submissions/month free limit?

Netlify stops accepting form submissions silently. Visitors see your form, submit it, and get what appears to be a success — but the submission is dropped. There's no warning email, no dashboard alert. splitforms sends a 429 status when you hit limits (with an upgrade prompt) so you can handle it gracefully, and the free tier covers 500/month.

Can I keep using Netlify for hosting but use splitforms for forms?

Absolutely. Many developers host on Netlify but use splitforms for form handling. Just remove Netlify's data-netlify attribute from your form, set the action to https://splitforms.com/api/submit, and add your splitforms access key. The form bypasses Netlify's form backend entirely.

Does splitforms have a form detection feature like Netlify?

No, and that's intentional. Netlify's build-time form detection is clever but brittle — it fails on dynamic forms, client-rendered forms, and framework-managed forms (Next.js API routes, Remix actions). splitforms uses explicit endpoint configuration, which works reliably across every framework and rendering strategy.

How much does splitforms cost compared to Netlify Forms?

splitforms is free for 500 submissions/month (vs Netlify's 100). Starter is $1/month for 1,000 submissions. Pro is $5/month for 5,000. The 3-Year plan is $59 for 36 months, averaging $1.64/month for 15,000 submissions/month. Netlify's form add-on costs $19/month for 1,000 extra submissions.

About the author
✻ ✻ ✻

Get your free contact form API key in 60 seconds.

500 free form submissions per month. No credit card. No SDK, no PHP, no plugin. Drop one POST endpoint in your form and submissions land in your dashboard and can notify your inbox on every plan.

Generate access key →Read the docs
founders pricing locked in · early access open