Return of the Heyes Captcha


When I first created my Heyes Captcha I thought I was onto a winner but I must admit it got ripped to pieces by the security community and was hacked in a matter of hours. But I’m persistent so I released another one with a similar outcome 🙂 but now I think I might have created a technique that is fully accessible and also strong enough to resist a computer attack.

The new idea displays the words in a random order and you have to place them in the correct order to produce a valid sentence. I’ve only included one sample sentence but the idea would be to produce a lot of different sentences and only allow them to be used once. Take a look at the demo below and see if you can arrange the sentence in the correct order.

Demo available here

HeyesCaptcha3 Source


I’ve updated the captcha to make it more usable by displaying larger select boxes and changed the code slightly to improve performance. Thanks to Whiteacid for all the excellent suggestions.

More sentences are now included to give a better idea on how the CAPTCHA works.

New version

I’ve launched another new version which is database powered now. The idea with this one is it takes 2 related sentences and mixes up the second one. It still needs work because it produces too long or short sentences but I think it is getting there.

Demo version 3.2

11 Responses to “Return of the Heyes Captcha”

  1. russelljsmith writes:

    I’m a machine apparently – “Jill walked her dog through a creepy dark forest” – sounded okay to me.

    Good to see new ideas, but I’m thinking this takes to long and relies on to high a standard of English to be of much practical use (and truly accessible).

  2. Gareth Heyes writes:

    I have updated the sentence on the demo now and removed “dark”. It should be easier to prove you are human now 🙂

  3. Richard@Home writes:

    You are going to have to be *very* careful about the sentences you select.

    Looking at the demo I can probably form 2 or 3 different, yet valid sentences from the supplied words.


    Jill walked her creepy dog through a forest

  4. Gareth Heyes writes:

    The captcha works by creating sentences that a user is most likely to pick so I assumed that a “creepy forest” is more likely to be picked than a “creepy dog” but a computer would only construct a valid sentence not understand how certain words are used.

  5. streety writes:

    It’s a nice idea but it does take some time to put in the correct sequence.

    I’m with Richard on the creepy dog. If I had planned it out in advance then it would probably have been obvious but I didn’t. Instead I just put in the words as I went with no real planning. After the third partial re-write I had, “Jill walked her creepy dog through a forest.”

  6. melissa writes:

    Does not work in Safari (2.0.4, OSX) … it creates several columns of words rather than a drop-down, and they are not in any way selectable or re-arrangeable.

  7. Gareth Heyes writes:

    Hi melissa, I’ve recently updated my CAPTCHA to display the select boxes with more height, it looks different to the screen shot and works fine in Safari 2.04.

    It isn’t perfect because the data it uses sometimes is corrupted or creates sentences that don’t make sense. So that could be why you were experiencing problems.

  8. Arnold Daniels writes:

    This can be quite a challenge for people who aren’t native English speakers.

  9. Gareth Heyes writes:

    Yes I am currently creating a new CAPTCHA that will accommodate everyone. Stay tuned for my next release, I can’t release any details yet but I shouldn’t imagine it will be far off.

    Please remember that this current release was not intended to be a final one. Just an example of how the concept would work.

  10. Antonio writes:

    I can _easily_ break this. If you want me to demonstrate let me know.

  11. Gareth Heyes writes:

    Hi Antonio this CAPTCHA was only a prototype but I’d still be interested in how you can break it.