If you've been using Netlify Forms for your static site, you've probably noticed something uncomfortable: the moment your site When it starts getting real traffic, the costs and confusion start fast.
Netlify's free plan gives you just 100 form submissions per month. That sounds reasonable until your contact form actually starts working.
And here's the part that frustrates most developers: Netlify recently migrated to a credit-based billing system. Form submissions now consume credits shared across your entire account. If one site exceeds its limits, all projects on your account get paused — not just the one that went over.
That's a stressful way to run a website.
In this post, we'll break down exactly how Netlify Forms pricing works works, why developers are actively looking for alternatives, and walk you through setting up a better solution, step by step.
How Netlify Forms Pricing Actually Works
Let's be specific, because the Netlify docs are genuinely confusing.
On the legacy free plan:
- 100 submissions per month per site
- Once you hit 100, Netlify automatically upgrades you to Forms Level 1 (1,000 submissions) and charges you at the end of the billing cycle
- Every level upgrade is automatic. You don't have to approve it
On the new credit-based plans:
- Form submissions consume credits from a shared monthly pool
- There is no longer a separate free tier for forms on new credit-based accounts
- If your credit pool runs out, all your projects. Not just The one with the form gets paused until the next billing cycle
The unpredictability is the real problem. A traffic spike, a contact form going slightly viral, or a bot hitting your form could burn through your credits and take down your entire Netlify account.
For something as simple as a contact form, that's a lot of Risk to accept.
The Other Problem: You're Locked Into Netlify
Netlify Forms only works if your site is deployed on Netlify. The moment you want to move to Vercel, Render, GitHub Pages, Cloudflare Pages, or your own VPS — your forms stop working entirely.
You have to find a new solution anyway. Better to pick a platform-independent form backend from the start.
The Best Netlify Forms Alternatives in 2026
Here are the most reliable alternatives, starting with the best overall option.
1. Formgrid.dev: Best Overall Alternative
Formgrid is a privacy-first form backend that works with any HTML form on any website regardless of where it's hosted.
Free plan includes:
- Unlimited forms
- 50 submissions/month
- Email notifications on every submission
- Built-in spam protection (honeypot + rate limiting)
- Submission dashboard
Premium plan: $8/month
- Higher submission limits
- File uploads
- Custom redirect after submission
- Webhook support
- Priority support
Unlike Netlify Forms, Formgrid works on Vercel, GitHub Pages, Render, Cloudflare, or any custom server. You're never locked in.
We'll walk through setting it up step by step below.
2. Formspree: Most Established
Formspree has been the go-to form backend since 2013. Battle-tested, reliable, and widely documented.
Free plan: 50 submissions/month
Paid plan: starts at $10/month
The downside is that paid plans get expensive if you're managing forms across multiple client sites. But for a single project, it's a solid choice.
3. Web3Forms: Most Generous Free Plan
Web3Forms offers an impressive free tier — unlimited forms and up to 250 submissions per month at no cost.
Setup takes about 2 minutes. No account required to get started. Just an API key sent to your email. Great for developers who want maximum free submissions without paying anything.
4. Basin: Clean and Simple
Basin is a straightforward form backend with a clean dashboard and good spam filtering. Their free plan allows 100 submissions per month — matching Netlify's free tier but without the platform lock-in.
5. Formspark: Good for High Volume
Formspark offers a one-time payment model instead of monthly subscriptions. You buy a bundle of submissions and use them at your own pace. Good option if your form traffic is unpredictable.
Side by Side Comparison
| Service | Free Submissions | Paid Plan | Works Anywhere | Email Notifications |
|---|---|---|---|---|
| Netlify Forms | 100/month | Credit-based | ❌ Netlify only | ✅ |
| Formgrid.dev | 50/month | $8/month flat | ✅ | ✅ |
| Formspree | 50/month | $10/month | ✅ | ✅ |
| Web3Forms | 250/month | $15/month | ✅ | ✅ |
| Basin | 100/month | $29/month | ✅ | ✅ |
| Formspark | 250 lifetime | One-time purchase | ✅ | ✅ |
Step-by-Step: Setting Up Formgrid on Any Static Site
Let's replace Netlify Forms with Formgrid right now. This takes under 5 minutes.
Step 1: Create Your Formgrid Account
Head to https://formgrid.dev and sign up using Google or Email.

The free plan requires no credit card. You get unlimited forms and 50 submissions per month immediately.
Step 2: Create a New Form
Once logged in, you'll land on your dashboard. Click New Form.

