Donate Bitcoins

About is a form spam elimination service that:

  • Is free to use
  • Works on just about any website (ASP, PHP, JSP, ColdFusion, even flat HTML)
  • Doesn't require any code running on your server
  • Is much easier on users than traditional text based CAPCHA systems
  • Works on just about every browser out there (Internet Explorer, Firefox, Netscape, Opera, etc...)
  • and only requires client JavaScript and cookie support.

All you need to do to get JustHumans form verification going is signup, login and replace the "Submit" button in your forms with the custom JavaScript code that generates for you. Your users will now see a question and a set of images directing them click one of the pictures to submit the form. This is very easy for a human to do but tough for a computer so form spam is just about completely eliminated.

It looks something like this:

Click the duck to continue:

Who else is using JustHumans?

Thousands of sites use JustHumans every day. Here's a list of a few of them: Sites using JustHumans

What does the code look like?

After you create an account, login and click the code generation button, you will get a snipit of JavaScript code custom taylored for the form on your site which looks something like this:

<script language="javascript" src="">

Note: Don't just copy this code because this is just an example! The code makes for you will be specific to your form.

What do I do with the code?

You should replace the submit button in your form with the JavaScript code that this site generates for you. When your users look at your form, the JavaScript code will fill in the image verification system by generating some HTML.

What HTML code does the JavaScript render?

The JavaScript code uses a number of document.write( ) statements to create some HTML that looks similar to this:

<div id="imageVerification">
 <div id="imageVerificationText">Click the <b>firetruck</b> to submit.</div>
 <div id="imageVerificationImages">
  <a href="javascript:fa1b2c3d4e5f6('a');"><img src="" 
      width=50 height=50 border=0></a>
  <a href="javascript:fa1b2c3d4e5f6('b');"><img src="" 
      width=50 height=50 border=0></a>
  <a href="javascript:fa1b2c3d4e5f6('c');"><img src="" 
      width=50 height=50 border=0></a>
  <a href="javascript:fa1b2c3d4e5f6('d');"><img src="" 
      width=50 height=50 border=0></a>
  <a href="javascript:fa1b2c3d4e5f6('e');"><img src="" 
      width=50 height=50 border=0></a>
  <a href="javascript:fa1b2c3d4e5f6('f');"><img src="" 
      width=50 height=50 border=0></a>
  <input type="hidden" name="verificationKey" value="a1b2c3d4e5f6"><input type="hidden" 
      name="verificationSelection" value=""><br />
  <font size="1">Verification by <a 

So couldn't a spammer just remember that first image is a Duck?

No, because while the first image might be a duck when it is loaded, it will probably be something else when reloaded. However, astute webmasters will notice that the JavaScript and hence the HTML that comes back never changes. Rather, the server changes which image comes up behind each image URL every time you reload the JavaScript. Not only that, but the server also remembers which image it put where so when you finally do make a selection and post the form, it can tell if you picked the right image or not. So if you are a computer and you can't "see" that image "a" is a duck this time, your spam posting is ignored. This is all part of the magic of JustHumans!

What choices do I have to modify this HTML?

Only a small handfull. At this point they all boil down to how the images are arranged. For example:

You can, however, optionally set the "pretext" and "posttext" variables to change the wording around the keyword. For example:

<script language="javascript" 
  src="" />


Klicken Sie die duck bitte.

Of course because you can upload your own pictures and name them whatever you want, you could also change the English word "duck" in the above example to the German word "ente" too. In this way, JustHumans can support just about any language. We have yet to see Klingon though...

Can I modify the style via CSS?

Yes. You have a whole slew of design options here. You will notice above that elements are carved into <div> tags so you can get at all or part of them in your CSS directly.

For example, adding the following code between the <head> and </head> of your form will turn the image verification text blue:

<style type="text/css">
  #imageVerificationText {
    color: blue;


You have access to a number of elements. As demonstrated above, imageVerificationText surrounds the question text. The tag imageVerificationImages lets you alter the display of the verification images and the tag imageVerification surrounds the entire JustHumans block allowing you control over everything in one shot. For example, you could easily change the background color of the entire submission elemnt this way.

Can I change the HTML in any other way?

Not at this time, but we are open to suggestions.

Don't like the pictures? Just change them! supports image upload so you can use whatever pictures you want instead of the default images. You can also name your pictures arbitrarily which allows support for non-English based forms.

Does this work on a PHP / JSP / ASP / Cold Fusion / Drupal / etc. website?

Yes. JustHumans doesn't require any server-side modifications so it will work in just about any server environment. It will even make forms work on a completely static HTML site!

What does JustHumans do with form data when it is submitted?

What happens to the form contents is entirely up to you. Generally you have three options:

  • Email a copy wherever you choose
  • Save the data in the JustHumans database
  • Re-post the data back to any url you want

You can do any combination of these things. (including doing none of them, in which case the form cotents are lost) JustHumans has a strict policy of destroying form data when the user does not select the JustHumans database option. However, if you do choose to use the JustHumans database, your account will always have real-time access to your data which can also be exported into Excel.

Can I specify a sort order for the fields?

Yes. Fields will normally come back to you (in email or in the database) in alphabetical order so you can change the name of your fields (for example by adding a 01, 02, 03, etc. in front of the field names) to get the order you want. Another way to do this without changing the names of your fields is to add a hidden field named "sort" with your desired order like this:

<input type="hidden" name="sort" value="order:name,email,comments">

In this example, if you had a form with fields called "name", "email" and "comments", they would come back in that order. Note: you need to include "order:" before your field names as in the example or this won't work. Any additional fields in your form will come back in alphabetical order after your custom sort ordered fields.