Captcha by BestWebSoft


Captcha plugin is the best security solution that protects your WordPress website forms from spam entries. It can be used for login, registration, password recovery, comments form and much more.

It is easy to use and manage, a simple and effective plugin which will always guard your website forms.

Stop spam now!

View Demo

Free Features

  • Add captcha to:
  • Choose Captcha type:
    • Invisible
    • Character Recognition
    • Simple math actions such as addition, subtraction, and multiplication
    • Slide captcha
  • Enhance captcha protection with:
    • Letters
    • Numbers
    • Images
  • Hide captcha for:
    • Registered users in comments form
  • Set captcha submission time limit
  • Refresh captcha option
  • Image packages with hand-drawn digits
  • Edit captcha title and notifications
  • Add custom code via plugin settings page
  • Compatible with latest WordPress version
  • Incredibly simple settings for fast setup without modifying code
  • Detailed step-by-step documentations and videos
  • Multilingual and RTL ready

Pro Features

All features from Free version included plus:

  • Compatible with :
    • Contact Form 7 (since v 3.4)
    • Subscriber
    • Jetpack contact form
    • MailChimp for WordPress
    • Ninja Forms
    • Gravity Forms
    • WPForms [NEW]
  • Compatible with WooCommerce:
    • Login form
    • Register form
    • Lost password form
    • Checkout billing form
  • Compatible with bbPress:
    • New Topic form
    • Reply form
  • Compatible with BuddyPress:
    • Registration form
    • Comments form
    • Create a Group form
  • Compatible with Forums – wpForo:
    • Login form
    • Registration form
    • New Topic form
    • Reply form
  • Hide captcha for:
    • Allowed IP addresses
  • Merge IP addresses from Limit Attempts plugin with Captcha whitelist
  • Configure all subsites on the network
  • Captcha submission time limit for separate forms
  • Add and enable unlimited number of image packages at the same time
  • Edit Slide captcha appearance
  • Get answer to your support question within one business day (Support Policy)

Upgrade to Pro Now

If you have a feature suggestion or idea you’d like to see in the plugin, we’d love to hear about it! Suggest a Feature

Documentation & Videos

Help & Support

