v 8.0 v 9.0 v 10.0 v 11.0 Third Party 2576
Download for v 11.0 Deploy on Odoo.sh
Required Apps Website Builder (website)
Lines of code 239
Technical Name website_form_recaptcha
Also available in version v 9.0 v 10.0 v 8.0 v 13.0
You bought this module and need support? Click here!

Website Form - ReCaptcha

Beta License: AGPL-3 OCA/website Translate me on Weblate Try me on Runbot

Adds a ReCaptcha field widget for website forms (extends the website_form module).


This module will try to use the language of your website. If it can’t find it for any reason, it will default to google API and use the language of the browser or your location.

Table of contents


First of all you must obtain a ReCaptcha key from Google

Global setup

  • Add site key to recaptcha.key.site system parameter
  • Add secret key to recaptcha.key.secret system parameter

Single website setup

  • Go to website settings
  • Set site key and secret key


To use this module, you need to:

  • Already have a form-enabled model (refer to website_form docs)
  • Set website_form_recaptcha to True on that model (similar to enabling forms)
  • Add an element with the o_website_form_recaptcha class anywhere in the form

Look at website_crm_recaptcha module for example implementation.

Known issues / Roadmap

  • Add domain validation
  • Split recaptcha APIs from website_form dependency (ie: new module website_recaptcha_base)

Changelog (Unreleased)

  • Fix handling of request attribute

  • Add backward compatibility for recent API refactoring

    [simahawk] (2019-01-10)

  • Refactor APIs and allow per-website config

    • API keys can now be configured via website settings which in turn allow to customize the values per website in a multi-website instance;
    • move all internal APIs to the model website.form.recaptcha so that we do not depend anymore on the controller if we need to integrate it into other pieces of code.
    • Use readme fragments

    [simahawk] (2019-01-10)

  • Improve JS and enforce translations

    Make JS modular and pass language parameter according to website lang.


  • Fix duplicated calls

    When website_crm_phone_validation is installed, the captcha validation is called twice so the form always fail as with a ‘timeout-or-duplicate’ error.

  • Fix JS LINT errors

  • Improve error handling to show all error messages at the same time

    [chienandalu] (2017-10-30)

  • Migrate to v11


Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.



  • LasLabs



This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

This module is part of the OCA/website project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.
There are no ratings yet!
Quite Good.
on 6/21/19, 6:31 AM

Hi. the addon seems to be good, just the usage indication is a bit confusing. i got the keys, added to the contact form (class) But i can keep sending messages even the captcha is not solved. is there any one who can make a easier or dummy-way-to-configurate this module? Thks!