7 Best Form Backend Services in 2026 [Compared]
Short answer: Forminit is the best all-round form backend in 2026 for developers who need hosting-independent forms, stored file uploads, schema-based server-side validation, EU data hosting, and an upgrade path from a plain HTML endpoint to a protected API. Netlify Forms is the default choice for sites already hosted on Netlify, Web3Forms gives the largest free submission allowance of any hosting-independent service, and Basin gives the most free file storage and is the only other service here with a configurable retention period.
- Best overall: Forminit
- Best for Netlify-hosted sites: Netlify Forms (free and unlimited on new plans)
- Best free submission allowance, hosting-independent: Web3Forms (250/month)
- Best free file storage: Forminit and Basin (100 MB each)
- Best retention control: Forminit and Basin, the only two that let you set a retention period and delete submissions automatically
- Best automated follow-up: Forminit, with multi-step workflows, If / else routing and per-action retry
- Best no-account email forwarding: FormSubmit
- Best for templated client-side email: EmailJS
A form backend is an API that handles everything after a user clicks submit: receiving data, validation, storage, notifications, file uploads, and integrations. You build the form yourself, in any framework and any design. The backend is an endpoint you POST to.
Here are the 7 major options in 2026, ranked.
How we evaluated these services: We compared the plans available to new customers using each provider’s official pricing, documentation, and legal pages, linked under each service below. We evaluated setup, submission storage, file uploads, validation, spam protection, integrations, hosting portability, data residency, and price. The original comparison was checked on 9 August 2026, retention behavior was reviewed on 31 August, and Formspree details were reviewed again on 16 September 2026. Forminit publishes this comparison; where another service is stronger, we say so.
Quick comparison
| Forminit | Formspree | FormSubmit | EmailJS | Netlify Forms | Basin | Web3Forms | |
|---|---|---|---|---|---|---|---|
| Type | Form backend API | Form backend | Email forwarding | Email sending | Platform forms | Form backend | Email relay |
| Submission storage | Yes (inbox UI) | Yes (table) | 30 days, API only | No | Yes (table) | Yes (table) | 30-day log |
| Submission retention control | Yes, per form (keep, or 30/90/365/custom, Pro) | No | No | No | No | Yes, per form (capped by plan) | No |
| Server-side validation | Typed blocks (email, phone, URL, date, rating, country) | Workflow rules, including default/action-required validation | No | No | No | Email/phone checks (paid credits) | No |
| Authentication modes | Public + protected (X-API-KEY, 5 req/s) | Public endpoint only | Public endpoint only | Public client keys | Platform-managed | Public endpoint only | Public access key |
| File uploads on free plan | Yes, stored (100 MB storage) | No (paid only) | Email-only, not stored | No (paid only) | Yes (8 MB request cap) | Yes (100 MB storage) | No (Pro only) |
| Max upload size | 25 MB/submission | 25 MB/file (paid) | 10 MB total | 30 MB (top plan) | 8 MB total | Not published | 5 MB/file (Pro) |
| Zapier on free plan | No (Pro and higher) | No | No | No | No | Yes | No |
| Automated workflows | Yes, visual builder: several actions, If / else routing, per-action retry (all plans) | Basic, no branching: parallel actions; single-condition rules on Business ($90/mo) | No workflow | No workflow (logic in your code) | No workflow builder (notifications for every submission) | No workflow builder (AI tag rules fire email/webhooks, Pro) | No workflow builder (integrations for every submission) |
| Webhooks | Pro ($19/mo) | Professional ($30/mo)+ | Yes (basic) | No | Outgoing notifications | Growth ($24/mo)+ | Pro only |
| UTM auto-capture | Yes | Additional data can be supplied through its JS library | No | No | No | No | No |
| EU data hosting | Yes (AWS Ireland) + DPA | No (AWS US), SCCs | No documentation | No documentation | No | No (Canada/US), DPA | No (US-East), DPA |
| Works with any host | Yes | Yes | Yes | Yes | Netlify only | Yes | Yes |
| Email hidden from source | Yes (Form IDs) | Yes | Exposed by default | Template IDs visible | Yes | Yes | Access key visible |
| Free plan | 100 subs/mo + uploads | 50 subs/mo | Free service | 200 emails/mo | Unlimited (new plans) | 50 subs/mo, 1 form | 250 subs/mo |
| Paid from | $19/mo | $15/mo | None | $9/mo | Credit-based | $12.50/mo | $12/mo (yearly) |
1. Forminit
Forminit (formerly Getform.io) is a headless form backend API with a block-based data model. Instead of flat key-value pairs, submissions use typed blocks. Each field has a type (text, email, phone, URL, date, rating, file, country) that’s validated server-side before storage. Free plan: 100 submissions/month with file uploads. Paid plans start at $19/month.
Sources checked: pricing · documentation · GDPR & DPA
Forminit is also the most mature product in this space. It has operated continuously since 2015, first as Getform.io and as Forminit since January 2026, and in that time has handled form submissions for teams at Burger King, Volkswagen, Toyota, Lidl, Codecademy, Sticker Mule, and the University of Essex. Longevity matters in this category: a form backend sits in your critical path, and a service with more than a decade of paying customers is far less likely to disappear than a newer side project.
What it does well:
- The most complete free plan in the category. 100 submissions per month with file uploads (100 MB storage), built-in validation, spam protection, redirections, and email notifications, no credit card required. Every other service here charges for at least one of those: Formspree charges $15/mo for uploads, EmailJS charges $9/mo for attachments, Web3Forms charges $12/mo for uploads and integrations, and Basin, the closest free plan with stored uploads and free Zapier, includes no validation credits and caps you at 50 submissions on a single form.
- Two authentication modes. Forminit is the only service in this comparison that offers both a public and a protected mode on the same form. Public mode is for static sites with no backend: drop the endpoint into a plain HTML form or a single
fetchcall, no API key, nothing to configure, rate-limited to 1 request per 5 seconds per IP address. Protected mode is where Forminit becomes a proper form submission API: authenticate with anX-API-KEYsecret header and the rate limit rises to 5 requests per second per IP address, built for high-volume sending from backends, proxies, internal systems, or any server-side environment, with the key never exposed in the browser. Same form, same endpoint, you just switch the mode. - Server-side validation. Email fields validate RFC 5322 format. Phone fields validate E.164. URLs are checked for valid structure. Dates must be ISO 8601. Ratings must be 1-5. Country codes must be ISO 3166-1 alpha-2. Bad data is rejected before it’s stored.
- File uploads. 25 MB per submission, 50+ MIME types (PDF, DOCX, images, video, audio, archives). Direct download URLs in the dashboard. Included on the free plan. The 25 MB per-submission cap applies on every plan; what varies is total stored-file capacity (100 MB on Free, 1 GB on Pro, 5 GB on Business), so on Free the storage quota, not the per-submission cap, is the practical ceiling.
- Optional 2 KB SDK. Not required (a plain form works), but the JavaScript SDK (npm or CDN) adds auto UTM capture, upload progress, and ready-made proxy handlers for Next.js and Nuxt.js.
- Inbox-style dashboard. Star submissions, track status (open/in-progress/done/cancelled), add internal notes, filter by date/status/starred/unread.
- Attribution tracking. Auto-captures UTM parameters, ad click IDs (Google, Facebook, Microsoft, TikTok, X), referrer, and geolocation. No extra code needed.
- Automated workflows. A visual Workflow runs several actions per submission (email notifications, autoresponses, webhooks, Slack, Discord, Google Sheets, status changes) and routes submissions with If / Else if / Else conditions on answers, sender details, UTM data and files. Each submission shows what ran, and a failed action can be retried on its own. Email, conditions and status actions are on the free plan.
- Retention you control. Submissions are stored with no time limit by default. On paid plans, Submission Retention sets a period per form (30, 90 or 365 days, or a custom one), after which each submission and its uploaded files are permanently deleted, in both Inbox and Trash. Only Basin offers anything comparable here.
- GDPR-ready, EU-hosted. All form data is encrypted in transit and at rest and stored on AWS servers in Ireland (EU). Forminit is UK-registered and ICO-listed, a DPA is included, and every subprocessor is EU-based. See the GDPR compliance page for details.
Pricing (source): Free (100 subs/mo, file uploads, unlimited archive), Pro $19/mo (5,000 subs, 1 GB storage, autoresponder, webhooks, REST API, Google Sheets, Zapier, Slack/Discord, CSV export, analytics), Business $99/mo (50,000 subs, unlimited forms, 10 GB, custom SMTP, workspaces). Yearly billing saves 2 months on Pro and 50% on Business.
Best for: Developers, SaaS teams, and agencies building custom form interfaces who need structured server-side validation, stored file uploads, EU data hosting, and reliable delivery to APIs and integrations, without maintaining their own form infrastructure. It still starts simple: a plain HTML form or one fetch call, no backend required.
2. Formspree
Formspree is a form backend that accepts submissions via a POST endpoint. It’s been around since 2014 and is one of the most well-known options. Free plan: 50 submissions/month, no file uploads. Paid plans start at $15/month.
Formspree details reviewed on 16 September 2026: pricing · validation · JavaScript library · privacy · security.
What it does well:
- Submission storage with a dashboard (30-day history on the free plan).
- Email notifications on submissions.
- Server-side validation rules for text, number, email, URL, date/time, and file fields (its Workflow feature), available on all plans.
- REST API for reading submissions programmatically.
- SOC 2 Type 2 audited, with Standard Contractual Clauses for EU transfers.
- Unlimited forms on every plan, with a shared submission allowance.
- JavaScript libraries for React (
@formspree/react) and plain HTML forms (@formspree/ajax).
Where it falls short:
- Data is hosted in the United States. Formspree runs on AWS US and relies on Standard Contractual Clauses for EU transfers. If your legal team requires EU data residency, Formspree cannot provide it.
- No file uploads on the free plan. Uploads start on the $15/mo Personal plan (1 GB storage).
- Submission protection differs. Form endpoints are public, with domain restrictions. Forminit also offers API-key-protected submission endpoints; domain checks and server authentication serve different purposes.
- Validation uses Workflow rules. Formspree includes default email and action-required validation, plus configurable field rules. Forminit instead validates typed blocks by default, which can reduce per-field configuration.
- Lower entry price, less submission capacity. Personal is $15/month for 200 submissions and unlimited forms. Forminit Pro is $19/month for 5,000 submissions across 15 forms.
- Webhooks start on Professional ($30/month). They are not included on Free or Personal. Forminit includes webhooks on Pro ($19/month).
- Retention is a plan property, not a setting. The free plan keeps 30 days of submission history and paid plans keep submissions longer, but the help center documents no way to choose a retention period per form or auto-delete on a schedule you set.
Pricing: Free (50 subs/mo), Personal $15/mo (200 subs, 1 GB uploads), Professional $30/mo (2,000 subs), Business $90/mo (20,000 subs).
Best for: Developers who want a familiar name and a standard POST endpoint, don’t need file uploads on the free tier, and don’t have EU data residency requirements.
3. FormSubmit.co
FormSubmit is a free email-forwarding service. You point your form’s action attribute at https://formsubmit.co/your@email.com and submissions land in your inbox. It’s entirely free with no paid plans. For a feature-by-feature breakdown, see Forminit vs FormSubmit.
Sources checked: documentation · privacy policy
What it does well:
- No account required: put your email in the form action and confirm once.
- File uploads, free. Forms with
enctype="multipart/form-data"can attach files up to 10 MB total per submission. - Basic webhook support via a
_webhookhidden field. - Custom redirects, CC recipients, and auto-response emails.
Where it falls short:
- Your email address is in the HTML source by default. FormSubmit issues a random alias after confirmation, but the default setup exposes the recipient address to scrapers and spam bots unless you switch the form to that alias.
- Files are never stored. Attachments arrive as email attachments only. If the email is lost, the file is gone.
- No dashboard. Submissions are kept for 30 days, but the archive is only reachable through an API limited to 5 requests per day. The 30-day window is fixed: you cannot keep records longer, and you cannot shorten it for data you would rather not hold.
- No validation. It forwards whatever it receives.
- No compliance documentation. No DPA and no audits. The only privacy policy is a generic document dated January 2019 that predates, and contradicts, the 30-day retention its own docs now describe.
Pricing: Free.
Best for: Personal projects and prototypes where email delivery is enough and compliance doesn’t matter. Not recommended for production sites collecting EU personal data.
4. EmailJS
EmailJS sends form data as emails using pre-configured templates. You create an email template, connect an email provider, and send directly from the browser using their JavaScript library. EmailJS solves “send an email”; a form backend solves “manage form submissions.”
Sources checked: pricing · documentation · privacy
What it does well:
- Email template system with variables.
- Works client-side, no server needed.
- Supports multiple email providers (Gmail, Outlook, custom SMTP).
- Free tier covers 200 emails/month with 2 templates.
Where it falls short:
- Not a form backend. EmailJS is an email delivery service. It sends messages but doesn’t store submissions: there is no submission inbox, only a short-lived email history (7 days on Free, 30 days on the paid plans, fixed and not configurable), and its REST API covers sending and that history log, not submission data. No webhooks.
- File attachments are paid-only. The free plan has no attachment support at all. Paid plans cap attachments at 500 KB ($9/mo), 2 MB ($15/mo), or 30 MB ($40/mo).
- No server-side validation. Data goes straight to email.
- Over-quota requests are dropped. Once you pass your monthly limit, submissions are silently ignored.
- Template IDs in client code. Your email isn’t exposed like FormSubmit, but your template and service IDs are visible in the browser.
Pricing: Free (200 emails/mo, no attachments), Personal $9/mo (2,000 emails, 500 KB attachments), Professional $15/mo (2 MB attachments), Business $40/mo (30 MB attachments).
Best for: Simple contact forms where you only need templated email notifications and don’t need storage, file uploads, or an API. If you’ve outgrown that, the Forminit vs EmailJS comparison breaks down storage, uploads, and pricing side by side.
5. Netlify Forms
Netlify Forms is built into the Netlify hosting platform. If your site is on Netlify, forms are detected automatically from your HTML and submissions are stored. On Netlify’s credit-based plans (accounts created after September 2025), form submissions are free and unlimited as of April 2026. For a feature-by-feature breakdown, see Forminit vs Netlify Forms.
Sources checked: pricing · forms documentation
What it does well:
- Built into the platform: add a
netlifyattribute to your form tag and submissions are collected. - Free, unlimited submissions on new credit-based plans (legacy accounts keep the 100/month cap).
- Spam filtering with built-in Akismet.
- Submission storage in the Netlify dashboard, with email and outgoing webhook notifications.
Where it falls short:
- Platform lock-in. Netlify Forms only works on Netlify. Move to Vercel, Cloudflare, or any other host and your forms break completely.
- 8 MB request cap. The entire submission, files included, must fit in 8 MB, with a 30-second upload timeout and one file per field.
- No server-side validation, no UTM tracking, no SDK.
- No automatic deletion. Netlify Forms never expires submissions. Its own documentation recommends that you “actively manage the data by exporting form submissions and deleting them regularly,” which means clearing them by hand or scheduling a function against the API.
- Basic dashboard. A simple table without status tracking, starring, or internal notes.
Pricing: Free and unlimited on credit-based plans; legacy plans are limited to 100 submissions/site/month.
Best for: Sites already committed to Netlify hosting that need basic contact forms. Accept the lock-in.
6. Basin
Basin is a form backend with submission storage and email notifications. It sits between FormSubmit (email-only) and more full-featured backends. Free plan: 50 submissions/month on a single form, with 100 MB of file storage and Zapier.
Sources checked: pricing · validation docs · privacy & DPA
What it does well:
- Submission storage and dashboard.
- File uploads on the free plan, with 100 MB of storage included.
- Zapier on every plan, including Free.
- Spam filtering (reCAPTCHA, hCaptcha, Cloudflare Turnstile, AI-based filtering) and email notifications.
- Per-form data retention. Basin is the only other service here that lets you set a retention period and have submissions deleted automatically (Form → Settings → General).
- A public DPA with SCCs.
Where it falls short:
- The free plan is tight: 50 submissions/month and 1 form. Half of Forminit’s free submission volume, on a single form.
- Retention is capped by plan. Basin’s retention setting also works as a ceiling: the Free plan cannot keep submissions beyond 30 days and Starter beyond 365, so on the cheaper plans the deletion is imposed rather than chosen.
- Webhooks and API only from the Growth plan (~$24/mo billed yearly).
- No EU hosting option. Basin’s primary hosting and database run on DigitalOcean in Canada, with AWS in the United States handling file storage and processing.
- No schema-first typed data model. Paid plans include real-time email and phone validation, but it’s credit-based (100 checks/month on Starter, zero included on Free) rather than built into the data model. No authentication modes, no SDK, no UTM tracking.
Pricing: Free (50 subs/mo, 1 form, 100 MB), Starter $12.50/mo (250 subs, 3 forms), Growth $24.17/mo (1,000 subs, webhooks + API), Pro ~$30/mo (5,000 subs).
Best for: Small projects that want a budget backend with stored uploads and can live with 50 submissions on one form.
7. Web3Forms
Web3Forms is an access-key email relay aimed at static sites. You embed a public access key in your HTML; the key is visible in the page source by design, though your raw email address isn’t. Free plan: 250 submissions/month, no file uploads, no integrations. For a feature-by-feature breakdown, see Forminit vs Web3Forms.
Sources checked: pricing · docs FAQ · privacy · DPA
What it does well:
- The highest free submission count here: 250/month.
- Unlimited forms and access keys on the free plan.
- hCaptcha spam protection and custom redirects, free (its honeypot “botcheck” is deprecated in the docs).
- A basic 30-day submission log.
Where it falls short:
- No file uploads on the free plan. Uploads are Pro-only, at 5 MB per file with the standard uploader.
- All integrations are Pro-only. Webhooks, autoresponder, Google Sheets, Notion, Slack: nothing on free.
- The access key is public. Anyone reading your source can submit to your form; there’s no protected mode.
- The history window is fixed by plan. 30 days on Free, three months on Starter, one year on Pro, with uploaded files kept 30 days. There is no per-form retention setting.
- No validation and no real dashboard. Web3Forms published a DPA in July 2026 and its privacy policy has a GDPR-rights section, but its own docs state the servers are in the US (US-East), with no EU data-residency option.
Pricing: Free (250 subs/mo, 30-day log), Starter $49/yr (5,000 subs, no uploads or autoresponder), Pro $12/mo billed yearly (10,000 subs, file uploads with 30-day file storage, webhooks, autoresponder, 1-year submission history).
Best for: Static-site contact forms with higher volume needs and zero requirements beyond email delivery.
Which form backend has file uploads on the free plan?
Forminit is the only form backend here whose free plan combines stored file uploads with schema-based validation: 100 MB of file storage, up to 25 MB per submission, 100 submissions per month, plus spam protection. Formspree, EmailJS, and Web3Forms all lock file uploads behind paid plans. FormSubmit forwards attachments by email but never stores them. Basin stores 100 MB free but caps you at 50 submissions and one form.
| Service | Uploads on free plan | Details |
|---|---|---|
| Forminit | Yes, stored | 100 MB storage, 25 MB/submission, download URLs, 100 subs/mo |
| Formspree | No | Paid from $15/mo (1 GB storage) |
| FormSubmit | Email-only | 10 MB total, attached to the email, never stored |
| EmailJS | No | Attachments from $9/mo (500 KB limit) |
| Netlify Forms | Yes | 8 MB total request cap, Netlify hosting only |
| Basin | Yes, stored | 100 MB storage, but 50 subs/mo on 1 form |
| Web3Forms | No | Pro only ($12/mo, 5 MB/file) |
If “free plan with file uploads” is your requirement, the practical shortlist is Forminit and Basin. Forminit doubles the submission volume, removes the one-form cap, and adds schema-based validation. See the file upload form guide for a working example.
Which form backends let you set a submission retention period?
Only two of the seven: Forminit and Basin. The other five have no retention control at all. What they have instead is a storage window fixed by the plan you are on, which is a limit imposed on you rather than a policy you set, and Netlify Forms does not expire submissions at all.
That matters because GDPR’s storage limitation principle expects you to hold personal data no longer than you need it. If the service cannot delete on a schedule, the alternative is clearing submissions by hand or writing a script against an API.
| Service | Retention control | Details |
|---|---|---|
| Forminit | Yes, per form | Until manually deleted, or 30, 90 or 365 days, or a custom period. Applies to Inbox and Trash, and deletes uploaded files with the submission. Pro plan and higher |
| Basin | Yes, per form | Set under Form → Settings → General, but plan tiers cap it: 30 days on Free, 365 on Starter, unlimited on Growth and above |
| Formspree | No | No retention setting. Storage is fixed by plan: 30 days of history on Free, longer on paid |
| FormSubmit | No | No retention setting. Every submission is deleted after a fixed 30 days |
| EmailJS | No | No retention setting. Email history only, fixed at 7 days on Free and 30 days on paid |
| Netlify Forms | No | No retention setting and no automatic deletion at all. Docs recommend exporting and deleting regularly, by hand or via the API |
| Web3Forms | No | No retention setting. Log length is fixed by plan: 30 days on Free, three months on Starter, one year on Pro; files kept 30 days |
Basin is the closest comparison, and on the Growth plan and above it is genuinely equivalent. The difference is direction: Basin’s cheaper tiers impose a maximum retention (30 days on Free), while Forminit stores with no time limit by default on every plan and the paid setting exists to delete data sooner when your policy calls for it. Full behavior is documented on the Submission Retention page.
Which form backends can automate follow-up with conditions?
Sending one notification email is table stakes. The harder part is everything a team does next: routing a sales enquiry to sales and a support request to support, adding every lead to a spreadsheet, alerting Slack about large deals, and knowing when one of those steps failed.
Only Forminit does this as a multi-step workflow built into the form backend. Formspree and Basin offer narrower rules on higher plans; the other four leave conditional logic to your own code or to tools such as Zapier.
| Service | Visual workflow builder | Routing by answers | Actions per submission | Visibility and retry |
|---|---|---|---|---|
| Forminit | Yes | If / Else if / Else on form fields, sender details, tracking data and files; Match all or Match any | Several, in one flow: email, autoresponse, webhook, Slack, Discord, Google Sheets, status, spam, trash | Results on every submission and in filterable logs; retry a single failed action; run the workflow for restored spam |
| Formspree | Basic, no branching | Form Rules on Business ($90/mo): one field condition per rule | Workflow actions run in parallel for every submission; rules send email, tag spam or redirect | Automatic retries for integrations; no documented per-action log |
| Basin | No | Rules on AI-assigned tags with AND/OR, Pro plan and higher | Email and webhook actions | Webhook retries; per-submission log with manual webhook re-fire |
| Netlify Forms | No | Not built in; Functions or third-party tools | Email, Slack and webhook notifications for every submission | Not documented |
| Web3Forms | No | Not built in; Zapier filters | Slack, Discord, Telegram and webhooks on Pro, for every submission | Not documented |
| FormSubmit | No | None | One email, plus _cc, _webhook and _autoresponse | None |
| EmailJS | No | In your own code | One email per call | Sent-email history |
A Forminit workflow reads top to bottom. This one records every lead, then alerts sales only for larger budgets:
╭───────────────────────╮
│ Submission received │
╰───────────┬───────────╯
╭───────────▼───────────╮
│ Send to Google Sheets │
╰───────────┬───────────╯
╭───────────▼───────────╮
│ If / else │
│ Budget > 5000? │
╰───────────┬───────────╯
╭─────────────┴─────────────╮
│ If │ Else
╭───────────▼───────────╮ ╭───────────▼───────────╮
│ Notify sales │ │ Email general │
│ in Slack │ │ enquiries │
╰───────────────────────╯ ╰───────────────────────╯
Workflow details checked on 3 October 2026 against Formspree Form Rules, Formspree Workflow, Basin tags and rules, Netlify form notifications and Web3Forms integrations. See the Forminit Workflow documentation for every action and plan.
What is the best Formspree alternative for EU GDPR compliance?
Forminit. All form data is stored on AWS servers in Ireland (EU), a DPA is included, every subprocessor is EU-based, and the company is registered with the UK ICO. Formspree is SOC 2 audited, but hosts data on AWS in the United States and relies on Standard Contractual Clauses for EU transfers. If your requirement is EU data residency, Formspree can’t meet it.
Among the rest: Basin hosts primarily on DigitalOcean in Canada with AWS US for file storage (with a DPA), FormSubmit publishes no compliance documentation at all, and Web3Forms published a DPA in July 2026, but its servers are stated as US-East with no EU option. Full details on the Forminit GDPR page and the Formspree alternatives comparison.
Which should you choose?
Choose Forminit if you want the most complete free plan (100 submissions, file uploads, validation, spam protection), EU-hosted data with a DPA, and a backend that starts as a plain HTML form in public mode and scales to an authenticated, high-volume submission API in protected mode.
Choose Formspree if unlimited forms, its React or plain JavaScript libraries, or a SOC 2 Type 2 audit report matter to your project. Check its US data hosting and paid-only uploads against your requirements.
Choose FormSubmit if you need a free email forwarder for a personal project and don’t care about email exposure or storage. Not recommended for production.
Choose EmailJS if you specifically need templated email delivery and nothing else: no storage, no dashboard, no free attachments.
Choose Netlify Forms if you’re on a new Netlify plan and want unlimited basic forms. Accept the platform lock-in and the 8 MB cap.
Choose Basin if you want a budget backend with stored uploads and free Zapier, and can live with 50 submissions per month on a single form.
Choose Web3Forms if you want the highest free submission count (250/month) for a static site and need nothing beyond email delivery.
Frequently asked questions
Which form backend offers file uploads on a free plan?
Forminit. Its free plan includes file uploads with 100 MB of storage and up to 25 MB per submission, alongside 100 submissions per month. Formspree, EmailJS, and Web3Forms only offer file uploads on paid plans. FormSubmit forwards attachments by email without storing them, and Basin’s free plan stores files but allows only 50 submissions and one form.
What is the best Formspree alternative for EU GDPR compliance?
Forminit. All form data is stored on AWS servers in Ireland (EU), with a DPA, EU-based subprocessors, and UK ICO registration. Formspree is SOC 2 audited and relies on Standard Contractual Clauses for EU transfers, but hosts data on AWS in the United States, which rules it out when EU data residency is a requirement.
Which form backend lets you set how long submissions are stored?
Forminit and Basin are the only two here with a configurable retention period. Forminit lets you choose per form (until manually deleted, or 30, 90 or 365 days, or a custom period) on the Pro plan and higher, and deletes uploaded files with the submission. Basin offers a similar setting but caps it by plan, at 30 days on Free and 365 on Starter. Formspree, FormSubmit, EmailJS and Web3Forms have no retention setting at all, only a storage window fixed by plan, and Netlify Forms never deletes submissions automatically.
Which form backend can route submissions with conditions and multiple actions?
Forminit. Its Workflow lets each form run several actions per submission (email notifications, autoresponses, webhooks, Slack, Discord, Google Sheets, status changes, spam and trash) and route submissions with If / Else if / Else conditions on form fields, sender details, tracking data and uploaded files. Every submission shows which actions ran, and a failed action can be retried on its own. Formspree’s Form Rules (Business plan) and Basin’s tag rules (Pro plan) offer narrower conditional actions; Netlify Forms, Web3Forms, FormSubmit and EmailJS have no built-in conditional routing.
What is a form backend?
A form backend is an API that handles everything after a user clicks submit: receiving the data, validating it, storing submissions, sending notifications, handling file uploads, and forwarding data to other services. You build the form UI yourself; the backend is an endpoint you POST to.
Which form backend has the most generous free plan?
Forminit’s free plan is the most complete in the category: 100 submissions per month with file uploads, built-in validation, spam protection, redirections, and email notifications. Basin’s free plan comes closest, with stored uploads and Zapier, but caps at 50 submissions on a single form. Web3Forms allows more raw submissions (250/month) but includes no file uploads and no integrations.
Is FormSubmit safe for production use?
Not for production sites handling EU personal data. Your email address sits in the HTML source by default, uploaded files are never stored, the 30-day archive is only reachable through an API limited to 5 requests per day, and there is no DPA or compliance documentation.
Which form backend is the most mature?
Forminit. It has operated continuously since 2015, first as Getform.io and as Forminit since January 2026, and has handled form submissions for teams at Burger King, Volkswagen, Toyota, Lidl, Codecademy, Sticker Mule, and the University of Essex. A form backend sits in your critical path, and a decade of paying customers is the strongest reliability signal in this category.