Visit our Help Center if you have any questions, our friendly Support Team is happy to help –


  • Arabic (ar_AR) (thanks to Albayan Design Hani Aladoli)
  • Bangla (bn_BD) (thanks to SM Mehdi Akram,
  • Belarusian (bel) (thanks to Natasha Diatko)
  • Brazilian Portuguese (pt_BR) (thanks to Breno Jacinto,
  • Bulgarian (bg_BG) (thanks to Nick)
  • Catalan (ca) (thanks to Psiete)
  • Chinese (zh_CN) (thanks to TIM, [Jack Chen](email:,
  • Taiwan (zh_TW) (thanks to Kaiconan)
  • Croatian (hr) (thanks to Daniel)
  • Czech (cs_CZ) (thanks to Michal Kučera
  • Danish (da_DK) (thanks to Byrial Ole Jensed)
  • Dutch (nl_NL) (thanks to Bart Duineveld)
  • Estonian (et) (thanks to Ahto Tanner)
  • Greek (el) (thanks to Aris,
  • Farsi/Persian (fa_IR) (thanks to Mostafa Asadi,, Morteza Gholami)
  • Finnish (fi) (thanks to Mikko Sederholm)
  • French (fr_FR) (thanks to Martel Benjamin, Capronnier luc)
  • German (de_DE) (thanks to Thomas Hartung, Lothar Schiborr)
  • Hebrew (he_IL) (thanks to Sagive SEO)
  • Hindi (hi_IN) (thanks to Outshine Solutions,
  • Hungarian (hu_HU) (thanks to Peter Aprily)
  • Japanese (ja) (thanks to Foken)
  • Indonesian (id_ID) (thanks to Nasrulhaq Muiz,
  • Italian (it_IT) (thanks to Marco)
  • Latvian (lv) (thanks to Juris O)
  • Lithuanian (lt_LT) (thanks to Arnas)
  • Norwegian (nb_NO) (thanks to Tore Hjartland)
  • Polish (pl_PL) (thanks to Krzysztof Opuchlik)
  • Portuguese (pt_PT) (thanks to João Paulo Antunes)
  • Romanian (ro_RO) (thanks to Ciprian)
  • Russian (ru_RU)
  • Serbian (sr_RS) (thanks to Radovan Georgijevic)
  • Slovak (sk_SK) (thanks to Branco Radenovich)
  • Slovenian (sl_SI) (thanks to Uroš Klopčič,
  • Spain (es_ES)
  • Swedish (sv_SE) (thanks to Christer Rönningborg, Blittan)
  • Tagalog (tl) (thanks to Roozbeh Jalali,
  • Turkish (tr_TR) (thanks to Can Atasever,
  • Ukrainian (uk)
  • Vietnamese (vi_VN) (thanks to NDT Solutions)

Some of these translations are not complete. We are constantly adding new features which should be translated. If you would like to create your own language pack or update the existing one, you can send the text of PO and MO files to BestWebSoft and we’ll add it to the plugin. You can download the latest version of the program for work with PO and MO files Poedit.

Recommended Plugins

  • Limit Attempts – Protect WordPress website against brute force attacks. Limit rate of login attempts.
  • Updater – Automatically check and update WordPress website core with all installed plugins and themes to the latest versions.
  • Contact Form – Simple contact form plugin any WordPress website must have.
  • Subscriber – Add email newsletter sign up form to WordPress posts, pages and widgets. Collect data and subscribe your users.


  • Login form with Captcha.
  • Registration form with Captcha.
  • Lost password form with Captcha.
  • Comments form with Captcha.
  • Contact form with Captcha.
  • Login form with Optical Character Recognition Captcha Type.
  • Login form with Slide Captcha Type.
  • Captcha Settings page.
  • Captcha Packages page.
  • Captcha Allow List page.


  1. Upload the captcha-bws folder to the /wp-content/plugins/ directory.
  2. Activate the plugin via the ‚Plugins‘ menu in WordPress.
  3. Plugin settings are located in „Captcha“.

View a Step-by-step Instruction on Captcha Installation.


How to add Captcha plugin to the WordPress login page (form)?

Follow the next steps in order to add Captcha to your WordPress login page (form):
1. Open your WordPress admin Dashboard.
2. Navigate to Captcha settings page.
3. Find „Enable Captcha for“ for the „Login form“.
4. Save changes.

Any captcha answer results an error

Captcha will only be displayed if you are using standard registration, login, comments form pages. In case of using custom forms and pages it will be necessary to make changes in them so that captcha could be displayed and work correctly.

Add Captcha plugin to a custom form on my WordPress website

Follow the instructions below in order to add Captcha plugin to your custom PHP or HTML form:
1. Install the Captcha plugin and activate it.
2. (Optional) If you would like to use your own settings for the custom forms you have (for example, for your contact and sign up forms), please follow the steps below:
– Go to your theme folder for example ‚your-wp-site/wp-content/themes/your-theme-name‘ where your-theme-name is theme name you currently using ;
– Open functions.php file;
– Add the following code to the end of the file:

function add_my_forms( $forms ) {
    $forms['my_contact_form'] = "Form Display Name";
    return $forms;
add_filter( 'cptch_add_form', 'add_my_forms' );

Please don’t use the next form slugs since they are predefined by plugin settings: general, wp_login, wp_register, wp_lost_password, wp_comments, bws_contact, bws_subscriber, buddypress_register, buddypress_comments, buddypress_group, cf7_contact, woocommerce_login, woocommerce_register, woocommerce_lost_password, woocommerce_checkout.
– Save file changes;
– Go to the „Settings“ tab on the plugin settings page (Admin Dashboard -> Captcha); If everything is OK, you will see your form in ‚Enable Captcha for‘ => ‚External plugins‘ ( with labels which you specified in the „cptch_add_form_tab“ hook call function ).
– Enable it and configure form options as you need;
– Click „Save changes“;

If you don`t want to use your own settings for CAPTCHA displaying in your custom form, it will use the settings from „General“ block on the plugin settings.

  1. Open the file with the form (where you would like to add CAPTCHA);
  2. Find a place to insert the code for the CAPTCHA output;
  3. If you completed the instructions in point 2, then you should add:

In this example, the second parameter is a slug for your custom form.

Otherwise, insert the following lines:

<?php echo apply_filters( 'cptch_display', '' ); ?>
  1. After that, you should add the following lines to the function of the entered data checking.
    If you completed the instructions in point 2, then you should add:

In this example, the third parameter is a slug for your custom form.

Otherwise, insert the following lines:

<?php $error = apply_filters( 'cptch_verify', true );
if ( true === $error ) { /* the CAPTCHA answer is right */
    /* do necessary action */
} else { /* the CAPTCHA answer is wrong or there are some other errors */
    echo $error; /* display the error message or do other necessary actions in case when the CAPTCHA test was failed */
} ?>

If there is a variable in the check function responsible for the errors output, you can concatenate variable $error to this variable. If the ‚cptch_verify‘ filter hook returns ‚true‘, it means that you have entered the CAPTCHA answer properly. In all other cases, the function will return the string with the error message.

Why is the CAPTCHA missing in the comments form?

Plugin displays captcha for those comments forms which were written in the same way as comments forms for the standard WordPress themes. Unfortunately, the plugin is incompatible with comments forms generated by using SAAS (eg: Disqus or JetPack comments forms). If you don’t use SAAS comments forms, please follow the next steps:
1. Using FTP, please go to {wp_root_folder}/wp-content/themes/{your_theme}.
2. Find and open „comments.php“ file. It is possible that the file that is used to display the comment form in your theme called differently or comment form output functionality is inserted directly in the other templates themes (eg „single.php“ or „page.php“). In this case, you need to open the corresponding file.
3. Make sure that the file contains one of the next hooks:

do_action ( 'comment_form_logged_in_after' )
do_action ( 'comment_form_after_fields' )
do_action ( 'comment_form' )

If you didn’t find one of these hooks, then put the string <?php do_action( 'comment_form', $post->ID ); ?> in the comment form.

I have some problems with the plugin’s work. What Information should I provide to receive proper support?

Please make sure that the problem hasn’t been discussed yet on our forum ( If no, please provide the following data along with your problem’s description:
– The link to the page where the problem occurs
– The name of the plugin and its version. If you are using a pro version – your order number.
– The version of your WordPress installation
– Copy and paste into the message your system status report. Please read more here: Instruction on System Status


2. März 2021
Excellent plugin. It works perfectly. But sometimes it doesnt work but other than it works perfectly.
8. Oktober 2020
With cache plugin error 403 every 12-24 hours! Every update plugin i must add // // check_ajax_referer( 'cptch', 'cptch_nonce' );
20. November 2019
Free plugin is only applicable to WordPress admin or custom forms. Yet they consume huge amount of space in our "Tiny" MCE icon bar, Classic mode. Two people have asked about this in forums, and And when I submitted a ticket, they asked me to register on their site before answering, a classic tactic to claim inflated users. When a business decides how to encourage people to purchase their paid versions, they should consider the difference between encouragement and keeping the product in our view vs. imposing an annoying presence that clutters our workspace on every page or post. Although the free version works fine, I will choose to another approach since they are unwilling to be reasonable.
Lies alle 11 Rezensionen

Mitwirkende & Entwickler

„Captcha by BestWebSoft“ ist Open-Source-Software. Folgende Menschen haben an diesem Plugin mitgewirkt:


„Captcha by BestWebSoft“ wurde in 4 Sprachen übersetzt. Danke an die Übersetzerinnen und Übersetzer für ihre Mitwirkung.

Übersetze „Captcha by BestWebSoft“ in deine Sprache.

Interessiert an der Entwicklung?

Durchstöbere den Code, sieh dir das SVN Repository an oder abonniere das Entwicklungsprotokoll per RSS.


V5.1.5 – 10.08.2021

  • Update : All functionality was updated for WordPress 5.8
  • Update : Packages for slide captcha was updated.
  • Pro : The compatibility with WPForms has been added.

V5.1.4 – 29.06.2021

  • Bugfix : Syntax error has been fixed.
  • Update : BWS panel section was updated.
  • Update : Packages for slide captcha was updated.

V5.1.3 – 17.06.2021

  • NEW : Ability to edit messages of slide captcha has been added.
  • Bugfix : The issue of sending a password reset link on the user edit page has been fixed.
  • Update : All functionality was updated for WordPress 5.7.2
  • Pro : Ability to edit the appearance of slide captcha has been added.
  • Pro : The issue with submitting Contact 7 form has been fixed.
  • Pro : The issue with displaying captcha in the form of creating a new topic and in the reply form in WpForo has been fixed.

V5.1.2 – 13.04.2021

  • Bugfix : Captcha Time Limit Exceeded issue has been fixed.

V5.1.1 – 06.04.2021

  • Update : BWS panel section was updated.
  • Update : All functionality was updated for WordPress 5.7
  • Pro : The compatibility with Gravity Forms has been added.

V5.1.0 – 19.01.2021

  • Update : BWS panel section was updated.
  • Pro : Bug related to incorrect Captcha displaying at used several Image Packages has been fixed.
  • Update : Whitelist replaced with allow list.
  • Update : All functionality was updated for WordPress 5.6

V5.0.9 – 07.10.2020

  • NEW : Added RTL support for Slide Captcha.
  • Pro : The compatibility with Ninja Form has been fixed.
  • Bugfix : Fixed display Slide Captcha in Internet Explorer.
  • Update : React libraries have been updated.
  • Update : BWS panel section was updated.

V5.0.8 – 30.03.2020

  • NEW : New type of Captcha – Slide Captcha has been added.

V5.0.7 – 17.09.2019

  • Bugfix : Issue with Calling files remotely has been fixed.
  • Bugfix : Issue with Including Libraries Already In Core has been fixed.
  • Update : Checking for updates has been removed.
  • Update : BWS Menu Functionality is improved.

V5.0.6 – 04.09.2019

  • Update: The deactivation feedback has been changed. Misleading buttons have been removed.

V5.0.5 – 24.05.2019

  • NEW : The compatibility with Car Rental V2 has been added.
  • Bugfix : The bug with the „Advanced protection“ option has been fixed.
  • Update : Chinese language file has been updated.
  • Update : All functionality was updated for WordPress 5.2.1.

V5.0.4 – 22.04.2019

  • PRO : Compatibility with Ninja Forms has been added.
  • Update : All functionality was updated for WordPress 5.1.1.

V5.0.3 – 04.02.2019

  • NEW : Ability to use captcha in the custom login forms which calls function wp_login_form() has been added.
  • Bugfix : Compatible with W3 Total Cache has been fixed.
  • Update : Spanish language file has been updated.
  • Update : All functionality was updated for WordPress 5.0.3.

V5.0.2 – 10.10.2018

  • NEW : Ability to choose Captcha type has been added.
  • NEW : Ability to enhance captcha protection with letters, numbers, images has been added.
  • NEW : Ability to hide captcha for registered users in comments form has been added.
  • NEW : Ability to set captcha submission time limit has been added.
  • NEW : Ability to refresh captcha option has been added.
  • NEW : Image packages with hand-drawn digits has been added.
  • NEW : Ability to edit captcha title and notifications has been added.
  • Pro : Compatible with MailChimp for WordPress has been added.
  • Pro : Compatible with bbPress has been added.
  • Pro : Compatible with wpForo has been added.
  • Bugfix : Bug related to incorrect Captcha displaying at Arithmetic Actions has been fixed.
  • Bugfix : Bug related to incorrect Captcha displaying at Optical Character Recognition has been fixed.
  • Bugfix : Bug related to the Network settings page has been fixed.
  • Bugfix : The bug with infinite Captcha loading in BuddyPress Comments form has been fixed.
  • Update : Czech language file has been updated.

V5.0.1 – 03.04.2018

  • Pro: Bug related to the inability to save settings after upgrading to Pro version has been fixed.

V5.0.0 – 14.09.2017

  • NEW : Plugin has been released.