In a nutshell...
Formspree
A form backend that stores your submissions and sends them on to your tools, for forms whose data needs to outlive the email.
FormSubmit
A free, no-signup form endpoint that emails you each submission, for simple forms where an email is all you need.
Formspree and FormSubmit, side by side
What you get, what you give up, and what you pay with each.
Formspree prices are billed monthly. FormSubmit details reflect its current service, as of October 2026.
Same form tag. Different job after the submit.
Both take a plain HTML form. Point its action at the service, give each field a name, and submissions land in your email. There’s no server code, no iframe and no build step. Both accept AJAX posts from any domain, so either one works on any host or framework.
Both fight spam, too. FormSubmit puts reCAPTCHA on every form by default and adds a honeypot field, a phrase blocklist and its own filter. Formspree runs Formshield, its machine-learning filter, on every plan. You choose reCAPTCHA, hCaptcha or Turnstile, add a honeypot, and can restrict a form to your domain. Professional adds controls for how hard Formshield filters and which categories it blocks.
The difference is what each one is. FormSubmit is a relay: no account, settings in your markup, and email as the destination. Formspree is an account: submissions are kept, settings live in a dashboard, and the data moves on to the tools you already use.
FormSubmit forwards. Formspree keeps.
FormSubmit’s job is the email. It does keep a 30-day archive, which you reach through its API: request a key, it arrives by email, and you can fetch your submissions as JSON up to five times a day. Uploaded files aren’t kept, and there’s no dashboard to log into.
Formspree stores every submission in your account, where you can read it whether or not the email arrived. Free keeps 30 days and paid plans keep everything. From Personal up you can search your submissions and export them as CSV or JSON.
FormSubmit’s settings live in your page source.
With FormSubmit, the form is the configuration. The standard setup puts your email address in the action URL, and every option is a hidden input: _cc for extra recipients, _webhook for a callback URL, _autoresponse for the reply text, _next for the redirect. Anyone who views your page source sees all of it.
FormSubmit’s Invisible emails swap your address for a random string, and that helps. The rest stays in the markup, and changing any of it means editing and redeploying the page.
A Formspree endpoint is a form ID that never contains your address. Recipients, redirects, autoresponses and plugins are set in the dashboard, so you change them without touching the site. On Professional and up, teammates get their own logins to the same forms.
One webhook, or a shelf of plugins.
FormSubmit’s one integration is _webhook, which posts each submission to a URL you supply. It’s free and flexible if you have a server or function to receive it. Everything past that point is yours to build.
Formspree has plugins that need no code, and it handles retries and delivery for you. Slack, Discord, Telegram and WhatsApp alerts work on every plan. Google Sheets, Airtable, Notion, Trello and GitHub start at Personal. HubSpot, Mailchimp, Zendesk, Zapier and webhooks start at Professional.
Switching is a one-line change.
Create a form in Formspree, copy its endpoint, and paste it into your form’s action in place of the FormSubmit URL. Your field names carry over as they are. If you’d rather hand it off, point your coding agent at formspree.io/ai. It writes the form and a link that creates it in your account; you sign in and paste the endpoint back.
Then swap the hidden inputs. _subject becomes subject, which works on every plan and can pull in values from the submission. _honey becomes _gotcha, and a field named email still sets the Reply-To. _captcha becomes a switch in your form’s settings. _next, _cc, _autoresponse and _webhook move into the dashboard on paid plans.
Your old submissions stay where they are. If you want a copy outside your inbox, pull the last 30 days from FormSubmit’s API, then ask FormSubmit to deactivate the old form once the new one works.
Just use Formspree.
FormSubmit is a fair pick for a simple contact form where your inbox is all the record you need. It’s free, it doesn’t cap submissions, it takes file uploads, and you never make an account.
Formspree fits once the form starts to matter: you need last quarter’s leads, a teammate needs access, you’d rather keep settings out of your markup, or submissions should go straight into Sheets or your CRM. It’s free to start, and you upgrade when the form needs more.
Questions you might still be asking
Do I need an account to use Formspree?
Yes, and it’s free. Your account is where submissions are kept and your form settings live, so you can change them without editing your site.
How do I move a FormSubmit form to Formspree?
Create a form in Formspree and paste its endpoint into your form’s action in place of the FormSubmit URL. Field names stay exactly as they are, so nothing else about the form changes.
What do I do with FormSubmit’s hidden inputs?
Rename _subject to subject and _honey to _gotcha; both work on every plan. Remove the rest and set them up in your Formspree dashboard instead: redirects and extra recipients from Personal, autoresponses and webhooks from Professional.
What about submissions I’ve already received?
They stay in your inbox, and Formspree starts storing from the first submission to your new endpoint. FormSubmit keeps the last 30 days in its archive, so pull them from its API before you switch if you want a copy outside email.
Is there a free plan?
Yes. Free includes unlimited forms, 50 submissions a month, a 30-day archive, spam filtering, and notifications by email, Slack, Discord, Telegram, or WhatsApp. Paid plans start at $15 a month and raise the limit to 200, 2,000, or 20,000 submissions.
What happens if I go over my monthly limit?
Nothing is lost. Your form keeps working, and submissions over the limit wait in an Over Limit folder until you upgrade or your limit resets, then you reprocess them.
Can Formspree accept file uploads?
Yes, from the Personal plan. Each submission can carry up to 10 files at 25 MB each, stored with the submission and linked in your notification email.
Is Formspree secure?
Yes. Formspree is SOC 2 Type II audited and GDPR and CCPA compliant, and it encrypts submissions in transit with TLS 1.2 or higher and at rest with AES-256.
Do I need to know how to code to set it up?
Nope. If you use an AI coding tool, point it at formspree.io/ai: it writes the form and a link that creates it in your account, and you sign in and paste the endpoint back.