An email obfuscator is safe to publish in the same way a printed phone number on a flyer is safe: it stays clickable for ordinary visitors, may slow down a basic scraper that only scans raw HTML for a plain address pattern, and does almost nothing against a crawler that can decode HTML, read the rendered DOM or follow a mailto link. The Email Address Obfuscator turns a validated address into a single HTML anchor whose visible text and mailto target use decimal numeric character references such as a for the letter a. Every code point in both the visible label and the href is encoded, so the literal address characters never appear in your page source. All processing happens locally in the browser, so the address you type is not uploaded. This is obfuscation rather than security, and the tool states the limitation next to its result so it does not create false confidence. Treat it as a layer of friction, never as access control, and never embed secret aliases, credentials or private mailboxes in any mailto link.

What "Safe" Actually Means for an Email Obfuscator
Most readers searching this phrase want to know two things at once: whether the obfuscator itself leaks their address, and whether the obfuscated output can really be trusted to stay hidden on a public page. Both questions deserve straight answers rather than reassurance.
The tool is safe to handle in the sense that nothing you type leaves your machine. Encoding happens in JavaScript on the page, so processing stays in the browser. That part of the answer is short and clean.
The harder part is what the output does on your published page. An entity-encoded mailto anchor is safe against the most careless harvesters, the kind that scrape raw HTML looking for the pattern something@something. It is not safe against any competent crawler, because numeric references are a normal, deterministic encoding that any HTML parser will resolve back to text. The product contract acknowledges this openly: it states that modern crawlers can parse HTML, decode numeric entities, inspect the DOM and follow mailto links, and that the technique makes no promise about reducing spam.
What an Obfuscator Will and Won't Hide
Putting the common techniques side by side makes the trade-offs easier to reason about. The table below compares approaches on the dimensions a site owner actually cares about, grounded in the behavior of decimal numeric character references as defined by the WHATWG HTML character reference spec.
| Technique | Stops a plaintext pattern scraper | Stops a crawler that renders the DOM | Stays clickable for ordinary visitors |
|---|---|---|---|
| Plain text address in HTML | No | No | Yes |
| Numeric entity anchor (this tool) | Often, because no literal pattern matches | No, entities decode on render | Yes |
| JavaScript assembly of the link at runtime | Yes, when scripts are blocked | No, when scripts run | Only with JavaScript enabled |
| Server-side contact form | Yes, the address never appears | Yes | Visitor fills a form instead of a mailto |
The interesting rows are the middle two. JavaScript assembly can defeat scrapers that do not execute scripts, but it breaks when a visitor has JavaScript off, when a content security policy blocks inline scripts, and when search engines see a page that is empty until JS runs. That is why the Email Address Obfuscator uses static numeric references rather than dynamic assembly: the result is plain HTML, decodes in every browser, and is simultaneously easy for a competent crawler to undo. The tool picks the simpler encoding on purpose and warns you about the consequence in plain English.
How to Use the Email Address Obfuscator Without Losing the Obfuscation
The safest workflow is short and almost mechanical. Treat every step as part of the contract: if you skip the verification at the end, you have not actually published an obfuscated link, you have only hoped you did.
- Enter the public contact address into the form on the Email Address Obfuscator page and click generate. The result is one complete anchor element; copy the whole thing, including the opening <a and the closing </a>.
- Open the page template as raw HTML source. A rich-text editor can silently decode your entities back to plain letters the moment you paste, so edit the file directly or switch the editor into a code view.
- Paste the anchor at the exact location where the address should appear. Do not split it across blocks or place the visible text in one field and the href in another; the encoding only protects content that lives inside the anchor element.
- Save and publish through the same content management system that lets you edit HTML. If your CMS exposes a code or text mode, use that mode for this specific step.
- Open the delivered page in a normal browser, right-click the link, choose Copy email address if offered, and confirm the clipboard matches what you typed.
- View the live page source in the browser and search for a fragment of the address. You should see numeric entities such as a rather than the literal letters. If the source shows real letters, the obfuscation is gone.
- Click the link once and confirm your mail client opens with the intended recipient pre-filled.
Two of those steps do the heavy lifting: pasting into HTML source rather than a rich-text field, and verifying the delivered source. Everything else is hygiene that catches the small mistakes CMSes make on your behalf.
CMS Pitfalls That Quietly Break the Obfuscation
Publishers who think they have set up an obfuscated address often discover, months later, that their CMS rewrote the page and exposed the address as plain text. The most common failure modes are predictable and worth naming explicitly.
A WYSIWYG editor that does not understand numeric entities will decode a to a the first time you save. The page still renders correctly, which makes the regression invisible unless you re-check the source. Some accessibility or "clean HTML" plugins do the same thing in the name of tidy markup. Other systems do the opposite and double-escape ampersands, turning a into a, which then renders on screen as the literal string "a" rather than as the letter a. A built-in shortcode processor that rewrites unfamiliar tags can also strip an anchor whose href looks unusual.
The fix is procedural rather than technical. Treat the entity-encoded anchor the same way you would treat a custom shortcode: paste it only into an HTML source view, disable any "format HTML" toggle for that block, and re-verify the live source after every CMS or plugin update. A focused look at those output rules and CMS failure modes lives in the Email Obfuscator Cheat Sheet, and it is worth a second pass whenever your publishing stack changes.
When You Need Something Stronger Than Obfuscation
Obfuscation is the right tool when you have a public contact address you do not mind anyone eventually reading, and you want to cut down on the lowest-effort scrapers. It is the wrong tool when you need real privacy, real rate limiting, or any guarantee at all about who reaches your inbox.
For meaningful abuse resistance, put a server-side contact form in front of a mailbox you keep private. The form can validate input, throttle submissions, log attempts and apply a spam filter, none of which a mailto anchor can do. Pair that with a disposable role address so you can rotate the destination without changing the page, then add mailbox-level filtering rules and provider-side abuse reports to cover the rest.
The Email Address Obfuscator makes a deliberate, narrow promise: source-level obscurity for a public address you are comfortable publishing. It does not promise to reduce spam, it does not promise privacy, and it would be wrong of any tool page to claim otherwise. Use it where it fits, switch to a contact form where the threat model is real, and verify the delivered source every time your CMS changes.
For a deeper look, see Is a Schema Markup Generator Safe? Honest Limits.