Guide
Formspree vs running forms on your own Cloudflare account (2026)
Form backends exist because static sites cannot keep a secret. You can rent that inbox by the month, buy a bundle of submissions, or run a small Worker on an account you already have. The right answer depends less on ideology than on how many forms you run, how much you enjoy operations, and whether a vendor name needs to appear on a questionnaire.
What the hosted plans cost right now
These are public list prices checked in 2026. Vendors change promotions; confirm on their sites before you decide.
- Formspree. Free plan: 50 submissions a month. Personal: about $10 a month when billed yearly, for 200 submissions. Webhooks and some automations sit on higher plans (Professional has been listed around $20 a month).
- Basin. Free: 50 a month on one form. Starter, billed yearly, has been about $12.50 a month for 250 submissions and a few forms. Webhooks often start on a higher tier.
- Formspark. Unusual: a one-time bundle, recently $25 (sometimes shown as discounted from $50) for 50,000 submissions that do not expire. When the bundle runs out, you buy another. You are still on their servers.
- Others. Getform (now Forminit), Web3Forms, and Static Forms sit in a similar band: a limited free tier, then a monthly or yearly plan.
For a moderately busy brochure site, $120 a year for Formspree Personal is the number most people remember. For an agency running many low-traffic client forms, the per-site subscription is the thing that starts to sting.
What “run it yourself on Cloudflare” actually costs
Cloudflare Workers Free allows 100,000 requests a day and a short CPU budget per request. D1, KV, and R2 each have a free allowance that covers a contact form or waitlist of ordinary size. You do not need a credit card to open the account.
A single form POST is one request (plus a CORS preflight in some browsers, plus Siteverify which you call out to Cloudflare anyway). You will not burn 100,000 requests on a typical marketing site. File uploads and sudden bot floods are the first things that can change the picture — which is why a self-hosted form still needs rate limits and a file size cap.
If you later outgrow the free CPU or request budget, Cloudflare’s paid Workers plan starts at a few dollars a month. That is still usually cheaper than a year of a mid-tier form SaaS, but it is no longer “zero.”
You also spend setup time, and you own the upkeep: rotating a secret, reading a failed Resend log, applying a schema change. If that sounds miserable, pay for Formspree and go back to design work. If you already use Wrangler, the upkeep is small.
When the hosted product is the better buy
Choose a hosted backend when you need a vendor already used to security reviews, when you want Zapier or a similar integration without writing it, when nobody on the team will log in to a Cloudflare dashboard, or when the form must keep working if you vanish for a month. Pay for that peace of mind on purpose, not because a tutorial from 2018 hardcoded Formspree.
When owning the Worker is the better buy
Choose your own Worker when the site already lives on Cloudflare Pages, when you are leaving Netlify mainly because of forms, when you want submissions in a database you can export or delete without a vendor ticket, or when several small sites would each need their own paid plan.
A $19 one-time kit such as Formharbor sits in that gap: you still operate a Worker, but you do not have to design the spam stack, the dashboard, or the waitlist referral logic on a Sunday. Formspark’s $25 bundle is the honest comparison on price — the difference is who holds the data when the bundle (or the product) ends.
A simple way to decide
If you have one form, fewer than 50 messages a month, and no appetite for Wrangler, stay on a free hosted tier until it pinches. If you are already paying $10–20 a month, or you are about to add forms to a third client site, running them on your Cloudflare account usually pays for itself in the first billing cycle. Do the arithmetic with your actual volume, not with a marketing “unlimited” claim — including your own.