A Formspree alternative for static site contact forms

A static site stops being static the moment it needs a contact form. Formspree solved that problem well and largely defined the category; this is the same idea with a lower barrier to getting started - an endpoint URL, no account, and nothing to configure before the first submission.

Open the Form Endpoint →

Formspree and Softland, side by side

 FormspreeSoftland
SetupCreate an account, then a formCreate an endpoint, copy the URL
Account to startRequiredNone
Spam filteringBuilt in, with reCAPTCHA integrationBasic
IntegrationsMany - Slack, Sheets, webhooks, ZapierEmail forwarding and submission history
Submission historyIn your account dashboardHeld against the endpoint, managed from this browser

The smallest thing that turns a folder of files into a site with a form

The moment a static site needs to receive anything, the usual answer is a serverless function, which means a runtime, a deployment target, a secrets store and something to send the email. That is a lot of apparatus for a form with three fields.

A form endpoint collapses all of it into one URL. Set the form action to that URL, and submissions are captured and forwarded. The site remains a folder of files on a CDN, which is presumably why you chose a static site to begin with.

Spam is the part everyone underestimates

Any form endpoint with a public URL will be found by bots, usually within days of going live. Whatever service you use, the defences that actually work are the cheap ones: a honeypot field a human never sees and never fills, a minimum time between page load and submission, and a server-side check that required fields are present and plausible.

Formspree offers more sophisticated filtering than this does, including captcha integration, and on a high-traffic public form that difference is worth paying for. Be honest with yourself about which kind of form you are building.

When Formspree is the better choice

  • The form is high-traffic or a frequent spam target and you want managed filtering and captcha integration.
  • Submissions need to reach Slack, a spreadsheet or a CRM automatically rather than an inbox.
  • A team needs a shared dashboard and an audit trail of everything submitted.
  • The form handles data with compliance requirements that need a named processor and a signed agreement.

Frequently asked questions

Do I need a backend for a contact form?
No. Point the form action at an endpoint URL and the submission is received and forwarded for you. The site itself stays entirely static.
Does it work with any static host?
Yes. It is a plain HTML form posting to a URL, so it works the same on Netlify, Vercel, GitHub Pages, S3 or a folder on any web server.
How is spam handled?
Basic filtering is applied. Add a honeypot field to your form for the biggest practical improvement. For heavily targeted public forms, a service with managed filtering and captcha support will do better.
Where do submissions go?
They are forwarded to the address you set on the endpoint and kept against the endpoint so you can read them later. The management token stays in your browser.

Try it yourself

A POST URL for your static site contact form.

Open the Form Endpoint

Formspree is a trademark of its respective owner. Softland is not affiliated with, endorsed by or sponsored by Formspree. This comparison reflects how each product works rather than what either costs, because pricing and plan limits change; check Formspree’s own site for its current terms.