Obfuscate email addresses using the HTML bidirectional override element

Revision history
Tags: html javascript obfuscation email

Starting with a reversed e-mail address

// "moc.elpmaxe@wohss"

Putting it in a <bdo> element to make it readable again.

<bdo dir="rtl">moc.elpmaxe@wohss</bdo>
// sshow@example.com

The dir attribute specifies the text direction of the containing text. Either rtl or ltr.

I remember reading an article about different ways to obfuscate email addresses in websites to avoid feeding spambots and crawlers. Well, here’s another one.

… whether this is a good idea or not is a discussion of its own.

Full example

<!DOCTYPE html>
    <meta charset="utf-8">
      function reverse(str) {
        return str.split('').reverse().join('')
      function load () {
        var el = document.getElementById('email')
        el.innerHTML = reverse('sshow@example.com')
  <body onload="load()">
    <bdo id="email" dir="rtl"></bdo>

If you have any comments or feedback, please send me an e-mail. (stig at stigok dotcom).

Did you find any typos, incorrect information, or have something to add? Then please propose a change to this post.

Creative Commons License This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.