CAPTCHA alternatives: stopping bots without testing people

Every CAPTCHA asks real people to prove something, and some of them cannot. CAPTCHA alternatives move the check away from the person: to the browser, to the form, to the rate of attempts, or to what is submitted. None is perfect, but several together often stop as much automation as a puzzle while costing visitors nothing at all.

Section Bots Updated Compares six alternatives

Quick facts

Why look for alternatives
Visual and audio tests exclude people; the W3C documents who
Main alternatives
JavaScript challenge, proof of work, honeypot field, rate limits, verification by email or phone, risk scoring
What they share
They ask the visitor nothing, or ask only when other signals point to automation
What none of them prove
That the visitor is a person; they make automation more expensive
Best results
Several cheap checks combined, each tuned to the action it protects

What a CAPTCHA is and its forms are on CAPTCHA and types of CAPTCHA.

CAPTCHA alternatives compared

AlternativeHow it worksStopsCosts real people
JavaScript challengeThe browser must run a script and return the resultSimple scripts that do not run JavaScriptVisitors with scripts disabled; a short delay
Proof of workThe browser solves a small computing puzzleAutomation at scale, by making each attempt cost CPUBattery and time on slow devices
Honeypot fieldA hidden field only bots fill inBots that fill every fieldNothing, if hidden from screen readers too
Rate limitsAttempts per account, address or session are cappedBrute force, stuffing and spam at volumeShared networks, if limits are tight
Email or phone verificationA link or code must be receivedMass sign-ups with fake contact detailsA step and a wait; no access without the channel
Risk scoringSignals are scored and only risky visits are checkedDepends on the signalsUnexplained refusals for unusual setups

The right column is what to weigh. An alternative that stops slightly less automation but excludes nobody is often the better choice.

JavaScript challenges

A JavaScript challenge sends the browser a small script whose result must come back before the page or action proceeds. Real browsers do it in the background; scripts that only send HTTP requests fail.

Automation built on full browsers passes it, so it removes the cheapest bots, not the determined ones. It also fails for people who block scripts, which should lead to an alternative path, not a dead end.

ALTERNATIVES BY COST AND REACH ASKS THE VISITOR NOTHING STOPS HEADLESS BROWSERS ACCESSIBLE BY DEFAULT JAVASCRIPT CHALLENGE PROOF OF WORK HONEYPOT FIELD RATE LIMITS VISUAL CAPTCHA // rate limits reach browser-based bots because they count attempts, not browsers
// five checks, and what each costs and reaches

Proof of work and honeypots

Proof of work asks the browser to find a value with a property that takes measurable computing time to find and almost none to check. One attempt costs a fraction of a second; a million attempts cost real money. It is invisible to people, though slower on old phones.

A honeypot is a form field hidden from people. Bots that fill every field reveal themselves. It costs nothing and stops only naive bots, which on many sites are most of the spam; see spam bots.

Choosing the best CAPTCHA alternative

  1. Name the threat for each form. Sign-up spam, credential stuffing and carding need different checks; the OWASP Automated Threats list helps name them.
  2. Start with what asks nothing. Honeypot fields and rate limits on the action.
  3. Add a browser check where needed. A JavaScript challenge or proof of work for actions worth automating.
  4. Keep a human-friendly fallback. Email verification or support contact, never a dead end.
  5. Measure both sides. Automation stopped, and real people who gave up.

Questions

What are alternatives to CAPTCHA?

JavaScript challenges, proof of work, honeypot fields, rate limits, email or phone verification, and risk scoring that checks only suspicious visits.

What is a JavaScript challenge?

A JavaScript challenge requires the browser to run a script and return its result before continuing, which stops simple bots that do not execute JavaScript.

What is the best CAPTCHA alternative?

There is no single best one. Combining a honeypot field and rate limits on the action, with a browser check for valuable actions, stops most automation without asking people anything.