Simple CAPTCHA

Not every site needs Google reCAPTCHA or Cloudflare Turnstile. Simple CAPTCHA provides human verification using math problems, custom text questions, or image challenges — all processed locally without sending data to external services.

Use Cases

  • Protect forms without third-party dependencies
  • Keep visitor data on your own server (privacy compliance)
  • Work on intranets or sites without internet access
  • Customize challenges with your own questions

CAPTCHA Types

Math CAPTCHA

Users solve simple arithmetic: “What is 7 + 4?”

DifficultyExamples
EasySingle digits: 3 + 5, 8 - 2
MediumLarger numbers: 15 + 23, 42 - 18
HardThree numbers: 5 + 12 - 3

Text Questions

Custom questions only humans would know:

  • “What color is grass?”
  • “How many legs does a dog have?”
  • “What comes after Friday?”

You define the questions and accepted answers.

Image CAPTCHA

Distorted text users must type:

  • Random alphanumeric string displayed as image
  • Distortion and noise prevent OCR
  • Optional case sensitivity

Settings

SettingTypeDefaultDescription
CAPTCHA TypeSelectMathMath, text, or image
Math DifficultySelectEasyEasy, medium, or hard
Text QuestionsRepeaterCustom questions and answers
Image StyleSelectDistortedDistorted or simple
Image LengthNumber5Characters in image CAPTCHA
Case SensitiveToggleOffRequire exact case for image
Skip Logged-inToggleOnDon’t show to logged-in users
Error MessageTextCustom verification error

Protected Forms

WordPress Core Forms

FormSetting
Loginprotect_login
Registrationprotect_registration
Password Resetprotect_password_reset
Commentsprotect_comments

Switchboard Integrations

IntegrationSetting
Simple FormsAlways enabled
Magic Loginprotect_magic_login
OTP Loginprotect_otp_login

Third-Party Forms

PluginHow to Add
Contact Form 7Add [switchboard_simple_captcha] tag
Fluent FormsAdd “Simple CAPTCHA” from Advanced fields

Creating Text Questions

Good text questions should:

  • Have obvious answers humans know
  • Not require cultural knowledge bots might have
  • Accept multiple valid answers

Example configuration:

Question: What color is the sky on a clear day?
Answers: blue, Blue, BLUE

Question: How many days are in a week?
Answers: 7, seven, Seven

Question: What season comes after winter?
Answers: spring, Spring

Provide multiple answer variations to handle capitalization and spelling differences. Users shouldn’t fail because they typed “7” instead of “seven.”

Image CAPTCHA Requirements

Image generation requires the GD library, which is included in most PHP installations. If images don’t display:

  1. Check if GD is enabled: php -m | grep gd
  2. Install GD if missing: apt install php-gd (Debian/Ubuntu)
  3. Restart PHP/web server

Refresh Functionality

Users can refresh the CAPTCHA to get a new challenge:

  • Useful if math problem is confusing
  • Gets a new image if text is unclear
  • Rate-limited to prevent abuse (10 refreshes per minute)

FAQ

Why use this instead of reCAPTCHA?Privacy. Simple CAPTCHA processes everything locally — no data sent to Google. It’s also simpler to set up and works offline or on private networks.
Are math problems secure enough?Against basic bots, yes. Sophisticated bots can solve math, but they can also defeat basic reCAPTCHA. For high-security needs, use Turnstile or reCAPTCHA v3.
Can bots read the image CAPTCHA?Modern OCR can read some CAPTCHAs, but distortion helps. Image CAPTCHA is best as an additional hurdle, not sole protection for high-value forms.
What if I enable multiple CAPTCHA modules?Only one CAPTCHA renders per form. The modules coordinate to prevent duplicates. We recommend using just one CAPTCHA solution.
Does this work without JavaScript?Math and text CAPTCHAs work without JavaScript. Image CAPTCHA refresh requires JavaScript, but the initial image displays without it.

Simple CAPTCHA is ideal for low-to-medium traffic sites wanting privacy-first protection. High-traffic sites facing sophisticated attacks should consider Cloudflare Turnstile or reCAPTCHA.

PRO

Get access to all 166 modules with a single license

Upgrade to Pro