reCAPTCHA still ships on a meaningful share of the web, but in 2026 most new builds skip it. The reasons are well-known: third-party tracking, bundle weight, mediocre accessibility, and a UX that asks users to identify fire hydrants. Here’s an honest comparison of the alternatives, including ours, with extra weight on what the verification feels like for the person on the other side of the form.
If your choice is specifically Google reCAPTCHA versus Playtcha, skip the broad market survey and read our direct comparison. That page stays focused on the product and UX trade instead of the whole category.
Why teams leave reCAPTCHA in 2026
We’re a vendor with skin in the game, so take this section as opinionated. We have tried to keep every claim factual and check-able.
- Tracking. reCAPTCHA loads from
www.google.com/recaptchaandwww.gstatic.com, sets and reads cookies on thegoogle.comdomain, and ties scoring to a Google ad identity when the user has one. Google’s own cookie policy documents the cross-product reach. - Bundle weight. The reCAPTCHA v3 bundle is consistently measured at 200–300 KB transferred per page that loads it. We dug into this in why your CAPTCHA shouldn’t be 250 KB.
- UX whiplash. reCAPTCHA v3 is invisible until it isn’t. When the score is low, users get the v2 image grid as a fallback, with no warning.
- Compliance friction. Treating reCAPTCHA as a first-party functional cookie is a stretch under most EU DPA interpretations, which means a consent banner row and a sub-processor entry you may not want.
- Accessibility. Image-grid CAPTCHAs are notoriously hard with assistive tech. Audio fallbacks help but don’t close the gap. See our accessible CAPTCHA design article for the constraints.
The honest shortlist
Five vendors are worth evaluating in 2026. We summarize each in two sentences plus the gotcha you’ll discover in week three.
hCaptcha
Long-standing reCAPTCHA replacement with a near-identical UX (image grids). Privacy posture is better than reCAPTCHA but the free tier is funded by selling your visitors’ labeling work to ML training customers, which is its own ethical question. Enterprise tier is paid; free tier comes with the labeling deal.
If your actual choice is hCaptcha versus Playtcha, read our direct comparison. That page focuses on the user-experience trade between image grids and a visible minigame, not just the vendor checklist.
Cloudflare Turnstile
Free, no-image, behavioral-signal CAPTCHA from Cloudflare. Excellent UX (usually a single click or invisible) and zero direct cost. The cost is implicit: signals are processed by Cloudflare and you’re adding Cloudflare as a sub-processor for every protected form load, whether or not you’re otherwise a Cloudflare customer.
If your shortlist is specifically Turnstile versus Playtcha, read our direct comparison. That guide is narrower and spends more time on the product and UX trade.
Friendly Captcha
German-headquartered, fully-EU data flow, proof-of-work-based (the user’s browser solves a small cryptographic puzzle). Very good privacy story. Gotcha: proof-of-work is invisible to users but is slower on low-end Android devices, occasionally noticeably so on the cheapest hardware.
If you are deciding between Friendly Captcha and Playtcha specifically, read our direct comparison. That guide focuses on the product trade between invisible proof-of-work and a visible, more playful verification step.
Playtcha
Tiny minigame instead of behavioral scoring. Zero behavioral tracking, zero third-party cookies, ~14 KB gzipped, and a visible verification moment that feels more like part of your product than a punishment screen. Gotcha: the user does have to actually play for a few seconds, which is the wrong fit if your top priority is fully invisible verification.
Honeypot + WAF (no CAPTCHA at all)
Strictly speaking not a CAPTCHA, but it’s the right answer for many endpoints. We covered the criteria in why use a CAPTCHA. Worth a slot on this list because the most honest recommendation for some of you is “don’t add a CAPTCHA at all.”
Side-by-side comparison
Numbers gathered from each vendor’s public docs and pricing pages as of early 2026. Read the gotchas below the table — the headline numbers don’t tell the whole story.
| reCAPTCHA v3 | hCaptcha | Turnstile | Friendly Captcha | Playtcha | |
|---|---|---|---|---|---|
| UX style | Invisible + image fallback | Image grid | Invisible / 1-click | Proof-of-work (invisible) | Short visible minigame |
| Behavioral tracking | Yes | Limited | Yes (Cloudflare-side) | No | No |
| Third-party cookies | Yes | Yes | No (LocalStorage instead) | No | No |
| Approx. bundle | ~250 KB | ~80 KB | ~50 KB | ~25 KB | ~14 KB |
| EU data residency | No | Mixed | Mixed | Yes (EU only) | EU primary, contract on Business+ |
| Free tier | 1M assessments/mo (Enterprise) | 1M/mo with labeling deal | Unlimited (free product) | 1k/mo (paid above) | 5k/mo, no credit card |
| Accessibility | Audio fallback | Audio fallback | Generally strong | Strong (no UI puzzle) | Visual game only; keyboard/touch supported |
| Open source widget | No | No | No | Partial | No |
Bundle numbers are approximate transferred-size measurements from public Lighthouse runs in early 2026. Treat them as ballpark, not contract.
Which one for which use case
You want the lowest possible UX friction
Cloudflare Turnstile, then Friendly Captcha. Both are typically invisible to the user. The trade is that you’re trusting the vendor’s scoring (Turnstile) or the user’s CPU (Friendly Captcha proof-of-work).
You sell to EU customers and your DPA review is brutal
Friendly Captcha or Playtcha. Both ship without behavioral tracking and both can name an EU primary region. Avoid reCAPTCHA in this scenario; it’ll come back in your DPA negotiation as a sub-processor objection. See the GDPR CAPTCHA checklist.
You want an explicit, visible signal that “a human is here”
Playtcha, by design. The minigame is visible to the user, which is a feature when you want a short, obvious, more playful verification moment instead of an invisible score or another image grid. The trade is the few seconds of play time.
You need it free, today, on a side project
Cloudflare Turnstile (unlimited free) or Playtcha (5k/mo free). Both will get you to GA without a billing relationship.
You’re already deeply on Google Cloud
reCAPTCHA Enterprise is the path of least friction inside the Google Cloud bill. Most teams in this bucket stay where they are because integration is one-and-done. Just be honest with yourself about the tracking and bundle costs.
You’re an EU agency, university, or healthcare org
Friendly Captcha is the most common pick in this segment because of its EU corporate residency and proof-of-work design. Playtcha is a defensible second choice if you can tolerate the visible game UX. We would advise against any vendor whose data infrastructure is primarily US-resident if your procurement review is strict — and in this segment, it usually is.
Your engineers will revolt at “another vendor in the bundle”
For teams already running on Cloudflare, Turnstile is the path-of-least-friction integration: same dashboard, same DNS, same support contract. For teams already running on Supabase or Vercel, neither offers a CAPTCHA themselves; any third-party choice is structurally similar. We walked the Supabase integration in detail in CAPTCHA with Supabase.
How to switch (and not break your forms)
The migration shape is the same regardless of which CAPTCHA you leave and which you arrive at. Five steps:
If you are specifically leaving Google, read our reCAPTCHA migration guide. It covers the boring failure modes that usually break forms during the swap: old hidden field names, score-based branching, and partial rollouts.
- Inventory every form that calls
grecaptcha.execute(or equivalent). Search your repo for the loader script tag and the JS API. The list is usually shorter than expected — auth, contact, password reset. - Add the new widget alongside, not in place of, the old one. Run both in parallel for a week, log both verdicts, compare. You’ll find the false-positive rate is different enough to matter.
- Migrate server-side verify first. Update your backend to accept either token (feature flag), so you can roll forward and backward without coordinated frontend deploys.
- Cut over the frontend behind a flag. 5% of traffic, then 25%, then 100%, watching error and conversion rates.
- Delete the old loader and the old keys. Don’t leave the bundle in your
<head>after migration; that’s a free 250 KB you’re still paying for.
For the Playtcha-specific server-verify shape (Node, Python, Go, Ruby, PHP), the quickstart docs have copy-paste examples. The Supabase migration walkthrough is the most-requested specific scenario.
A note on what each verifier actually does in your backend
Most CAPTCHA migrations stumble on the server side, not the client. The verify shapes look similar but differ in specifics. A quick reference:
- reCAPTCHA v3. POST to
https://www.google.com/recaptcha/api/siteverifywithsecret+response. Returns a score 0.0-1.0; you decide the threshold. Most teams pick 0.5 and discover that real users below 0.5 are common. - hCaptcha. POST to
https://api.hcaptcha.com/siteverifywith the same payload shape. Returns a binarysuccess. Simpler to reason about than v3’s scoring. - Turnstile. POST to
https://challenges.cloudflare.com/turnstile/v0/siteverify. Binary success. Includes acdataecho for tying the challenge to your own session ID. - Friendly Captcha. POST to
https://api.friendlycaptcha.com/api/v1/siteverify. Binary success. Single-use enforcement is implicit. - Playtcha. POST to
https://playtcha.com/v1/verifywithsecret+token. Binarysuccess. Single-use enforced server-side.
The shape that surprises people: every vendor returns the verify result in milliseconds-to-seconds, but only one guarantees single-use enforcement out of the box. If your verifier doesn’t single-use the token for you, you have to do it yourself with a short-lived cache (Redis, Cloudflare KV) or eat the replay risk.
Where Playtcha fits and where it doesn’t
We’ll be honest about our own positioning. Playtcha is the right pick when you care as much about user resentment and privacy as you do about baseline bot friction. We are not trying to out-telemetry Google or Cloudflare. Playtcha is the right pick when:
- You want zero behavioral tracking and zero third-party cookies, with that documented in a DPA.
- You can spare your user 5 seconds for a tiny game on a low-frequency action (signup, password reset, payment intent).
- Bundle weight matters to you and ~14 KB beats 250 KB.
- You want a visible “a human is here” signal that feels friendlier than image grids.
Playtcha is not the right pick when:
- You need a fully-invisible CAPTCHA on a high-frequency interaction (e.g. a search box). Use Turnstile or Friendly Captcha.
- You explicitly want a behavioral risk score across many touchpoints to feed into a fraud system. Use reCAPTCHA Enterprise or hCaptcha Enterprise.
- You need a fully self-hosted CAPTCHA. We don’t offer one today; talk to us if you’re an Enterprise prospect with that requirement.
- You need to verify in markets where game-style interactions are culturally read as “suspicious.” Test before you ship in those markets.
That’s the honest shape. If after this you still want to look at reCAPTCHA or Turnstile for a giant-vendor security posture, that’s a defensible call too. Just price the trade in tracking, bundle weight, and how much annoyance you are willing to push onto real users.
Related: do you need a CAPTCHA at all is the upstream question. The economics of bypass explains why no CAPTCHA “wins” — they all just price the attacker out. Privacy-first CAPTCHAs explained digs into the tracking cost in detail.
Signals to compare that vendors won’t volunteer
The comparison table above covers the headline numbers. The less-visible signals that often decide a real evaluation:
- Pricing predictability. Does the vendor charge per-assessment or per-seat? What happens if you 10x your traffic in a quarter — does your bill 10x with you, or are there volume discounts? Read the pricing page in landed-cost terms, not list-price terms.
- Status-page transparency. Pull up the vendor’s public status page and look at the last 90 days. A vendor that has “all systems operational” for 90 days straight either has actual uptime or doesn’t publish honest incidents.
- Documentation quality. Try to integrate the vendor in a sandbox project on a Friday afternoon, with no support. The docs that get you to a working verify in <30 minutes are the docs you’ll be thankful for at 2am during an outage.
- Support response on a real ticket. Open a free-tier support ticket asking a non-trivial integration question. The reply latency on free tier is a leading indicator of paid-tier support.
- Migration story. Does the vendor publish migration guides from their competitors? It’s a small signal but indicates a team that actually wants the customer rather than locking them in.
These signals don’t fit a comparison table because they require effort to measure. The teams that take that effort end up happier with their CAPTCHA choice 18 months later.
FAQ
Is reCAPTCHA free?
The classic reCAPTCHA v2 / v3 product is free up to 1M assessments/month under Google’s standard terms. reCAPTCHA Enterprise is metered above that with a per-1000 assessment price. Either way, it’s cheap-as-money, but the tracking and bundle cost are not zero.
Can I use multiple CAPTCHA vendors at once?
Yes, and many teams do during migration. Long-term it adds maintenance overhead and double bundle cost; we don’t recommend it as a steady state.
Does Cloudflare Turnstile require Cloudflare in front of my site?
No. Turnstile works as a standalone widget on any site. You will still be sending verification calls to Cloudflare’s endpoints, which makes them a sub-processor.
What about Arkose Labs / FunCAPTCHA?
Arkose is enterprise-priced and primarily targets large-scale fraud teams. Worth a look if you’re in financial services or marketplaces with budget; out of scope for most builders.
How do I measure if a CAPTCHA migration improved conversion?
A/B the form for two weeks. Track signup-completion rate and downstream account-activation rate, segmented by mobile vs desktop. Bot-rejection rate alone is misleading because the baseline shifts.