Google · Live demo

reCAPTCHA v2 Demo

The "I'm not a robot" checkbox widget with image challenges as a fallback.

  • Free, no signup
  • The real provider widget
  • See the verification response

Live reCAPTCHA v2 widget

Tick the "I'm not a robot" checkbox to verify. It runs as soon as the widget returns a token.

Time to solve 0.0s
Solve cost $0 with CapSkip

How to Solve reCAPTCHA v2

The box above is a live reCAPTCHA v2 challenge, the classic "I'm not a robot" checkbox. This page shows three easy ways to solve reCAPTCHA v2 and get a valid g-recaptcha-response token: automatically with the CapSkip browser extension, in your own code with the CapSkip SDK, or by routing the captcha service your tools already call to CapSkip. CapSkip runs locally on your device, so there are no per solve fees and nothing leaves your machine.

No code needed

Option 1: Solve reCAPTCHA v2 with the browser extension

The simplest way to bypass reCAPTCHA v2 is the CapSkip captcha solver extension for Chrome and Firefox. It ticks the "I'm not a robot" checkbox and clears any image challenge automatically in the background, with no code to write.

1

Install the extension

Add CapSkip from the Chrome Web Store or Firefox Add-ons. It also works in Brave, Edge, Opera and Vivaldi.

2

Run the CapSkip app

Install and open the CapSkip desktop app. It does the solving on your own device and pairs with the extension.

3

It solves automatically

Reload this page and CapSkip clears the reCAPTCHA v2 for you. Prefer to stay in control? Switch to manual mode anytime.

For developers

Option 2: Solve reCAPTCHA v2 with the CapSkip SDK

Building automation, a scraper or a bot? Use the CapSkip captcha solving SDK to solve reCAPTCHA v2 from Python, Node.js, PHP or C#. You pass this page's site key and URL, and CapSkip returns a fresh g-recaptcha-response token you can submit like a real one.

Site key
6LfdaCstAAAAABOuJHFLrT3p9OB7_jpn9LhdFeqV
Page URL
https://capskip.com/captcha-demo/recaptcha-v2/

Before you start

CapSkip solves locally. Download and run the CapSkip desktop app and keep it open in the background. The SDK talks to it on 127.0.0.1:8080, so there are no cloud calls and no per solve fees.

1

Install the SDK

Add the official CapSkip client to your project.

pip install capskip
npm install capskip
composer require capskip/capskip
dotnet add package CapSkip
2

Solve reCAPTCHA v2 and get a token

Pass this page's sitekey and url to recaptcha(). CapSkip ticks the checkbox, clears any image challenge, and returns a fresh g-recaptcha-response token.

from capskip import CapSkip

# Connect to the CapSkip app running on your machine
solver = CapSkip(host="127.0.0.1", port=8080)

# Solve the reCAPTCHA v2 on this page
result = solver.recaptcha(
    sitekey="6LfdaCstAAAAABOuJHFLrT3p9OB7_jpn9LhdFeqV",
    url="https://capskip.com/captcha-demo/recaptcha-v2/",
)

token = result["code"]   # the g-recaptcha-response token
print(token)
const { CapSkip } = require('capskip');

// Connect to the CapSkip app running on your machine
const solver = new CapSkip({ host: '127.0.0.1', port: 8080 });

(async () => {
  // Solve the reCAPTCHA v2 on this page
  const result = await solver.recaptcha(
    '6LfdaCstAAAAABOuJHFLrT3p9OB7_jpn9LhdFeqV',
    'https://capskip.com/captcha-demo/recaptcha-v2/',
  );

  const token = result.code; // the g-recaptcha-response token
  console.log(token);
})();
<?php
require 'vendor/autoload.php';

use CapSkip\CapSkip;

// Connect to the CapSkip app running on your machine
$solver = new CapSkip(['host' => '127.0.0.1', 'port' => 8080]);

