Gesture-Based CAPTCHA for Humans

CAPTCHA,
Reinvented.

Verify humans using computer vision, hand gestures and puzzle solving. No more squinting at distorted text.

  • Gesture Based
  • Human Motion Verified
  • No Mouse Required
  • No Keyboard Required
  • Liveness Detection
  • Spatial Interaction
  • Privacy First
  • No Text CAPTCHA
  • Beyond Mouse & Keyboard
  • Physical Interaction Required
  • Bot Resistant
  • Spatial CAPTCHA
Verifying
1
2
3
4
5
6
7
8
9
Right hand detected98%
Solving puzzle72%
Features

Everything you need to verify humans

A complete, gesture-native verification stack — built for the way people actually move.

Computer Vision

MediaPipe-powered hand tracking detects 21 landmarks per hand in real time, right in the browser.

Gesture Recognition

Frame a region with both hands, then grab and drag puzzle pieces with a natural fist gesture.

Bot-Resistant

Solving requires fluid, human motor control — far harder for scripts than clicking checkboxes.

Privacy First

All inference runs on-device. Camera frames never leave the user's machine.

Lightning Fast

GPU-accelerated detection keeps the experience smooth at 30+ FPS with minimal latency.

Drop-in SDK

One component, one site key. Works with React, Next.js and plain HTML out of the box.

How it works

Five steps to prove you're human

No text to read, no images to label — just natural hand movement.

Step 1

Create a capture region

Raise both hands and frame a rectangle with your index fingers. A glowing selection box tracks your fingertips.

Step 2

AI captures the image

Hold the frame steady for two seconds. A countdown runs, then the region is captured straight from the video.

Step 3

Puzzle is generated

The captured image is sliced into a shuffled 3×3 grid — a unique puzzle every single time.

Step 4

Solve using gestures

Move your right hand as a cursor, make a fist to grab a piece, and open your hand to drop it into place.

Step 5

Human verified

Once the image is reassembled, you're verified and a token is issued to your application.

Live demo

Try it yourself

Click the checkbox to launch a real verification. You'll need to allow camera access.

Protected by HumanCaptchaPrivacy · Terms
Developers

Integrate in minutes

Install the package, drop in the component, and you're protecting forms with gestures.

npm install human-captcha

Zero config to start. Bring your own site key from the dashboard when you go to production.

import { HumanCaptcha } from "human-captcha";

function App() {
  return (
    <HumanCaptcha
      siteKey="demo"
      onSuccess={(token) => {
        console.log("verified:", token);
      }}
    />
  );
}
SDK

Component API

A single, fully-typed component. Every prop is optional except your site key.

PropTypeDefaultDescription
siteKeystring—Your public site key (required).
onSuccess(token: string) => void—Called with a verification token on success.
onError(error: Error) => void—Called when verification fails.
onExpired() => void—Called when an issued token expires.
size"compact" | "normal""normal"Rendered widget size.
cameraFacing"user" | "environment""user"Which camera to request.
modalbooleanfalseOpen in a modal instead of inline.
languagestring"en"UI language as an ISO code.
TypeScript
interface HumanCaptchaProps {
  siteKey: string;
  onSuccess?: (token: string) => void;
  onError?: (error: Error) => void;
  onExpired?: () => void;
  size?: "compact" | "normal";
  cameraFacing?: "user" | "environment";
  modal?: boolean;
  language?: string;
}
Pricing

Simple, scalable pricing

Start free. Upgrade when you grow. Cancel anytime.

Free

For side projects and prototypes.

$0/mo
  • 1,000 verifications / mo
  • 3×3 puzzles
  • Community support
  • 1 site key
Most popular

Pro

For growing products in production.

$29/mo
  • 100,000 verifications / mo
  • Priority support
  • 10 site keys
  • Analytics dashboard

Enterprise

For high-volume and regulated teams.

Custom
  • Unlimited verifications
  • SLA & SSO
  • Dedicated support
  • On-prem option
  • Custom models
FAQ

Frequently asked questions