Easily implement a cool visual drag-and-drop captcha on your site.

  • Language: PHP
  • Released: Jun 20, 2011
    Last Update: Apr 1, 2013

IMPORTANT: This binpress component is being kept for historical reasons, but for the latest version, you should check and the github repos there.

This component will not be updated here anymore as of June 2013

The easiest way to implement an unusual Captcha with images instead of text and drag & drop capabilities.

4.0: Now with Accessibility support!! Retina-ready!! Added support for jQuery 1.8 and jQuery UI 1.9, new images and refactored code.

3.0: Added support for jQuery 1.7, new images and improved code readability.

2.1: Now supporting drag out and in other items, one at a time!

2.0: Now supporting Mobile Devices (through tap/touch)!

visualCaptcha - Captcha with Images



We have it prepared to be setup in an Horizontal or Vertical way (css changes and the number of images showing). Type 0 is Horizontal and 1 is Vertical. By default, Horizontal is applied, so if you want to show it vertically, you can use:


For detailed instructions, click here.



Captcha is a great thing, it makes it more difficult (hopefully impossible) for bots to submit forms "blindly", creating/sending junk to mails/databases.

However, through time, we've become more and more aware it doesn't work as expected. It difficults communication, and as such, people make mistakes often in the common Captcha forms, making it sometimes a reason for giving up filling a form (specially when the form is big and it doesn't refill the sent information).

So, we thought: "wouldn't it be great to find a way to make a Captcha work better for humans and still be impossible to be submitted automatically by bots?"

We found a great concept for this answer at Ajax Fancy Captcha - jQuery Plugin, but also found in it a few bugs and easy ways for bots to "learn" how to bypass it. As there was nothing really good and innovative as we wanted it, we built our own!

You can find some more info here:

You need to log-in or create an account
  • Create an account
  • Log-in
Please use your real name.
Activation link will be sent to this address.
Minimum 8 characters
Enter your password again

Clicking this button confirms you read and agreed to the terms of use and privacy policy.


Save your watchlist

Fill your details below to receive project updates from your watch list - including new versions, price changes and discounts.

I agree to the terms of use and privacy policy.

License » GNU GPL Download
or Get a quote

for customization or integration services

  • Very impressive easy to expand and implement.
    L Love
    2 years ago, 0 comments
    Was this helpful?
    Flag 1 of 1 people found this review helpful
  • Very nice and very simple to use... thumbs up! Nice Job!
    MC Miguel Costa
    2 years ago, 0 comments
    Was this helpful?
    Flag 1 of 1 people found this review helpful
  • Well done and original work.
    PD Peter Drinnan
    2 years ago, 0 comments
    Was this helpful?
    Flag 1 of 1 people found this review helpful
Post a comment

Or enter your name and Email
  • SL Sergio Lopez 1 year ago
    I would like to use it in a project but I need to show it working in live sites. Could you provide a few examples of sites already using it please? Thanks
    • BB Bruno Bernardino Developer 12 months ago
      Hi, Sergio. Because visualCaptcha is self-hosted, we don't have a way to track who's using it and where, only the donations we get, number of downloads, and messages saying they loved visualCaptcha, as a way to measure. Sorry!
  • PM perera malinda 2 years ago
    Oh..........Nice Work....Thanx..
  • L Love 2 years ago
    I created a function called function_captcha which allows me show and validate the CAPTCHA from anywhere but it doesn't validate the form even if I drag the correct image. It however works if I use the accessibility option, further testing showed that the variable fieldname isn't set, how do I use it? Can't even find it in your demo.
    • BB Bruno Bernardino Developer 2 years ago
      Hi, Love. It seems like the normal variable might be being overwritten by something else, but that's strange. Can you open a ticket with a few more details (including HTML and PHP code)?
    • L Love 2 years ago
      Okay. From your demo, your form contains an array CAPTCHA-VALUE, mine does not. Thanks.