// Solve the reCAPTCHA v2 on this page
$result = $solver->recaptcha(
    '6LfdaCstAAAAABOuJHFLrT3p9OB7_jpn9LhdFeqV',
    'https://capskip.com/captcha-demo/recaptcha-v2/'
);

$token = $result['code']; // the g-recaptcha-response token
echo $token;
using CapSkip;

// Connect to the CapSkip app running on your machine
var solver = new CapSkipClient(host: "127.0.0.1", port: 8080);

// Solve the reCAPTCHA v2 on this page
var result = await solver.RecaptchaAsync(
    "6LfdaCstAAAAABOuJHFLrT3p9OB7_jpn9LhdFeqV",
    "https://capskip.com/captcha-demo/recaptcha-v2/");

string token = result.Code; // the g-recaptcha-response token
Console.WriteLine(token);

You get a long g-recaptcha-response token, ready to submit.

3

Use the token

Put the token into the hidden g-recaptcha-response field. If the widget defines a data-callback, run it with the token. Then submit the form, which is exactly what the Check button here does after Google siteverify.

// 1. Drop the solved token into the reCAPTCHA response field
document.querySelector('[name="g-recaptcha-response"]').value = token;

// 2. If the widget has a data-callback, run it with the token,
//    then submit your form.
Advanced

Using CapSkip on other reCAPTCHA v2 sites

To solve reCAPTCHA v2 on any site you need two values from the page:

  • Site key: the data-sitekey attribute on the widget. You can also read it from the k parameter of the reCAPTCHA iframe URL (google.com/recaptcha/api2/anchor).
  • Page URL: the full address of the page.

Invisible and Enterprise variants

For Invisible reCAPTCHA v2 (no visible checkbox, a challenge only appears after you interact) add the invisible flag, and for the Enterprise build add the enterprise flag. Leave them out for the standard checkbox.

result = solver.recaptcha(
    sitekey="SITEKEY_FROM_PAGE",
    url="https://example.com/",
    invisible=1,    # add only for Invisible reCAPTCHA v2
    enterprise=1,   # add only for Enterprise reCAPTCHA v2
)

token = result["code"]   # the g-recaptcha-response token
const result = await solver.recaptcha(
  'SITEKEY_FROM_PAGE',
  'https://example.com/',
  { invisible: 1, enterprise: 1 },  // add only the flags you need
);

const token = result.code; // the g-recaptcha-response token
$result = $solver->recaptcha(
    'SITEKEY_FROM_PAGE',
    'https://example.com/',
    ['invisible' => 1, 'enterprise' => 1]  // add only the flags you need
);

$token = $result['code']; // the g-recaptcha-response token
var result = await solver.RecaptchaAsync(
    "SITEKEY_FROM_PAGE",
    "https://example.com/",
    new Dictionary<string, object?> { ["invisible"] = 1, ["enterprise"] = 1 });  // add only the flags you need

string token = result.Code; // the g-recaptcha-response token

A proxy is also supported, which helps when the site ties the token to your IP.

Not using Python, Node.js, PHP or C#? The SDKs are just wrappers over the CapSkip HTTP API (the standard in.php / res.php endpoints), so you can solve reCAPTCHA v2 from any language, framework or tool. See the reCAPTCHA v2 API reference.

No code changes

Option 3: Send your existing solver-service code to CapSkip

Already solving reCAPTCHA v2 through a pay-per-captcha service such as 2Captcha, Anti-Captcha or CapMonster? You do not have to rewrite a line. The CapSkip app includes a service emulator that speaks those services' own APIs locally: pick the service you use, click Add to hosts file, and every request your bot, scraper or off-the-shelf tool already sends to it is answered by CapSkip on your own machine, for a flat price instead of a per-solve bill.

1

Pick your service

Open the CapSkip app and choose the service your code already talks to: 2Captcha, RuCaptcha, Anti-Captcha, CapMonster Cloud, CapSolver, DeathByCaptcha, SolveCaptcha or Captchas.io.

2

Add to hosts file

One click in the app points that service's domain at CapSkip, so the calls your tool makes are answered on your own machine instead of going out to a paid API.

