About Email Obfuscation (EMO)

Email Obfuscation module for plaintext emails and email links with 64 base crypting.

Category 1Email/WireMail
Modules that work with email as well as modules that implement ProcessWire’s core WireMail type.
Category 2Markup Generation
Markup modules that are called upon to generate or parse markup (like HTML). Markup modules are most often used on the front-end of a site (rather than admin).
Category 3Text Formatters
Textformatter modules that provide run-time formatting for blocks of text (typically used with Text/Textarea fields).
Release StateStable
Should be safe for use in production environments. *
Module Version1.1.1
Class NameEmailObfuscation
Compatibility2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 3.0
Date AddedMarch 3, 2013
Last UpdatedJanuary 3, 2019
Recommended ByNew recommendations may take up to 1 day to appear.


This module's files should be placed in /site/modules/EmailObfuscation/
How to install or uninstall modules


ProcessWire Email Obfuscation

Email Obfuscation (EMO) module for plaintext emails and email links with 64 base crypting

This module finds all plaintext emails and email links from the content and replaces them with span elements. All theaddresses are stored in 64 base encoded srings to JavaScript array in souce code. Then on client side browser finds emo_email span elements, replaces and encodes them back to email addresses.

All emails inside form elements are left untouched. Same as anchor texts, unless it's email address. You can definedefault text string for replaced email address in module config.

Both emo touched span and anchor elements have emo_email class name that you can use for css/js.


  1. Create a new folder EmailObfuscation into /site/modules/.
  2. Copy the contents of this repository to /site/modules/EmailObfuscation/.
  3. Login to processwire and go to Modules page and click 'Check for new modules'. Find emo and click install.
  4. You can make optional configuration changes in module admin page.


This is ProcessWire module fork from MODX Evolution plugin emo E-Mail Obfuscation.


GNU Public License (GPL)


  • Sebastian

    Sebastian 4 years ago 00

    Hey there, are there any problems with current versions as it is listed just to 2.5?

  • Roope

    Roope 4 years ago 00

    No, not any PW related issues and it works just fine with current version. I'll update the list, thanks!

  • Timo

    Timo 3 years ago 00

    Works also with PW 3.0, thanks!

  • Alex Capes

    Alex Capes 5 months ago 00

    Latest version (1.1.1) seems to have broken functionaility on my site (running Processwire 3.0.123). The module shows "Enable JavaScript to view protected content." even when JS in enabled.

  • Roope

    Roope 5 months ago 00

    It should work ok but requires async attribute to the script tag where emo.js is loaded.

    To prevent this behaviour I just uploaded the fix that works with or without async/defer attributes. Please download from github and see if it fixes your issue.

    Also make sure that you 'Clear Compiled Files' and 'Refresh' the moduled after the emo update.

Post a Comment

Your e-mail is kept confidential and not included with your comment. Website is optional.