WPThumbs
Themes Plugins By purpose By industry Best-of lists Fix it guides
Free Plugin by pixeline v1.4.3

Pixeline's Email Protector

Write email addresses without worrying about spambots and email harvesters.

Pixeline's Email Protector

The facts

Rating
4.3★ from 8
Active installs
800+
Price
Free
Last updated
5 Aug 2026
Added
Jan 2010
Requires WP
2.7
Tested up to
WP 7.0.4
Downloads
22,687

Our analysis

AI-assisted

Pixeline's Email Protector is a WordPress plugin designed to protect email addresses from spam harvesters. It allows users to write email addresses in a standard format, which the plugin then obfuscates to prevent automated scraping while still being accessible to human visitors.

When activated, the plugin replaces email addresses in posts, pages, comments, and excerpts with a format that disguises the address. If JavaScript is enabled, it displays a clickable mailto link for users, ensuring maximum usability while maintaining email privacy.

Best for: This plugin suits website owners who want to protect their email addresses from spam while keeping them accessible to users.

What it does well

  • Protects email addresses from spam harvesters
  • Maintains usability for human visitors
  • Replaces email addresses in various content types
  • Includes a theme-safe alternative for email protection

Where it falls short

  • Limited information on additional features or settings

Verdict

Pixeline's Email Protector offers a straightforward solution for email protection on WordPress sites. It is particularly useful for content creators looking to maintain privacy without sacrificing user experience.

From the developer

pixeline's own description of Pixeline's Email Protector, lightly tidied.

This plugin provides an unobtrusive yet efficient protection against email harvesters / spambots.

Post/page authors may write email addresses in their article in the usual format (“john@doe.com”) without exposing them to spam email harvesters. The plugin takes care of the obfuscation, implementing a graceful degradation technique focusing on usability so as to protect your email addresses from harvesters while keeping them usable to your human visitors.

The plugin replaces any email address found in posts, pages, comments and excerpts, and replace them by a bit of html markup that should deceive most email harvesters: <span class="pep-email">john(replace the parenthesis by @)doe.com</span>.
If javascript is available, it will display a clickable link and display the original email to the human user. Maximum usability, maximum protection.

Please rate the plugin if you like it.

Usage

Write your email addresses inside your posts and pages as usual. When the plugin is activated, it will replace them by a human-readable html string that explains how to deduce the email address, and if javascript is available (99.9% of the time), the original email address will be displayed as a clickable mailto: link. For example:
Hello john@doe.com. How are you today?
will become
John( replace these parenthesis by @ )doe.com.

Additionally, you can specify what the mailto: link should look like by sticking a parenthesis inside of which you put the visible link text, like this:

Hello john@doe.com(John Doe). How are you today?

will become
John( replace these parenthesis by @ )doe.com.

inside a theme

If you need to protect emails inside your Theme’s files (like the footer.php for example), you can use the function safe_email() like this:

 echo safe_email('you@domain.com'); 

Theme-safe alternative (plugin can be disabled)

If your theme must keep working even when this plugin is disabled, use a wrapper in your theme (for example in functions.php) and call that wrapper everywhere instead of calling safe_email() directly.

if ( ! function_exists( 'theme_safe_email' ) ) {
    function theme_safe_email( $email, $label = '' ) {
        $email = sanitize_email( $email );
        if ( '' === $email ) {
            return '';
        }

        if ( function_exists( 'safe_email' ) ) {
            $payload = $email . ( '' !== $label ? '(' . $label . ')' : '' );
            return safe_email( $payload );
        }

        $encoded_email = antispambot( $email );
        $link_label = '' !== $label ? $label : $encoded_email;
        return '<a href="mailto:' . esc_attr( $encoded_email ) . '">' . esc_html( $link_label ) . '</a>';
    }
}<h3>Contribute</h3>

Github repo: https://github.com/pixeline/pixeline-email-protector

Read the full description on the official page →

Tagged as