3

Run your tool unchanged

Same API key, same request, same polling loop. CapSkip replies in that service's own format and your code gets a valid g-recaptcha-response token back.

Nothing below changes when you switch. It is the same call your code makes today, except that reCAPTCHA v2 is now solved locally and a valid g-recaptcha-response token comes back from CapSkip:

POST https://2captcha.com/in.php
     key=YOUR_EXISTING_API_KEY
     method=userrecaptcha
     googlekey=6LfdaCstAAAAABOuJHFLrT3p9OB7_jpn9LhdFeqV
     pageurl=https://capskip.com/captcha-demo/recaptcha-v2/

GET  https://2captcha.com/res.php?key=YOUR_EXISTING_API_KEY&action=get&id=2122988149
     OK|03AGdBq26…  the g-recaptcha-response token, solved by CapSkip

Client libraries work the same way: an Anti-Captcha style createTask / getTaskResult pair, or any wrapper built on one of these services, keeps working once the emulator is on. The full request and response reference lives in the CapSkip API docs.

About this reCAPTCHA v2 demo

This page is a live reCAPTCHA v2 demo where you can test how the "I'm not a robot" checkbox works and watch it get solved in real time. reCAPTCHA v2 is Google's classic checkbox captcha: it may pass on the checkbox alone, or show an image challenge like picking traffic lights or crosswalks. Once it is solved, Google returns a g-recaptcha-response token that your server verifies.

Developers, testers and automation engineers can use this reCAPTCHA v2 test page to observe the checkbox and image challenges, token generation and form validation, and to benchmark how CapSkip solves reCAPTCHA v2. Whether you need to solve reCAPTCHA v2 once or automate thousands of solves, CapSkip is a reCAPTCHA v2 solver that works three ways: the no-code captcha solver extension for Chrome and Firefox, and the captcha solving SDK for Python, Node.js, PHP and C#, and drop-in emulation of the captcha services you may be paying per solve today, all with unlimited solving on one flat price. All three are driven by the same desktop AI captcha solver, installed once and running on your own machine, so nothing is queued on a remote server and nothing is billed per solve.

Can I keep my existing 2Captcha or Anti-Captcha code?
Yes. The CapSkip app emulates the APIs of 2Captcha, RuCaptcha, Anti-Captcha, CapMonster Cloud, CapSolver, DeathByCaptcha and SolveCaptcha. Pick your service in the app, click "Add to hosts file", and the requests your code already sends are solved locally by CapSkip, with no code changes and no per-solve fee.
How do I solve reCAPTCHA v2?
Install the CapSkip extension or the SDK, run the CapSkip desktop app, and CapSkip returns a valid g-recaptcha-response token for the site key. The extension ticks the checkbox and clears any image challenge automatically, while the SDK lets you solve reCAPTCHA v2 from your own code.
Can reCAPTCHA v2 be bypassed?
Yes. CapSkip is a reCAPTCHA v2 solver that clears the "I'm not a robot" checkbox and any image challenge, then hands you a g-recaptcha-response token you can submit like a real user.
What is the difference between reCAPTCHA v2 and v3?
reCAPTCHA v2 is the visible "I'm not a robot" checkbox, sometimes followed by an image challenge. reCAPTCHA v3 is invisible and returns a background score instead of a checkbox. CapSkip solves both.
How fast does CapSkip solve reCAPTCHA v2?
CapSkip usually returns a reCAPTCHA v2 token within a few seconds. Every solve runs locally on your own device, so nothing is queued on a remote server.
Can I use CapSkip with other programming languages?
Yes. Beyond the Python, Node.js, PHP and C# SDKs, CapSkip exposes a standard HTTP API, so you can solve reCAPTCHA v2 from any language, framework or tool. See the reCAPTCHA v2 API reference.
Is CapSkip a free reCAPTCHA v2 solver?
The extension is free to install, and a one dollar trial gives you full access for seven days with 1,000 solves. Paid licenses unlock unlimited solving at one flat price, with no per captcha fees.