Netlify Forms Alternative: Forminit vs Netlify (2026)
Netlify Forms is a form-handling feature built into Netlify’s hosting platform: convenient if you host there, gone if you leave. Forminit is a standalone form backend: it works with any hosting provider and framework, and your forms survive a hosting migration.
Netlify Forms details on this page were verified against Netlify’s documentation in July 2026.
How does Forminit compare to Netlify Forms?
Section titled “How does Forminit compare to Netlify Forms?”| Feature | Netlify Forms | Forminit |
|---|---|---|
| Works with any host | No, Netlify hosting only | Yes, any hosting provider |
| Submissions pricing | Free and unlimited on current credit-based plans; metered on legacy plans | Free plan (100/mo) + paid plans from $19/mo |
| File uploads | 8 MB max request size, one file per field, 30s timeout | 25 MB per submission, up to 20 file blocks, 50+ MIME types |
| Server-side validation | No; Akismet filters spam, but fields accept any value | Schema-first typed blocks (email, phone, URL, country, date, rating) |
| UTM / ad click tracking | No | Auto-captured: UTM params, gclid, fbclid, msclkid, ttclid, twclid, referrer |
| Geolocation | No | Yes, country, city, timezone from IP |
| Notifications | Email, outgoing webhook, Slack | Email templates, webhooks with delivery logs and failure alerts, Slack, Discord |
| API access | Via Netlify’s platform API | Full REST API: paginate, search, filter, export |
| Submission dashboard | Basic list per site | Inbox with status tracking, stars, notes, filtering, CSV export |
| Spam protection | Akismet (default), honeypot, reCAPTCHA 2 | Built-in by default, plus optional reCAPTCHA, hCaptcha, honeypot |
| SDK | None (HTML attributes at build time) | 2 KB JS SDK + Next.js and Nuxt.js proxy handlers |
| EU data residency | Not specified | Yes, AWS servers in Ireland (EU) |
| GDPR documentation | General platform terms | Dedicated GDPR page, DPA included, EU subprocessors |
Benefits of Forminit
Section titled “Benefits of Forminit”1. Your Forms Survive a Hosting Change
Section titled “1. Your Forms Survive a Hosting Change”Netlify Forms works through build-time detection of data-netlify attributes; it exists only inside Netlify’s build and hosting pipeline. Move the same site to Vercel, Cloudflare, or your own server, and every form silently stops collecting.
Forminit is independent of your hosting. Use it with:
- Vercel, Cloudflare Pages, AWS, GitHub Pages, DigitalOcean
- Self-hosted servers
- Any static or dynamic hosting
Your form backend remains the same if you change hosting providers. That independence is the core trade against Netlify’s convenience.
2. Works with Any Framework
Section titled “2. Works with Any Framework”Forminit provides SDKs and integrations for:
- HTML / Vanilla JavaScript
- Next.js (with proxy handler)
- Nuxt.js (with proxy handler)
- Node.js
- React, Vue, Svelte, or any frontend framework
No build plugins or platform-specific attributes required.
3. Larger, Stored File Uploads
Section titled “3. Larger, Stored File Uploads”| Netlify Forms | Forminit | |
|---|---|---|
| Max size | 8 MB per request (form + files combined), 30s timeout | 25 MB per submission |
| Files per submission | One file per field | Up to 20 file blocks |
| Accepted types | Basic | 50+ MIME types (docs, images, video, audio, archives) |
| Access | Netlify dashboard | Direct download URLs |
An 8 MB combined request rejects a large portfolio PDF or a set of photos. At 25 MB, resumes, portfolios, and multi-file submissions go through.
4. Server-Side Validation
Section titled “4. Server-Side Validation”Netlify’s Akismet integration filters spam, but it doesn’t validate data: any field accepts any value. Forminit validates every typed block before storing:
| Field Type | Validation |
|---|---|
email | RFC 5322 format |
phone | E.164 international format |
url | Valid URI format |
country | ISO 3166-1 alpha-2 code |
rating | Integer between 1 and 5 |
date | ISO 8601 format |
Invalid submissions return structured error codes, so bad data never reaches your inbox, CRM, or webhook pipeline.
5. Webhook Delivery You Can Debug
Section titled “5. Webhook Delivery You Can Debug”Both products can POST submissions to an external URL. Forminit’s webhooks add per-delivery logs and email alerts when a delivery fails, so a broken endpoint doesn’t silently drop leads.
6. Full REST API
Section titled “6. Full REST API”Retrieve and query submissions programmatically, independent of any hosting platform:
curl -X GET 'https://api.forminit.com/v1/forms/YOUR_FORM_ID' \
-H 'X-API-Key: YOUR_API_KEY'
Paginate, search, and filter through all your form data. See the List Submissions API.
7. Marketing Attribution
Section titled “7. Marketing Attribution”Forminit automatically captures UTM parameters (source, medium, campaign, term, content), ad platform click IDs (gclid, fbclid, msclkid, ttclid, twclid), referrer URL, and geolocation. Netlify Forms captures the form fields and nothing else.
8. API Key Security
Section titled “8. API Key Security”Forminit provides proxy handlers for Next.js and Nuxt.js that keep API keys on the server. See Next.js Integration and Nuxt.js Integration for setup guides.
9. GDPR-Ready with EU Data Hosting
Section titled “9. GDPR-Ready with EU Data Hosting”If your forms collect personal data from EU or UK users, where that data lives matters. Netlify does not specify a storage region for form submissions. Forminit stores all form data on AWS servers in Ireland (EU), encrypted in transit and at rest. The company is UK-registered and ICO-listed, a DPA is included, and every subprocessor is documented and EU-based. See the GDPR compliance page.
Use Case Comparison
Section titled “Use Case Comparison”| Use Case | Netlify Forms | Forminit |
|---|---|---|
| Static site hosted on Netlify | ✅ | ✅ |
| Site hosted anywhere else | ❌ | ✅ |
| Unlimited free submissions | ✅ (current plans) | ❌ (Free plan is 100/mo) |
| Survive a hosting migration | ❌ | ✅ |
| File uploads over 8 MB | ❌ | ✅ |
| Multiple files per field | ❌ | ✅ |
| Validate data before storing | ❌ | ✅ |
| Track lead sources | ❌ | ✅ |
| EU data residency, DPA | ❌ | ✅ |
Pricing comparison
Section titled “Pricing comparison”On current credit-based Netlify plans, form submissions are free and unlimited. If volume at $0 is your only requirement and you’re staying on Netlify, that’s the honest winner on price. Legacy Netlify plans meter submissions and upload storage per site with a limited free tier.
Forminit’s Free plan includes 1 form and 100 stored submissions per month with file uploads and built-in spam protection. Paid plans: Pro $19/mo (5,000 submissions, webhooks, REST API, CSV export, Google Sheets, Zapier), Business $49/mo (10,000 submissions, autoresponder, custom SMTP, workspaces), Volume $99/mo (50,000 submissions). Verified July 2026; see the pricing page.
What you’re paying for is independence and capability: validation, attribution, 25 MB uploads, an inbox-style dashboard, and forms that don’t care where the site is hosted.
When Netlify Forms may be the better choice
Section titled “When Netlify Forms may be the better choice”A fair comparison cuts both ways. If your site lives on Netlify and you have no plans to move, Netlify Forms is hard to argue with: unlimited free submissions on current plans, zero-setup build-time detection, Akismet spam filtering on by default, and email/webhook/Slack notifications included. For a simple contact form on a committed Netlify site, it’s the path of least resistance.
The trade-off is coupling: your form handling is a feature of your host. The moment hosting changes (new platform, client handover, agency migration), the forms go with it.
Comparing more than these two? See our review of the best form backend services in 2026 for how Forminit and Netlify Forms stack up against Formspree, FormSubmit, EmailJS, Basin, and Web3Forms.
Quick Start
Section titled “Quick Start”1. Create a Form
Section titled “1. Create a Form”Sign up at forminit.com and create a form to get your Form ID.
2. Implement
Section titled “2. Implement”HTML / JavaScript (works on any host):
<form id="contact-form">
<input type="text" name="fi-sender-firstName" placeholder="First name" required />
<input type="text" name="fi-sender-lastName" placeholder="Last name" required />
<input type="email" name="fi-sender-email" placeholder="Email" required />
<textarea name="fi-text-message" placeholder="Message" required></textarea>
<button type="submit">Send</button>
</form>
<script src="https://forminit.com/sdk/v1/forminit.js"></script>
<script>
const forminit = new Forminit();
document.getElementById('contact-form').addEventListener('submit', async (e) => {
e.preventDefault();
const { data, error } = await forminit.submit('YOUR_FORM_ID', new FormData(e.target));
if (error) {
console.error(error.message);
return;
}
console.log('Submitted:', data.hashId);
e.target.reset();
});
</script>
Framework Integrations:
Migrating from Netlify Forms
Section titled “Migrating from Netlify Forms”Remove Netlify-Specific Attributes
Section titled “Remove Netlify-Specific Attributes”Netlify Forms:
<form name="contact" method="POST" data-netlify="true">
<input type="hidden" name="form-name" value="contact" />
<input type="text" name="name" />
<input type="email" name="email" />
<textarea name="message"></textarea>
<button type="submit">Send</button>
</form>
Forminit:
<form id="contact-form">
<input type="text" name="fi-sender-fullName" />
<input type="email" name="fi-sender-email" />
<textarea name="fi-text-message"></textarea>
<button type="submit">Send</button>
</form>
<script src="https://forminit.com/sdk/v1/forminit.js"></script>
<script>
const forminit = new Forminit();
document.getElementById('contact-form').addEventListener('submit', async (e) => {
e.preventDefault();
const { data, error } = await forminit.submit('YOUR_FORM_ID', new FormData(e.target));
if (error) {
console.error(error.message);
return;
}
e.target.reset();
});
</script>
Field Name Mapping
Section titled “Field Name Mapping”| Netlify Forms | Forminit |
|---|---|
name="name" | name="fi-sender-fullName" |
name="email" | name="fi-sender-email" |
name="phone" | name="fi-sender-phone" |
name="message" | name="fi-text-message" |
name="company" | name="fi-sender-company" |
What Changes
Section titled “What Changes”| Netlify Forms | Forminit |
|---|---|
data-netlify="true" attribute | SDK script and submit handler |
Hidden form-name field | Form ID in submit call |
| Automatic detection at build | Explicit form creation in dashboard |
netlify-honeypot attribute | Built-in spam protection + optional honeypot |
| Netlify hosting required | Any hosting provider |
Export your existing submissions from the Netlify dashboard before migrating; Forminit does not import historical data.
Does Forminit require a specific hosting provider?
Section titled “Does Forminit require a specific hosting provider?”No. Forminit works with any hosting provider including Vercel, Cloudflare, AWS, GitHub Pages, DigitalOcean, or self-hosted servers, and keeps working if you switch.
Is Netlify Forms free?
Section titled “Is Netlify Forms free?”On current credit-based Netlify plans (accounts created since late 2025), form submissions are free and unlimited. Legacy per-site plans meter submissions and file uploads, with a limited free tier. Either way, forms only work while your site is hosted on Netlify.
Can I use Forminit with a static site?
Section titled “Can I use Forminit with a static site?”Yes. Include the SDK via CDN and submit forms with JavaScript, or use a plain HTML form action. No server-side rendering required.
What spam protection options are available?
Section titled “What spam protection options are available?”Forminit’s spam protection is built in and works out of the box. You can additionally enable reCAPTCHA, hCaptcha, or a honeypot field.
Can I migrate existing Netlify Forms submissions?
Section titled “Can I migrate existing Netlify Forms submissions?”Forminit does not import historical data from Netlify Forms. Export your existing submissions from Netlify before migrating.
Is Forminit GDPR compliant?
Section titled “Is Forminit GDPR compliant?”Yes. Forminit is UK-registered, ICO-listed, and complies with the UK GDPR and the EU GDPR framework. All form data is encrypted and stored on AWS servers in Ireland (EU), a DPA is included, and all subprocessors are EU-based. See the GDPR compliance page for details.
Related Documentation
Section titled “Related Documentation”- Form Blocks Reference: Available field types
- File Uploads: File upload handling
- HTML Integration: Static site setup
- Next.js Integration: Next.js setup
- Nuxt.js Integration: Nuxt.js setup
- Node.js Integration: Server-side usage
- List Submissions API: Retrieve submissions
- Submit Form API: API reference
Was this page helpful?
Thanks for your feedback.