<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>splitforms blog</title>
    <description>Form backend tutorials, comparisons, and dev tips from the splitforms team.</description>
    <link>https://splitforms.com/blog</link>
    <language>en</language>
    <lastBuildDate>Fri, 08 May 2026 00:00:00 GMT</lastBuildDate>
    <atom:link href="https://splitforms.com/blog/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Astro Contact Form Tutorial: Send Submissions to Email (2026)</title>
      <description>Add a working Astro contact form that delivers submissions to your inbox in 2026. Static islands, no API route, no SMTP setup, with optional client-side fetch and Astro Actions.</description>
      <link>https://splitforms.com/blog/astro-contact-form-tutorial</link>
      <guid isPermaLink="true">https://splitforms.com/blog/astro-contact-form-tutorial</guid>
      <pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
      <category>Tutorials</category>
    </item>
    <item>
      <title>Vue Contact Form Backend: Handle Submissions Without a Server (2026)</title>
      <description>Build a Vue contact form that delivers submissions to email without writing or hosting a backend. Vue 3 composition API, reactive validation, and a single fetch call.</description>
      <link>https://splitforms.com/blog/vue-contact-form-backend</link>
      <guid isPermaLink="true">https://splitforms.com/blog/vue-contact-form-backend</guid>
      <pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
      <category>Tutorials</category>
    </item>
    <item>
      <title>Svelte Form Submission: Send Form Data to Email Without a Backend</title>
      <description>How to handle Svelte form submission and deliver data to email — Svelte 5 runes, SvelteKit form actions, and the no-backend alternative that ships in five minutes.</description>
      <link>https://splitforms.com/blog/svelte-form-submission-guide</link>
      <guid isPermaLink="true">https://splitforms.com/blog/svelte-form-submission-guide</guid>
      <pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
      <category>Tutorials</category>
    </item>
    <item>
      <title>Next.js 15 Server Actions vs Form Backend: When to Use Which (2026)</title>
      <description>Honest 2026 comparison of Next.js 15 server actions vs hosted form backends and API routes. Cold starts, security, complexity, cost, and the right choice per use case.</description>
      <link>https://splitforms.com/blog/nextjs-15-server-actions-vs-form-backend</link>
      <guid isPermaLink="true">https://splitforms.com/blog/nextjs-15-server-actions-vs-form-backend</guid>
      <pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
      <category>Comparisons</category>
    </item>
    <item>
      <title>Web3Forms vs Formspree vs splitforms — 2026 Form Backend Comparison</title>
      <description>Side-by-side 2026 comparison of Web3Forms, Formspree, and splitforms — pricing, free tier limits, spam filtering, webhooks, and which form backend wins for which use case.</description>
      <link>https://splitforms.com/blog/web3forms-vs-formspree-vs-splitforms</link>
      <guid isPermaLink="true">https://splitforms.com/blog/web3forms-vs-formspree-vs-splitforms</guid>
      <pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
      <category>Comparisons</category>
    </item>
    <item>
      <title>How to Test Form Submissions Without Sending Real Emails</title>
      <description>Test form submissions without spamming your inbox or your client&apos;s inbox. Catch-all SMTP, Mailtrap, RequestBin, splitforms test mode, and a Playwright recipe.</description>
      <link>https://splitforms.com/blog/how-to-test-form-submissions-without-real-emails</link>
      <guid isPermaLink="true">https://splitforms.com/blog/how-to-test-form-submissions-without-real-emails</guid>
      <pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
      <category>Guides</category>
    </item>
    <item>
      <title>CORS Error on Form Submission — Complete Fix Guide (2026)</title>
      <description>Diagnose and fix CORS errors on HTML form submissions. Why a normal form doesn&apos;t trigger CORS, what does, and the four fixes that actually work in 2026.</description>
      <link>https://splitforms.com/blog/cors-error-form-submission-fix</link>
      <guid isPermaLink="true">https://splitforms.com/blog/cors-error-form-submission-fix</guid>
      <pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
      <category>Guides</category>
    </item>
    <item>
      <title>Add a Contact Form to Shopify Without an App or Liquid Edits (2026)</title>
      <description>Add a working Shopify contact form without installing an app or editing Liquid. Drop a custom HTML block on any page, point it at a hosted backend, and you&apos;re done.</description>
      <link>https://splitforms.com/blog/add-contact-form-to-shopify-no-app</link>
      <guid isPermaLink="true">https://splitforms.com/blog/add-contact-form-to-shopify-no-app</guid>
      <pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
      <category>Integrations</category>
    </item>
    <item>
      <title>HTML contact form code: 12 free templates you can copy-paste in 2026</title>
      <description>12 ready-to-paste HTML contact form templates — minimal, accessible, styled, multi-step, file upload, popup. Free, no signup, with backend wired in 60 seconds via splitforms.</description>
      <link>https://splitforms.com/blog/html-contact-form-code-2026</link>
      <guid isPermaLink="true">https://splitforms.com/blog/html-contact-form-code-2026</guid>
      <pubDate>Tue, 05 May 2026 00:00:00 GMT</pubDate>
      <category>Tutorials</category>
    </item>
    <item>
      <title>Form spam protection in 2026: the complete guide</title>
      <description>Honeypot vs reCAPTCHA vs AI classifiers in 2026 — what works, what&apos;s defeated by LLMs, and the layered approach modern form backends use to keep spam out.</description>
      <link>https://splitforms.com/blog/form-spam-protection-complete-guide-2026</link>
      <guid isPermaLink="true">https://splitforms.com/blog/form-spam-protection-complete-guide-2026</guid>
      <pubDate>Tue, 05 May 2026 00:00:00 GMT</pubDate>
      <category>Spam &amp; Security</category>
    </item>
    <item>
      <title>Best React form library in 2026: an honest comparison</title>
      <description>Honest 2026 comparison of React Hook Form, Formik, TanStack Form, react-final-form, and pure useState — bundle size, DX, validation compat, and when each one wins.</description>
      <link>https://splitforms.com/blog/best-react-form-library-2026</link>
      <guid isPermaLink="true">https://splitforms.com/blog/best-react-form-library-2026</guid>
      <pubDate>Tue, 05 May 2026 00:00:00 GMT</pubDate>
      <category>Comparisons</category>
    </item>
    <item>
      <title>Best Next.js form library in 2026: a fair comparison</title>
      <description>An honest 2026 comparison of React Hook Form, Formik, TanStack Form, Conform, and pure server actions for Next.js — with code, benchmarks, and tradeoffs.</description>
      <link>https://splitforms.com/blog/best-nextjs-form-library-2026</link>
      <guid isPermaLink="true">https://splitforms.com/blog/best-nextjs-form-library-2026</guid>
      <pubDate>Tue, 05 May 2026 00:00:00 GMT</pubDate>
      <category>Comparisons</category>
    </item>
    <item>
      <title>HTML form action explained: a complete guide for 2026</title>
      <description>What the HTML action attribute does, how to point it at a backend, and the modern alternatives — with copy-paste examples for static sites, React, Next.js, Webflow.</description>
      <link>https://splitforms.com/blog/html-form-action-complete-guide</link>
      <guid isPermaLink="true">https://splitforms.com/blog/html-form-action-complete-guide</guid>
      <pubDate>Tue, 05 May 2026 00:00:00 GMT</pubDate>
      <category>Guides</category>
    </item>
    <item>
      <title>Migrating from Typeform to splitforms: a developer&apos;s guide</title>
      <description>Step-by-step guide for moving form submissions from Typeform to splitforms — pricing comparison, code-level migration, and what you&apos;ll gain (and lose) in the switch.</description>
      <link>https://splitforms.com/blog/migrate-from-typeform</link>
      <guid isPermaLink="true">https://splitforms.com/blog/migrate-from-typeform</guid>
      <pubDate>Tue, 05 May 2026 00:00:00 GMT</pubDate>
      <category>Guides</category>
    </item>
    <item>
      <title>How to Send Form Submissions to Notion</title>
      <description>Push every contact form submission into a Notion database as a fully-typed page. Create an integration token, grab a database ID, map fields to Notion properties, and wire up a tiny Cloudflare Worker proxy that forwards splitforms webhooks to the Notion API.</description>
      <link>https://splitforms.com/blog/send-form-submissions-to-notion</link>
      <guid isPermaLink="true">https://splitforms.com/blog/send-form-submissions-to-notion</guid>
      <pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate>
      <category>Integrations</category>
    </item>
    <item>
      <title>How to Send Form Submissions to Airtable</title>
      <description>Sync contact form submissions straight into an Airtable base. Personal access token setup, base and table IDs, field-name gotchas, single vs batch record creation, and a working splitforms-to-Airtable webhook proxy you can copy-paste.</description>
      <link>https://splitforms.com/blog/send-form-submissions-to-airtable</link>
      <guid isPermaLink="true">https://splitforms.com/blog/send-form-submissions-to-airtable</guid>
      <pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate>
      <category>Integrations</category>
    </item>
    <item>
      <title>How to Connect splitforms to Zapier</title>
      <description>Wire any splitforms contact form to Zapier in under five minutes using the Webhooks by Zapier trigger. Parse the splitforms payload, route to Google Sheets, Slack, HubSpot, or Mailchimp — and learn when native splitforms webhooks are the better, cheaper choice.</description>
      <link>https://splitforms.com/blog/connect-splitforms-to-zapier</link>
      <guid isPermaLink="true">https://splitforms.com/blog/connect-splitforms-to-zapier</guid>
      <pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate>
      <category>Integrations</category>
    </item>
    <item>
      <title>How to Send Form Submissions to HubSpot CRM</title>
      <description>Capture contact form submissions as HubSpot CRM contacts without the HubSpot Forms watermark. Create a private app token, map custom properties, dedupe by email, and forward splitforms webhooks to the HubSpot v3 contacts API.</description>
      <link>https://splitforms.com/blog/send-form-submissions-to-hubspot</link>
      <guid isPermaLink="true">https://splitforms.com/blog/send-form-submissions-to-hubspot</guid>
      <pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate>
      <category>Integrations</category>
    </item>
    <item>
      <title>How to Store Form Submissions in Google Sheets (advanced)</title>
      <description>The advanced playbook for piping form submissions into Google Sheets. A complete Google Apps Script doPost handler, a Make/Zapier alternative, timezone formatting, formula-row handling, and column mapping for splitforms webhook payloads.</description>
      <link>https://splitforms.com/blog/store-form-submissions-in-google-sheets</link>
      <guid isPermaLink="true">https://splitforms.com/blog/store-form-submissions-in-google-sheets</guid>
      <pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate>
      <category>Integrations</category>
    </item>
    <item>
      <title>How to Get Telegram Notifications for Form Submissions</title>
      <description>Send a Telegram message to yourself or a group chat every time a contact form submits. Full walkthrough — create a bot with @BotFather, fetch the chat ID, wire up a splitforms webhook with a tiny Cloudflare Worker proxy, and test with curl.</description>
      <link>https://splitforms.com/blog/get-telegram-notifications-for-form-submissions</link>
      <guid isPermaLink="true">https://splitforms.com/blog/get-telegram-notifications-for-form-submissions</guid>
      <pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate>
      <category>Integrations</category>
    </item>
    <item>
      <title>How to Send Form Submissions to Discord</title>
      <description>Step-by-step guide to deliver every contact form submission to a Discord channel as a rich embed. Create the Discord webhook, paste it into splitforms, and customize embed color, fields, and role pings — no Zapier required.</description>
      <link>https://splitforms.com/blog/send-form-submissions-to-discord</link>
      <guid isPermaLink="true">https://splitforms.com/blog/send-form-submissions-to-discord</guid>
      <pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate>
      <category>Integrations</category>
    </item>
    <item>
      <title>How to Send Form Submissions to Slack</title>
      <description>Push every contact form submission into the right Slack channel as a Block Kit message. Create an Incoming Webhook, paste it into splitforms, route different forms to different channels, and skip the $50/mo Zapier bill.</description>
      <link>https://splitforms.com/blog/send-form-submissions-to-slack</link>
      <guid isPermaLink="true">https://splitforms.com/blog/send-form-submissions-to-slack</guid>
      <pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate>
      <category>Integrations</category>
    </item>
    <item>
      <title>How to Add Form Validation to a Tailwind CSS Contact Form</title>
      <description>Add real validation to a Tailwind CSS contact form using only HTML5 primitives plus the peer, invalid:, and placeholder-shown variants — no JavaScript validation library required. Includes two copy-paste JSX examples with full Tailwind classes.</description>
      <link>https://splitforms.com/blog/tailwind-css-form-validation</link>
      <guid isPermaLink="true">https://splitforms.com/blog/tailwind-css-form-validation</guid>
      <pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate>
      <category>Tutorials</category>
    </item>
    <item>
      <title>Google Forms vs Typeform vs Splitforms: complete 2026 comparison</title>
      <description>Side-by-side comparison of Google Forms, Typeform, and Splitforms for contact forms in 2026. Pricing, features, branding, response limits, and which is best for which use case.</description>
      <link>https://splitforms.com/blog/google-forms-vs-typeform-vs-splitforms</link>
      <guid isPermaLink="true">https://splitforms.com/blog/google-forms-vs-typeform-vs-splitforms</guid>
      <pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate>
      <category>Comparisons</category>
    </item>
    <item>
      <title>Top 10 free form backend services in 2026 (tested and ranked)</title>
      <description>Independent ranking of the 10 best free form backend services in 2026. Tested submission limits, deliverability, spam filtering, and developer experience for each. Real numbers, no fluff.</description>
      <link>https://splitforms.com/blog/best-free-form-backend-services-2026</link>
      <guid isPermaLink="true">https://splitforms.com/blog/best-free-form-backend-services-2026</guid>
      <pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate>
      <category>Comparisons</category>
    </item>
    <item>
      <title>Add a contact form to any website in 60 seconds (any framework)</title>
      <description>The fastest way to add a working contact form to any website — HTML, Next.js, React, Vue, Astro, Webflow, or WordPress. Copy-paste code, no backend required, working in under a minute.</description>
      <link>https://splitforms.com/blog/add-contact-form-in-60-seconds</link>
      <guid isPermaLink="true">https://splitforms.com/blog/add-contact-form-in-60-seconds</guid>
      <pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate>
      <category>Tutorials</category>
    </item>
    <item>
      <title>AI-powered form spam detection in 2026: how it works</title>
      <description>Deep dive into how modern AI classifiers (GPT-4o-mini, Llama, custom transformers) detect form spam. Architecture, accuracy benchmarks, costs, and why it beats CAPTCHAs and honeypots alone.</description>
      <link>https://splitforms.com/blog/ai-form-spam-detection</link>
      <guid isPermaLink="true">https://splitforms.com/blog/ai-form-spam-detection</guid>
      <pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate>
      <category>Spam &amp; Security</category>
    </item>
    <item>
      <title>Migrate from Formspree to a modern form backend (2026 guide)</title>
      <description>Step-by-step guide to migrating from Formspree to Splitforms (or any modern form backend). Preserves field names, redirects, webhooks, spam settings. Zero downtime, takes about 5 minutes per form.</description>
      <link>https://splitforms.com/blog/migrate-from-formspree</link>
      <guid isPermaLink="true">https://splitforms.com/blog/migrate-from-formspree</guid>
      <pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate>
      <category>Guides</category>
    </item>
    <item>
      <title>How to add a contact form to a static site (no backend)</title>
      <description>Step-by-step guide to add a working contact form to any static HTML site without writing server code. Three methods compared, with copy-paste examples.</description>
      <link>https://splitforms.com/blog/add-contact-form-to-static-site</link>
      <guid isPermaLink="true">https://splitforms.com/blog/add-contact-form-to-static-site</guid>
      <pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate>
      <category>Tutorials</category>
    </item>
    <item>
      <title>How to receive form submissions by email (the modern way)</title>
      <description>Routing form data to your inbox without PHP, mailto links, or custom servers. The 2026 stack for HTML form submissions delivered as email.</description>
      <link>https://splitforms.com/blog/receive-form-submissions-by-email</link>
      <guid isPermaLink="true">https://splitforms.com/blog/receive-form-submissions-by-email</guid>
      <pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate>
      <category>Tutorials</category>
    </item>
    <item>
      <title>How to stop contact form spam (5 methods compared)</title>
      <description>Honeypots, reCAPTCHA, hCaptcha, AI classifiers, and rate limiting — measured side-by-side on a real form. Includes data on which actually works in 2026.</description>
      <link>https://splitforms.com/blog/stop-contact-form-spam</link>
      <guid isPermaLink="true">https://splitforms.com/blog/stop-contact-form-spam</guid>
      <pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate>
      <category>Spam &amp; Security</category>
    </item>
    <item>
      <title>Send an HTML form to email without PHP</title>
      <description>PHP mail() is brittle, blocked by most hosts, and ends up in spam. Three modern alternatives that work on Vercel, Netlify, Cloudflare Pages, and S3.</description>
      <link>https://splitforms.com/blog/send-html-form-to-email-without-php</link>
      <guid isPermaLink="true">https://splitforms.com/blog/send-html-form-to-email-without-php</guid>
      <pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate>
      <category>Tutorials</category>
    </item>
    <item>
      <title>Connect a form to Google Sheets without Zapier</title>
      <description>Three ways to push form submissions into a Google Sheet without paying for Zapier — webhooks, Apps Script, and direct integrations.</description>
      <link>https://splitforms.com/blog/form-to-google-sheets-without-zapier</link>
      <guid isPermaLink="true">https://splitforms.com/blog/form-to-google-sheets-without-zapier</guid>
      <pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate>
      <category>Integrations</category>
    </item>
    <item>
      <title>Contact form not working? 8 common causes (and fixes)</title>
      <description>From CORS errors to silent SMTP failures, the most common reasons a contact form silently breaks — and how to debug each in under 5 minutes.</description>
      <link>https://splitforms.com/blog/contact-form-not-working</link>
      <guid isPermaLink="true">https://splitforms.com/blog/contact-form-not-working</guid>
      <pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate>
      <category>Guides</category>
    </item>
    <item>
      <title>Best CAPTCHA for contact forms in 2026</title>
      <description>reCAPTCHA v3 vs hCaptcha vs Cloudflare Turnstile vs honeypot — measured on real spam volume, conversion impact, and developer experience.</description>
      <link>https://splitforms.com/blog/best-captcha-for-contact-form</link>
      <guid isPermaLink="true">https://splitforms.com/blog/best-captcha-for-contact-form</guid>
      <pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate>
      <category>Spam &amp; Security</category>
    </item>
    <item>
      <title>Send form data to a webhook in 3 steps</title>
      <description>Wire any HTML form to a webhook endpoint (Slack, Discord, n8n, your own server) in under 5 minutes. Working examples with retries.</description>
      <link>https://splitforms.com/blog/send-form-data-to-webhook</link>
      <guid isPermaLink="true">https://splitforms.com/blog/send-form-data-to-webhook</guid>
      <pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate>
      <category>Integrations</category>
    </item>
    <item>
      <title>GDPR-compliant form submissions: what you actually need</title>
      <description>The minimum set of changes to make a contact form GDPR-compliant in 2026, including consent UX, data retention, and DPA basics.</description>
      <link>https://splitforms.com/blog/gdpr-compliant-form-submissions</link>
      <guid isPermaLink="true">https://splitforms.com/blog/gdpr-compliant-form-submissions</guid>
      <pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate>
      <category>Guides</category>
    </item>
    <item>
      <title>Self-hosted vs SaaS form backends: honest tradeoffs</title>
      <description>When self-hosting a form backend (FormBricks, OhMyForm) makes sense vs paying for SaaS — TCO, deliverability, and operational overhead.</description>
      <link>https://splitforms.com/blog/self-hosted-vs-saas-form-backend</link>
      <guid isPermaLink="true">https://splitforms.com/blog/self-hosted-vs-saas-form-backend</guid>
      <pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate>
      <category>Comparisons</category>
    </item>
    <item>
      <title>Honeypot vs reCAPTCHA: which actually stops form spam?</title>
      <description>Side-by-side test of honeypot fields vs reCAPTCHA v3 on real production traffic. Spoiler: the answer depends on your spam volume.</description>
      <link>https://splitforms.com/blog/honeypot-vs-recaptcha</link>
      <guid isPermaLink="true">https://splitforms.com/blog/honeypot-vs-recaptcha</guid>
      <pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate>
      <category>Spam &amp; Security</category>
    </item>
    <item>
      <title>Next.js Server Actions vs form backends: when to use which</title>
      <description>Next.js 15+ Server Actions handle form submissions natively. Here&apos;s when they&apos;re enough — and when a dedicated form backend still wins.</description>
      <link>https://splitforms.com/blog/server-actions-vs-form-backend-nextjs</link>
      <guid isPermaLink="true">https://splitforms.com/blog/server-actions-vs-form-backend-nextjs</guid>
      <pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate>
      <category>Comparisons</category>
    </item>
  </channel>
</rss>
