How to switch from reCAPTCHA to hCaptcha

Switching from reCAPTCHA to hCaptcha is easy. Below you can find a step-by-step process to help you with this switch.

Steps

Note: You don't have to update your callbacks or tag attributes.

Get your hCaptcha's sitekey & secret keys pairs

Signup/login to https://hcaptcha.com
Go to the sites tab in the dashboard and create a new sitekey.
Go to the settings tab in the dashboard and copy your secret key.

Update client side integration

1- Replace script

<script src="https://www.google.com/recaptcha/api.js" async defer></script>

becomes

<script src="https://www.hcaptcha.com/1/api.js" async defer></script>

2- Replace parameter name

g-recaptcha becomes h-captcha

Update server side integration

1- Update secret key

Use the secret key that you got in the first step.

2- Replace parameter

g-recaptcha-response becomes h-captcha-response

3- Update siteverify url

https://www.google.com/recaptcha/api/siteverify (or https://www.recaptcha.net/recaptcha/api/siteverify) becomes https://hcaptcha.com/siteverify

4- Invert score consumption (reCAPTCHA v3 or Enterprise to hCaptcha Enterprise only)

reCAPTCHA scores run from 0.0 (bot) to 1.0 (person). hCaptcha Enterprise scores are risk scores, and thus they run from 0.0 (no risk) to 1.0 (confirmed threat). See the hCaptcha Enterprise documentation on scores for more details. (Requires login.) This means you should invert any score checks in your score consumption code.

If (score < threshold) Then [mitigate] becomes If (score >= threshold) Then [mitigate]

Switch from plugins/libraries

We have a very long list of pre-built integrations with other platforms and frameworks. A few are linked below:

Platform/Framework Link
ReactJS react-hcaptcha
Angular ng-hcaptcha
Express.js express-hcaptcha
Node.js node-hcaptcha
VueJS vue-hcaptcha
WordPress plugin hcaptcha-wordpress-plugin
Android Use hCaptcha with Android Apps
PHP Use hCaptcha with PHP Apps