Title: CryptX
Author: Ralf Weber
Published: <strong>October 10, 2007</strong>
Last modified: December 18, 2025

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/cryptx.svg)

# CryptX

 By [Ralf Weber](https://profiles.wordpress.org/d3395/)

[Download](https://downloads.wordpress.org/plugin/cryptx.4.0.11.zip)

 * [Details](https://wordpress.org/plugins/cryptx/#description)
 * [Reviews](https://wordpress.org/plugins/cryptx/#reviews)
 *  [Installation](https://wordpress.org/plugins/cryptx/#installation)
 * [Development](https://wordpress.org/plugins/cryptx/#developers)

 [Support](https://wordpress.org/support/plugin/cryptx/)

## Description

No more SPAM by spiders scanning your site for email addresses. With CryptX you 
can hide all your email addresses, with and without a mailto-link, by converting
them using javascript or UNICODE.

CryptX protects your email addresses from spambots while keeping them readable and
functional for your visitors. The plugin automatically detects email addresses in
your content and encrypts them using various methods including JavaScript encryption,
Unicode conversion, and image replacement.

**Key Features:**

 * **Automatic Email Detection** – Finds and encrypts email addresses in posts, 
   pages, comments, and widgets
 * **Multiple Encryption Methods** – JavaScript, Unicode, image replacement, and
   custom text options
 * **Widget Support** – Works with text widgets and other widget content
 * **RSS Feed Control** – Option to disable encryption in RSS feeds
 * **Whitelist Support** – Exclude specific domains from encryption
 * **Per-Post Control** – Enable/disable encryption on individual posts and pages
 * **Shortcode Support** – Use `[cryptx]email@example.com[/cryptx]` for manual encryption
 * **Template Functions** – Developer-friendly functions for theme integration

[Plugin Homepage](http://weber-nrw.de/wordpress/cryptx/)

## Screenshots

 * [[
 * Plugin settings – General configuration options
 * [[
 * Email encryption methods and display options
 * [[
 * Advanced settings and whitelist configuration
 * [[

## Installation

 1. Upload the CryptX folder to the `/wp-content/plugins/` directory
 2. Activate the plugin through the ‘Plugins’ menu in WordPress
 3. Configure the plugin settings under Settings > CryptX
 4. Your email addresses will now be automatically protected!

## FAQ

### How does CryptX protect my email addresses?

CryptX uses various methods to hide email addresses from spambots while keeping 
them functional for visitors. Methods include JavaScript encryption, Unicode conversion,
and replacing emails with images or custom text.

### Will this affect my website’s performance?

CryptX is designed to be lightweight and only loads JavaScript when needed. The 
performance impact is minimal.

### Can I exclude certain email addresses from encryption?

Not directly; currently, specific email addresses cannot be excluded. It is possible
to add individual posts/pages to the exclusion list using their ID. These pages/
posts will then not be processed by CryptX.

### Does it work with contact forms?

CryptX primarily works with email addresses displayed in content. It doesn’t interfere
with contact forms or other form functionality.

### Can I disable encryption on specific posts?

Yes, you can enable the meta box feature to control encryption on individual posts
and pages.

For more information, visit the [Plugin Homepage](http://weber-nrw.de/wordpress/cryptx/)

## Reviews

![](https://secure.gravatar.com/avatar/6e9ac4b0156de1acf73c8bd898468943233ee767774eece0592a5c64666f765d?
s=60&d=retro&r=g)

### 󠀁[It works. Perfectly!](https://wordpress.org/support/topic/it-works-perfectly-148/)󠁿

 [koltast](https://profiles.wordpress.org/koltast/) February 23, 2023

An essential, lean little helper that goes on every website build that I do. My 
favorite part: The option to automatically convert pasted mail addresses into mailto-
links. Thank you, Ralf!<3

![](https://secure.gravatar.com/avatar/e412a29b85dc75c051474da6d04b858f462552f8855bc584eeb920dfb069c73c?
s=60&d=retro&r=g)

### 󠀁[Excellent plugin!](https://wordpress.org/support/topic/excellent-plugin-7372/)󠁿

 [tenserd](https://profiles.wordpress.org/tenserd/) September 14, 2021

Excellent plugin and works right out of the box. Also with divi contact module, 
when e-mail field is added to the form. Thank you and all the best! Steve

![](https://secure.gravatar.com/avatar/372bd3a6fe2a29d35bffaffb349f080d1d573e93c3c8e36d26a6a7e72974c020?
s=60&d=retro&r=g)

### 󠀁[super plugin and great plugin author](https://wordpress.org/support/topic/super-plugin-and-great-plugin-author/)󠁿

 [kuttnerd](https://profiles.wordpress.org/kuttnerd/) May 16, 2021

i am using this plugin literally for all websites and can fully recommend it. Also
the author is responsive and delivers a well designed plugin.

![](https://secure.gravatar.com/avatar/4b531051bf7ef0beda86407015b0e950ad8eece9675ba5586bf0731fafba9c4b?
s=60&d=retro&r=g)

### 󠀁[Installieren, aktivieren …](https://wordpress.org/support/topic/installieren-aktivieren/)󠁿

 [Rene.Welz](https://profiles.wordpress.org/renewelz/) April 14, 2019

… läuft. Sonst musste ich mir die Mühe machen, ein Script hochzuladen, im Template
aufzurufen und die E-Mailadresse in das passende Tag zu packen. Alles überflüssige
Schritte mit dem Plugin.

![](https://secure.gravatar.com/avatar/db9806d1148553c64ecdb5737d0c5c1db9f2d3811cf0ec3d9a413c1b8c1d239b?
s=60&d=retro&r=g)

### 󠀁[Works great](https://wordpress.org/support/topic/works-great-5686/)󠁿

 [derheavy](https://profiles.wordpress.org/derheavy/) March 21, 2019

and of course support works too!

![](https://secure.gravatar.com/avatar/12494d11f7d15e753635ada1fb42cbda4f8d1e68ea70e7505e21f75edfe3cf6e?
s=60&d=retro&r=g)

### 󠀁[Poor Setup Instructions](https://wordpress.org/support/topic/poor-setup-instructions/)󠁿

 [caljim](https://profiles.wordpress.org/caljim/) July 12, 2018

No info on what the setup fields do and how to connect these settings to your address
on a Web page. Maybe that is ok for a Wordpress pro but if you just dabble in WP
then how this plugin works is very ambiguous. The suggested template should go somewhere,
but where? Such a question remains unanswered for over a year in the forum. The 
suggested code at the bottom isn’t updated for the settings so after doing the settings
in the UI you to figure out the template code on your own.

 [ Read all 19 reviews ](https://wordpress.org/support/plugin/cryptx/reviews/)

## Contributors & Developers

“CryptX” is open source software. The following people have contributed to this 
plugin.

Contributors

 *   [ Ralf Weber ](https://profiles.wordpress.org/d3395/)

“CryptX” has been translated into 1 locale. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/cryptx/contributors)
for their contributions.

[Translate “CryptX” into your language.](https://translate.wordpress.org/projects/wp-plugins/cryptx)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/cryptx/), check out
the [SVN repository](https://plugins.svn.wordpress.org/cryptx/), or subscribe to
the [development log](https://plugins.trac.wordpress.org/log/cryptx/) by [RSS](https://plugins.trac.wordpress.org/log/cryptx/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 4.0.11

 * fixed a bug in the deprecated “encryptx” function (thx to [Machtnix](https://wordpress.org/support/users/hillyfov/))

#### 4.0.10

 * fixed a [bug](https://wordpress.org/support/topic/fatal-typeerror-in-processwidgetcontent/)
   in CryptX\CryptX::processWidgetContent() (thx to [mkoscher](https://wordpress.org/support/users/mkoscher/))
 * added support for themes with block support

#### 4.0.9

 * A bug in the “cryptx_encrypt” function has been fixed, where attributes became
   unusable due to multiple escaping.
 * fixed a bug where existing css ids and classes were overwritten
 * removed unused class methods for cleaner code

#### 4.0.8

 * fixed a bug with _wpnonce check

#### 4.0.7

 * added more sanitization for more security

#### 4.0.6

 * added more sanitization for more security

#### 4.0.5

 * **Security Fix** fixed issue with XSS vulnerability
 * **DEPRECATED** Due to the WordPress Plugin Checker, the template function ‘encryptx’
   is deprecated and will be removed in the next release. The new function ‘cryptx_encrypt’
   should be used instead.
 * changed some variable names and added more sanitization to pass most as possible
   of the plugin checks (https://wordpress.org/plugins/plugin-check/)

#### 4.0.4

 * fixed issue of not loading new javascript if client has cached an old version.

#### 4.0.3

 * added option for PBKDF2 iterations to choose between more security or less performance
   impact (Thx to Alexander for hinting me)

#### 4.0.2

 * minor fix: changed the priority from the auto link filter back to 11 from 10 (
   Thx to Alexander: https://wordpress.org/support/topic/4-0-0-breaks-cryptx-in-
   custom-shortcode-output/)

#### 4.0.1

 * The “encryptx” function was mistakenly removed during code cleanup. The function
   has now been added back. (Thx to Jan: https://wordpress.org/support/topic/version-
   4-breaks-because-of-undefined-function-encryptx/)

#### 4.0.0

 * **Major Update**: Complete code refactoring and modernization
 * Improved PHP 8.1+ compatibility and performance
 * Enhanced plugin architecture with better separation of concerns
 * Improved widget filtering and universal widget support
 * Better error handling and debugging capabilities
 * Updated minimum requirements: WordPress 6.7+ and PHP 8.1+
 * Improved security and code quality
 * Enhanced admin interface and settings organization
 * Better handling of complex HTML structures and multiline content

#### 3.5.2

 * Fixed a bug where activating CryptX for the first time caused a PHP Fatal error
 * Fixed a bug that caused CryptX email addresses in multi-line code, e.g. in an
   Elementor button with a mailto-link as the target address, to not be recognized
   correctly and to be converted incorrectly.

#### 3.5.1

 * fixed a bug with missing function

#### 3.5.0

 * Parts of the code have been rewritten to make the plugin more maintainable.
 * fixed some bugs
 * added option to disable CryptX on RSS feeds (requested: https://wordpress.org/
   support/topic/cryptx-should-be-disabled-for-rss-content/)
 * Added new Javascript function to add CryptX mailto links via javascript on client
   side (requested: https://wordpress.org/support/topic/javascript-function-to-encrypt-
   emails/)

#### 3.4.5.3

 * fixed a Critical error in combination with WPML

#### 3.4.5.2

 * fixed that mails are always displayed in this way: name [at] domain [dot] tld

#### 3.4.5.1

 * forgot to set the default value of the $args argument from encryptx function

#### 3.4.5

 * The “encryptx” template function has been revised so that it accepts arguments
   again, as in previous versions.

#### 3.4.4

 * changed type hinting of an argument to be string or null on some methods

#### 3.4.3

 * fixed a bug in the cryptx shortcode handler. (special thx to: [jamminjames](https://wordpress.org/support/users/jamminjames/),
   [basicweb](https://wordpress.org/support/users/basicweb/))

#### 3.4.2

 * changed WordPress required version in the plugin meta data

#### 3.4.1

 * changed some method declarations to be compatible with older PHP versions

#### 3.4

 * main code rewritten as class to prevent problems with WordPress or other plugin
   functions.
 * added documentation blocks to class methods for better readability.
 * renamed methods for better readability.
 * fixed some bugs

#### 3.3.3.2

 * fixed the “Double Slashes in cryptx-asset-URL” issue

#### 3.3.3.1

 * trouble with SVN 🙁

#### 3.3.3

 * fixed some issues with PHP 8

#### 3.3.2

 * re-added the $args argument to the template function ‘encryptx’ with some changes.

#### 3.3.1

 * fixed a bug which causes a PHP Warning: call_user_func_array(). Sorry for this.

#### 3.3.0

 * new design of the settings page
 * added plus sign (+) to autolink function
 * added value check while saving the settings
 * changed image replacement for the link text with WordPress media selector, so
   every image from the media library can now be used and will not be deleted by
   updates
 * changed color input field for PNG image creation to WordPress color picker
 * removed some unused code/files
 * removed $args from template function ‘enctrypx’
 * documentation in progress 😉

#### 3.2.18

 * fixed compatibility problems with Shariff Wrapper, which mailto-links doesn’t
   contain an email address.

#### 3.2.17

 * bug fixing and performance improvements. (Thanks to [mkwprel](https://profiles.wordpress.org/mkwprel))

#### 3.2.16

 * “Notice: Only variables should be passed by reference in…” fixed

#### 3.2.15

 * added whitelist of extension to solve the retina filename issue.

#### 3.2.14

 * fixed a bug in combination with retina images @2x (thx to [StuWeTueHo](https://wordpress.org/support/users/stuwetueho/))
 * regex expression improvements (thx to [Leitner](https://wordpress.org/support/users/leitner/))

#### 3.2.12

 * fixed a bug in generating the CryptX hash value

#### 3.2.11

 * fixed a bug in javascript

#### 3.2.10

 * added a blacklist of chars which never should be used as javascript encryption
   hash

#### 3.2.9

 * fixed the single quote bug in javascript encryption

#### 3.2.8

 * minor bug fixes

#### 3.2.7

 * the javascript will be loaded only if really needed!

#### 3.2.6

 * bug fix!!!

#### 3.2.5

 * changed the way to include the javascript. Now using wp_enque_script() !

#### 3.2.4

 * minor bug fixed

#### 3.2.3

 * minor bugs fixed
 * added support for wordpress multisites

#### 3.2.2

 * minor bugs fixed
 * deprecated template function ‘cryptx’ removed

#### 3.2.1

 * fixed a bug at the installed plugins page (Thx to Ben)

#### 3.2

 * fixed many bugs
 * added new template function encrypts()
 * added experimental support for custom fields

#### 3.1.2

 * fixed a bug in the template function (should now work without errors)

#### 3.1.1

 * added support for subject information in the template function
 * added some missing translation strings

#### 3.1

 * added support for custom fields
 * removed the vertical-align for the generated image. The alignment should be done
   by css with the class ‘cryptxImage’.

#### 3.0

 * huge parts of code rewritten to fix some problems. (Thx to Harald Bertels)

#### 2.8

 * complete code review! All errors shown with WP_DEBUG where fixed.

#### 2.7.1

 * bug fixing with some php installations (thx to Norman Rzepka)

#### 2.7

 * added the shortcode [cryptx]…[/cryptx]! The shortcode was implemented for posts
   and pages, where CryptX was switched off.

#### 2.6.6

 * fixed a bug in the template function. (thx to Jessica for reporting the bug)

#### 2.6.5

 * fixed a missing slash at the end of the image tag.

#### 2.6.4

 * fixed a bug with some php versions.

#### 2.6.3

 * some bugs are fixed, e.g. the non functional “add mailto checkbox” on the option
   page.

#### 2.6.2

 * added the option to choose where the needed javascript is loaded (header/footer)

#### 2.6.1

 * bugfix for the autolink function ( see comment: http://weber-nrw.de/wordpress/
   cryptx/comment-page-7/#comment-415 )

#### 2.6.0

 * Added new feature to convert email adress into an image

#### 2.5.1

 * Added Option to disabled/enable the CryptX Widget on editing a post or page.

#### 2.5.0

 * Changed the location to store the disabled per post/page option from postmeta
   to CryptX Options. This should keep the postmeta fields clean.

#### 2.4.6

 * added support for ssl-secured sites

#### 2.4.5

 * added support for mailto links without email adress, like a link from “Sociable”

#### 2.4.4

 * added support for widgets
 * added information how to implement CryptX in your template

#### 2.4.3

 * added support for content provided by shortcodes like “WP-Table Reloaded”

#### 2.4.2

 * missed to delete my internal Debug function 🙁

#### 2.4.1

 * Changed routine in the new Option if Custom Field not exist.

#### 2.4.0

 * Add Option to disable CryptX on single post/page

## Meta

 *  Version **4.0.11**
 *  Last updated **4 months ago**
 *  Active installations **10,000+**
 *  WordPress version ** 6.7 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 8.3 or higher **
 *  Languages
 * [English (US)](https://wordpress.org/plugins/cryptx/) and [German](https://de.wordpress.org/plugins/cryptx/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/cryptx)
 * Tags
 * [antispam](https://wordpress.org/plugins/tags/antispam/)[email encryption](https://wordpress.org/plugins/tags/email-encryption/)
   [mail](https://wordpress.org/plugins/tags/mail/)[privacy](https://wordpress.org/plugins/tags/privacy/)
   [spam protection](https://wordpress.org/plugins/tags/spam-protection/)
 *  [Advanced View](https://wordpress.org/plugins/cryptx/advanced/)

## Ratings

 4.4 out of 5 stars.

 *  [  16 5-star reviews     ](https://wordpress.org/support/plugin/cryptx/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/cryptx/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/cryptx/reviews/?filter=3)
 *  [  1 2-star review     ](https://wordpress.org/support/plugin/cryptx/reviews/?filter=2)
 *  [  2 1-star reviews     ](https://wordpress.org/support/plugin/cryptx/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/cryptx/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/cryptx/reviews/)

## Contributors

 *   [ Ralf Weber ](https://profiles.wordpress.org/d3395/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/cryptx/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=4026696)