splitforms.com

Feature · reCAPTCHA & Turnstile

Add Google reCAPTCHA or Cloudflare Turnstile to any form

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.

  • 500 free to start
  • No credit card
  • 30-sec setup
splitforms 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.

No backend to build

Your form posts to one splitforms endpoint — no server, API route, or SDK. splitforms is the backend.

Straight to your dashboard

Every submission is saved to a searchable dashboard and emailed to you — spam filtered before it lands.

reCAPTCHA & Turnstile, built in

No glue code, no third-party middleman — it ships as part of splitforms and works from your first submission.

Copy-paste ready

Drop this into any project.

Replace YOUR_ACCESS_KEY with the key from your splitforms dashboard. No SDK to install, no build step — the same html you already write.

Generate access key
captcha.html
<!--
  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 to set up reCAPTCHA & Turnstile.

How recaptcha & turnstile flows through splitforms — what you do, what we do, and what lands in your inbox.

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.

Paste the secret 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.

Submit a test

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

How does splitforms handle reCAPTCHA & Turnstile?

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.

  • Google reCAPTCHA v2 and Cloudflare Turnstile, verified server-side
  • No verification code to write or host
  • Strict mode drops submissions that skip the widget entirely
splitforms recaptcha & turnstile in action

What you get

What do you get with reCAPTCHA & Turnstile?

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

  • Lenient default keeps server, mobile, and WordPress integrations working
  • A provider outage never drops a real lead
  • Free on every plan, on top of the built-in spam filtering
Why teams pick splitforms for recaptcha & turnstile

How SplitForms works

What happens after someone submits your form?

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.

A SplitForms contact form submission launching straight to your inbox

Add your endpoint

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

HTML form pointing at a SplitForms submit endpoint

Receive submissions

We instantly capture and organize every submission in your inbox.

Submissions inbox with searchable leads and status pills

Route anywhere

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

Generic integration tiles for email, sheets, chat, CRM, automate, and webhook

No credit card required. Set up in under 60 seconds.

Connect & automate

Where can submissions go besides email?

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.

Connect your SplitForms form to Slack, Google Sheets, Mailchimp, Zapier and more
NewTake payments on your formsDeposits, bookings, order forms — submitters check out through Stripe and the money goes straight to your Stripe account. Included on every paid plan.See plans →

Setup guides for the stacks you use

Common questions

reCAPTCHA & Turnstile questions.

View all FAQs
How do I add reCAPTCHA or Turnstile to an HTML form without a backend?

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.

Do I need a CAPTCHA at all?

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.

What does 'require a token' do?

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.

Which versions are supported, and which plan do I need?

Google reCAPTCHA v2 (checkbox or invisible) and Cloudflare Turnstile. Both are free on every plan, including Free.

What happens if Google or Cloudflare is down?

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

How much does splitforms cost?

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.

Free

$0— 500 submissions
 

No card, no time limit

Best for testing

For side projects and indie devs.

  • 500 free submissions
  • Unlimited forms
  • Email notifications included
  • Smart spam filtering
  • Submissions dashboard
  • Redirect after submit
  • MCP server included

Annual

$49/ year
About $4.08/mo, billed yearly
Best value

Every Pro feature with triple the volume — $0.27 per 1,000 at full use.

  • 15,000 submissions / mo
  • Unlimited forms
  • Everything in Pro
  • File uploads with 5 GB storage
  • 3 team seats
  • Priority email support

No credit card required on Free • Cancel anytime • Full pricing and FAQ