Add the widget to your form
Create a site in Google reCAPTCHA (v2) or Cloudflare Turnstile, and add its script and widget to your form with your site key.
Feature · reCAPTCHA & Turnstile
Built-in spam filtering needs no CAPTCHA, but if you want one, paste your secret key and splitforms verifies every token server-side. Free on every plan.

Your form posts to one splitforms endpoint — no server, API route, or SDK. splitforms is the backend.
Every submission is saved to a searchable dashboard and emailed to you — spam filtered before it lands.
No glue code, no third-party middleman — it ships as part of splitforms and works from your first submission.
Copy-paste ready
Replace YOUR_ACCESS_KEY with the key from your splitforms dashboard. No SDK to install, no build step — the same html you already write.
<!--
Optional extra layer on top of the built-in spam filtering. Put the widget
in your form and paste the matching SECRET key in Dashboard → Form
settings → Spam & security. Works on every plan.
-->
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
<form action="https://splitforms.com/api/submit" method="POST">
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY" />
<input type="email" name="email" placeholder="Email" required />
<textarea name="message" placeholder="Message" required></textarea>
<!-- Turnstile adds a hidden cf-turnstile-response token to the POST -->
<div class="cf-turnstile" data-sitekey="YOUR_TURNSTILE_SITE_KEY"></div>
<!-- or Google reCAPTCHA v2, which posts g-recaptcha-response:
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<div class="g-recaptcha" data-sitekey="YOUR_RECAPTCHA_SITE_KEY"></div>
-->
<button type="submit">Send</button>
</form>How to set it up
How recaptcha & turnstile flows through splitforms — what you do, what we do, and what lands in your inbox.
Create a site in Google reCAPTCHA (v2) or Cloudflare Turnstile, and add its script and widget to your form with your site key.
Form settings → Spam & security: paste the reCAPTCHA or Turnstile secret key. Optionally switch on 'require a token' to drop submissions that arrive without one.
Complete the widget and submit. splitforms verifies the token server-side before saving; a failed check is dropped silently so bots learn nothing.
How recaptcha & turnstile works
Every splitforms form already runs smart spam filtering — honeypot, time-trap, rate limits, and rule-based content scoring — without a CAPTCHA. For forms that attract determined bots, you can add Google reCAPTCHA v2 or Cloudflare Turnstile on top, without writing verification code. Route the same submission to an email inbox or a webhook at the same time — nothing here is one-or-the-other.

What you get
Every reason below is the boring, reliable kind — the fundamentals of recaptcha & turnstile, built once and tested in production so you never have to.

How SplitForms works
splitforms receives the submission, filters spam, saves it to your dashboard and emails you — then, on paid plans, sends it on to your webhooks and integrations. No backend infrastructure to build.

Point your form to your unique SplitForms endpoint. That's it.

We instantly capture and organize every submission in your inbox.

Send data to email, spreadsheets, CRMs, webhooks, and 7,000+ apps.

No credit card required. Set up in under 60 seconds.
Connect & automate
On paid plans, submissions can also go to Slack, Discord, Google Sheets, Notion, Airtable, Zapier or any signed webhook — and splitforms works on the platforms you build on, from WordPress and Shopify to Next.js. With Stripe connected, your forms can take payments too.

Common questions
Add the provider's widget to your form with your site key, then paste the secret key into Form settings → Spam & security in splitforms. splitforms reads the token the widget adds to the POST (g-recaptcha-response or cf-turnstile-response) and verifies it with Google or Cloudflare before saving the submission.
Usually not. The built-in honeypot, time-trap, rate limits, and content scoring stop most form spam without any widget. Add reCAPTCHA or Turnstile when a form is targeted by bots that get past those layers, or when your policies require a CAPTCHA.
By default, a submission without a token still goes through the other spam checks, so integrations that post directly (servers, mobile apps, WordPress plugins) keep working. With 'require a token' on, any submission without a valid token is dropped — which blocks bots that post straight to the endpoint and never load your page.
Google reCAPTCHA v2 (checkbox or invisible) and Cloudflare Turnstile. Both are free on every plan, including Free.
The submission isn't lost. If the verification service can't be reached, splitforms lets the submission continue to its other spam checks rather than dropping a real lead because of an outage.
Simple pricing
Free gives you 500 submissions for $0 — no card, no time limit. Pro is $5/month for 5,000 submissions a month, and Annual is $49/year for 15,000 a month with every Pro feature.
For side projects and indie devs.
Every paid feature, for agencies and growing products.
Every Pro feature with triple the volume — $0.27 per 1,000 at full use.
No credit card required on Free • Cancel anytime • Full pricing and FAQ