Hidemail turns email addresses into unreadable javascript code. When this code is included in a webpage, the address will not be picked up by email harvestings robots, spiders and crawlers. Human internet users will however still have access to a fully functional link (after all, who has javascript disabled?).

Compare the two email links below. They are identical in every way, except the first is read by robots while the second is Hidemail. The characters are converted to their Unicode values, then reversed in order en put in a javascript array, which is written out back to front.

Basic link Hidemail link
Basic code Hidemail code
<a href="mailto:my@example.com">my@example.com</a> <script type=text/javascript><!--
e=new Array(109,111,99,46,101,108,112,109,97,120,101,64,121,109);

Alternative solutions

Using &#64;

Some email searching crawlers will not recogize my&#64;example.com as an email address. The browser turns the ASCII code into the desired @ character, so visitors to the site will have a working email address. As this is not dependent on javascript being enabled, you may reach a few more people this way, but legitimate crawlers like googlebot will also pick it.

Checking the User Agent String

Provided your web server allows for Server Side Includes (SSI), some advise eluding email harvesters by encapsulating email addresses in something like this:
<!--# if expr="\"$HTTP_USER_AGENT\" != /ExtractorPro|EmailSiphon|WEBMOLE|Crescent Internet ToolPak|NEWT ActiveX|CherryPicker|Microsoft URL Control|EmailCollector|EmailWolf|NICErsPRO|Telesoft|WebBandit|WebEMailExtractor/" -->
<a href="mailto:my@example.com">my@example.com</a>
<!--# endif -->
However, many harvesters do not identify themselves by names which reveal their true intent. Therefore, any solution based on the User Agent Signature is bound to failed.

The Hidemail Interface


The name is displayed next to the subject line (if provided) in the list of messages in the reader's Inbox and the sender's Sent Items. When no name is provided, the email address is used.
To incorporate a name in a mailto: link, wrap the email in sharp <brackets> like a html tag and place the name in front.
Example: <a href="mailto:My Name<my@example.com>">my@example.com</a>

Email Address

The email address should be in the familiar email format. While you are typing, the label may turn red, warning you of an illegitimate format.


The text to display as the email link text, can be either the email address itself, the name associated with this address, or any other text.


The preview area is where the output is rendered as it would on the page where you include the hidemail code. Hover over the link and look in the status bar to see if it meets your expectations.

Unsafe code

The unsafe code is what is written into the document by the javascript.

Safe code

The safe code is the javascript to copy and paste in your paste. Select any portion and right-click to copy, or click the link labeled Copy to copy the code to the clipboard.


The links at the bottom lead to the homepage of the site, to this help page and to your webservant's email address.
See 4umi.com/web/html/hidemail.php.