The best Drupal CAPTCHA modules

On most Drupal websites there are some kind of forms that require the submission of data. Be it a simple contact form or a commenting functionality for blog entries or other content types. If so, you definitively need a way to protect these forms from SPAM.

One way to do so is the integration of the CAPTCHA functionality: A CAPTCHA is a challenge-response test most often placed within web forms to determine whether the user is human.

The key module to do so is the Drupal CAPTCHA module. The purpose of CAPTCHA is to block form submissions by spambots, which are automated scripts that post spam content everywhere they can. The CAPTCHA module provides this feature to virtually any user facing web form on a Drupal site. As per default, the Drupal CAPTCHA module offers you image and math challenges for the different forms.

The functionality of this core module can be extended with various additional Drupal CAPTCHA modules. Below the best Drupal CAPTCHA modules recommended by Drupal4U. Best means for us: Easy to configure, easy to handle, flexible and reliable. Furthermore our recommendation usually requires that the module is actively maintained and under active development.

CAPCHA Riddler (Drupal 7 and Drupal 8)

CAPTCHA Riddler is a very lovely extension to make CAPTCHA more personal/individual by adding a question as challenge. Captcha Riddler is a sub module of Captcha that lets site administrators create their own questions to foil automated spam bots. In our experience you get very little or no spam with very simple questions - such as what is the name of this website (number of letters as help). Hence it works even better as an image CAPTCHA with a strong configuration. Compared to the most commonly used Google based reCAPTCHA, which can be very annoying and time consuming, is is furthermore much more user friendly. As a result you get much more leads and user generated content, because with reCAPTCHA many visitors stop their attempt to contact or post something!

  • Create your own CAPTCHA questions to give your forms personality that matches your site
  • Allows multiple possible answers for one question
  • Allows multiple possible questions, randomly presenting just one to the user

Captcha Riddler is a sub module of Captcha that lets site administrators create their own questions to foil automated spam bots. This module lets you create custom riddles for the Captcha module, requiring guests to answer the 'riddle' before being allowed to submit the form.

reCAPTCHA (Drupal 7 and Drupal 8)

Despite the fact that this is currently the most popular extension, it is for many cases not the optimal solution. In its standard configuration reCAPTCHA is very secure, but not user friendly. This results is a significant loss of leads (contact form) and user generated content (comments). reCAPTCHA uses the reCAPTCHA web service from Google to improve the CAPTCHA system and protect email addresses. reCAPTCHA helps power massive-scale online collaboration. reCAPTCHA Mailhide helps you protect your inbox by asking people to solve a reCAPTCHA before they can view your email address. A slight disadvantage of this module might be, that you have to register, but this can be done within seconds. The function “No CAPTCHA reCAPTCHA”, is a step forward regarding usability. Using this functionality the end-user typically only has to click a checkbox to confirm that he is human. Only if the system is not sure he will have to fill a challenge.

Uses the Google reCAPTCHA web service to improve the reliability of the CAPTCHA system. reCAPTCHA is built for security. Armed with state of the art technology, it always stays at the forefront of spam and abuse fighting trends. On the other hand, it has some disadvantages what the usability concerns what can lead to a loss of leads and user generated content.

Image CAPTCHA Refresh (Drupal 7)

Image CAPTCHA Refresh is an important extension if you want to use the image challenge of the CAPTCHA module. This module adds the link for refreshing image into the very popular widget image_captcha. According to the project website, this module is going to be part of the CAPTCHA module in Drupal 8, see for updates and related problems.

This module adds the link for refreshing image into very popular module for the image captcha widget.

Hidden CAPTCHA (Drupal 7)

The idea is very simple: If you offer an input box in any form, 99% of the time, robots will fill it with something before posting the form. If you offer an input box that has to stay empty, then the CAPTCHA system will prevent posts by robots. This module allows you to add a Hidden CAPTCHA on forms where you don't absolutely need to have a human enter a text, number, etc. but that still needs a little anti-spam control. If the question is: does it prevent all Spam? Then, no. It does not. However, it does help dramatically (i.e. with it or without any CAPTCHA... quite a difference.)

Hidden CAPTCHA is an extension to the CAPTCHA module. It offers a hidden CAPTCHA (duh!). The difference between having a reCAPTCH and the Hidden CAPTCHA: You get a lot more posts from your users!

The following module had potential - we feel its a nice approach - but is NOT recommended because of bugs that have been identified by Drupla4U, because there is apparently no activity since very long time and because there is apparently no release planned for Drupal 8.

Draggable Captcha (Drupal 7)

Draggable Captcha would be a stylish and user friendly extension for sites that require little security: It extends the CAPTCHA module and offers a mobile friendly, draggable & clickable style. Unfortunately this module only works properly if one disables javascript aggregation (see Aggregate Javascript makes symbols undraggable; it says that you can use the dev version to solve the problem, but this does not correspond to our experience). Disabling of javascript aggregation can be done for the whole website (not recommended) or only for individual sites with challenges. For the latter you could for example use the module Advanced CSS/JS Aggregation (quey string ?advagg=0 or ?advagg=-1) to do so. In any case this module is not recommended until this problem has been solved properly and there is a migration path towards Drupal 8.

Extended the captcha module, offers a mobile friendly, draggable & clickable style.

The best Drupal CAPTCHA modules

Drupal themes to be compared