The ShipMyForm blog
Forms, without a backend
Practical, code-first guides on adding forms to static sites, stopping spam, routing submissions to email, and choosing a form backend.
Latest guides
Webflow & Framer Forms: Route Submissions Anywhere
Native Webflow and Framer forms are fine until the plan limits bite. One attribute (or one embed) routes your designed form through a real backend instead.
The 10 Best Form Backend Services in 2026
Formspree, Basin, Forminit, Web3Forms, Formspark and more — free tiers, verified pricing, and who each form backend really fits (including where ours falls short).
Send Email From an HTML Form — No SMTP, No PHP
What SMTP actually is, why your HTML form can't speak it (and shouldn't), and the modern setup that emails you submissions with zero mail servers.
How ShipMyForm Fights Form Spam (So You Never Have To)
Why we think spam is the backend's problem, not your visitors' — and how a layered defense keeps your inbox clean without a single CAPTCHA.
Formspree Pricing Explained: Is the Free Tier Enough? (2026)
What Formspree actually costs in 2026, what the 50-submission free tier does and doesn't include, and when a paid plan (or a different backend) makes more sense.
What Is a Form Endpoint? (And How to Use One)
The URL your form's action points to, explained: how endpoints receive submissions, how they relate to form backends, and how to wire one up.
Request a Quote Form: Examples & Best Practices (2026)
What to put on a request-a-quote form, real examples by industry, and the best practices that turn more visitors into qualified quote requests.
Hugo Contact Form Without a Backend (2026)
A copy-paste contact form for Hugo that emails you on every submission — drop it in as a shortcode, no server needed.
How to Fix CORS Errors When Submitting a Form
'Blocked by CORS policy' on a form POST? What the error actually means, why fetch() triggers it, and the fixes — including the plain-form path that avoids CORS entirely.
How to Submit a Form with JavaScript fetch()
The vanilla-JS pattern for submitting a form without a page reload — intercept submit, fetch() the data, and render success and per-field errors from the JSON response.
How to Handle Form Submissions in SvelteKit
Two ways to handle SvelteKit forms: native form actions with use:enhance, or a form backend that works even with adapter-static and no server.
How to Send Form Submissions to Slack
Get each form submission into Slack as a clean, formatted message. Use the managed Slack connector, or wire it up free with the webhook connector and an automation.
Protect Your Forms with Cloudflare Turnstile
Add Cloudflare Turnstile to any form — a free, mostly invisible CAPTCHA that stops scripted bots without image puzzles.
How to Add Validation to Your Form
Reject bad submissions with server-side rules — required fields, formats, and limits — in a few clicks, no backend code. fetch() callers get per-field errors.
How to Handle Form Submissions in Next.js
Three ways to handle a Next.js form — Server Actions, Route Handlers, or a form backend — with code for each and a clear rule for choosing.
How to Send Form Submissions to Google Sheets
Turn a static-site form into a live Google Sheet. Connect Google once and every submission appends as a row — or do it free with a webhook and Apps Script.
Basin Alternative: ShipMyForm vs Basin (2026)
A fair comparison of ShipMyForm vs Basin: free-tier headroom, paid feature mix, and a one-line migration for your static-site forms.
How to Connect Your Form to n8n
Send every form submission straight into an n8n workflow with the free webhook connector. No serverless glue, no polling.
ShipMyForm vs Netlify Forms: A Netlify Forms Alternative
Netlify Forms is great if you are all-in on Netlify. Here is how ShipMyForm compares when you want a form backend that runs on any host.
How to Send an HTML Form to Your Email (Without a Backend)
Why mailto: and PHP mail() let you down on a static site — and the reliable way to get form submissions into your inbox, spam folder avoided.
Astro Contact Form Without a Backend (2026)
A copy-paste contact form for Astro that emails you on every submission — no server or API route.
ShipMyForm vs Formspree: An Honest 2026 Comparison
An honest look at ShipMyForm vs Formspree: free tiers, retention, spam, pricing, and a drop-in migration that is usually one URL change.
How to Stop Contact Form Spam Without reCAPTCHA
Honeypots, rate limiting, and Turnstile — layered spam defenses that beat reCAPTCHA without the puzzles.