Give your form a name. Something descriptive works well:
- "Contact Form"
- "Portfolio Enquiry"
- "Landing Page Leads"
Click Create Form.
Step 3: Copy Your Endpoint URL
After creating your form, you'll be taken to the form's overview page.
Click on the Overview tab and copy your unique endpoint URL.

It will look something like this:
https://formgrid.dev/api/f/dcffghhnjjThis is the URL your HTML form will submit to.
Step 4: Add the Form to Your HTML
Here is a complete, copy-paste-ready contact form. Replace
YOUR_ENDPOINT_URL with the URL you just copied:
<form action="YOUR_ENDPOINT_URL" method="POST">
<label for="name">Your Name</label>
<input
type="text"
id="name"
name="name"
placeholder="John Doe."
required
/>
<label for="email">Email Address</label>
<input
type="email"
id="email"
name="email"
placeholder="john@example.com"
required
/>
<label for="message">Your Message</label>
<textarea
id="message"
name="message"
rows="5"
placeholder="How can I help you?"
required
></textarea>
<!-- Honeypot: keeps bots out, invisible to real users -->
<input
type="text"
name="_honey"
style="display:none."
/>
<!-- Optional: redirect after submission -->
<input
type="hidden"
name="_redirect"
value="https://yoursite.com/thank-you"
/>
<button type="submit">Send Message</button>
</form>That's your entire form. No server. No PHP. No backend code.
Step 5 — Email Notifications Are Already Set Up
Good news — you don't have to configure anything here.
Formgrid automatically uses the email address you signed up with as your default notification email. The moment someone submits your form, the alert goes straight to your inbox. No extra setup required.
If you'd like, submissions can be sent to a different email. For example, a client's email or a team inbox, go to your form's Settings tab, find Email Notifications, and update it there.

From this point on, every time someone fills out your form You'll get an email like this:

You'll see:
- Submitter's name
- Their email address
- Their message
- Timestamp of the submission
Submissions come straight to your inbox. No more logging Just to check if someone reached out.
That said, if you prefer to review, search, or manage all Your submissions are in one place, and everything is also saved in Your Formgrid dashboard. Every submission is stored there automatically, so nothing ever gets lost, even if an email slips into spam.
View all your submissions anytime from the dashboard:

Step 6: Test Your Form
Fill out your own form and submit it. Within seconds, you should receive:
- A confirmation email in your inbox
- The submission is logged in your Formgrid dashboard
If you don't receive the email, check your spam folder and Make sure you saved the notification email in settings.
Optional: Using JavaScript for a Better UX
If you want to submit the form without a full page reload, here's a clean fetch-based approach:
const form = document.getElementById('contact-form');
form.addEventListener('submit', async (e) => {
e.preventDefault();
const formData = new FormData(form);
try {
const response = await fetch('YOUR_ENDPOINT_URL', {
method: 'POST',
body: formData,
});
if (response.ok) {
form.innerHTML = '<p>Thanks! Your message was sent.</p>';
} else {
form.innerHTML = '<p>Something went wrong. Please try again.</p>';
}
} catch (error) {
form.innerHTML = '<p>Network error. Please try again.</p>';
}
});Add id="contact-form" to your form element, and this
script handles the rest. No page redirect, clean user
experience.
When to Use a Form Service vs Building Your Own Backend
Use Formgrid or a form service if:
- You need a contact, enquiry, or waitlist form
- You're building a static site, landing page, or portfolio
- You want instant email notifications without configuring SMTP
- You want spam protection without implementing it yourself
- You want a submission dashboard without building one
Build your own backend if:
- You need custom business logic on form submission
- You need to write data to your own database directly
- You're building a full SaaS product with complex flows
- You need custom authentication tied to submissions
For 90% of landing pages, portfolios, and indie projects — A form service is more than enough. You don't need a backend for a contact form.
Final Thoughts
Netlify Forms was a great idea that got complicated. Credit-based billing, platform lock-in, and the risk of Your entire account is getting paused over a form submission Spikes make it hard to recommend anything serious in 2026.
The good news: switching takes less than 10 minutes.
With Formgrid.dev you get:
✅ Flat predictable pricing
✅ Works on any hosting platform
✅ Instant email notifications
✅ Built-in spam protection
✅ A clean submission dashboard
✅ No backend required
If you're building on GitHub Pages, Vercel, Render, Cloudflare Pages, or any static site generator like Hugo, Jekyll, Astro, or Eleventy, Formgrid plugs in with a single line change to your form's action attribute.