Simple bots scrape web pages for anything that looks like an email address. This tool hides yours by encoding every character as an HTML entity. Browsers show and link it normally; bots reading raw HTML usually miss it. You can get a clickable mailto link, an encoded address for plain text, or a readable "name [at] example [dot] com" form.
How to use it
- Enter your email address.
- Optionally add the link text.
- Choose a method.
- Copy the code into your page.
When it helps
- Cutting spam from scrapers.
- Publishing a contact address on a site.
- Adding a mailto link.
- Sharing an address in a forum.
Good to know
- It doesn't stop determined bots, so a contact form is better for important addresses.
- Test the link after pasting it into your page.
- The encoded text works anywhere HTML is rendered.
How the obfuscation works
Each character of the address is written as an HTML entity, such as h for h. Browsers decode these before displaying or following the link, so visitors see a normal address, but programs that scan the raw page for text matching an email pattern don't find one.
The readable option replaces the at sign and dots with words, which humans can rewrite and simple scrapers don't match.
Worked example: a contact link
Enter hello@example.com and choose the link option. The result is an anchor tag whose address and visible text are both encoded. Paste it into your page's HTML. If you add your own link text, such as Email us, only the address is encoded.
Test it by clicking the link, which should open your email program.
Better ways to avoid spam
Obfuscation stops only the simplest scrapers. Better defences include a contact form with spam protection, a separate address for public use, and server-side filters. Services that forward mail let you disable an address if it's flooded.
If you must publish an address, use one you can afford to lose.
Accessibility
Screen readers read the decoded text, so encoded addresses work for them. Readable-word versions are harder to use, since people must retype them. Always give your link a meaningful label, and consider offering another contact route.
Make sure the page still works for people who've turned off scripting, which this method doesn't need.
What the code looks like
The output is a long string of &#numbers; where each number stands for a character. That looks messy in the page source but displays as a normal address. Don't edit the encoded text by hand: regenerate it if the address changes.
Keep a plain copy of your address somewhere for your own records.
Change management
If you change your address later, regenerate the encoded version and update every page where you pasted it. Keep a list of those pages so none is missed.
Questions
Will it stop all spam?
No, only simple scrapers.
Does it work in plain text?
Use the encoded-only or readable words option.