26 votes

Email obfuscation: What works in 2026?

7 comments

  1. [4]
    h3x
    Link
    I've recently switched my blog over to Bear, and I've been having a great time with it. One thing that Bear does lack is native comments. This is by design, and a number of solutions exist to...

    I've recently switched my blog over to Bear, and I've been having a great time with it. One thing that Bear does lack is native comments. This is by design, and a number of solutions exist to generate a comments section onto a given page. However, a growing trend in the community is to put "Reply by email" or similar at the bottom of the comments section, often with their personal email address in plaintext in a <a href="mailto:"> tag. I quite like this idea, and I wanted to try it myself, but I know through bitter experience that having a plaintext email address on the open web is just asking for endless spam, so I went looking for solutions to the problem that didn't involve putting together a form, and found this page. It's interesting to look at what works and what doesn't, and I was surprised by how well some of the more trivial solutions work!

    7 votes
    1. [3]
      creesch
      Link Parent
      Some of these are pretty neat. However, you do have to take into account that you are disqualifying people who use accessibility tools like screen readers with most of these methods. At least the...

      Some of these are pretty neat. However, you do have to take into account that you are disqualifying people who use accessibility tools like screen readers with most of these methods. At least the way they are done now. The website mentions usability for some of these, but I think they are just talking about regular people using this.

      There probably are some ways to make screenreaders and such only read out the relevant bits or something with the right aria labels. But those are not included in the examples.

      Edit:

      Actually, looks I jumped to my conclusion a bit to soon. Three of the methods do mention they work with screen readers when done in a specific way. These also are claimed to be highly effective so I'd go for those.

      5 votes
      1. [2]
        h3x
        Link Parent
        I feel a little ashamed to say that didn't even occur to me while adopting HTML Entities on my personal website. I'll have to do a bit of reading up on how screen readers work to make sure I've...

        I feel a little ashamed to say that didn't even occur to me while adopting HTML Entities on my personal website. I'll have to do a bit of reading up on how screen readers work to make sure I've picked a good option.

        6 votes
        1. creesch
          Link Parent
          See my edit, three of the methods actually do mention being compatible with screen readers. And to be fair, it is a blind spot for many people. It is also a bit challenging to properly test for,...

          See my edit, three of the methods actually do mention being compatible with screen readers. And to be fair, it is a blind spot for many people. It is also a bit challenging to properly test for, but I always do try to make it at least workable in theory.

          5 votes
  2. priw8
    Link
    One thing I once did to protect my email was split it into a bunch of elements (one for each character) that weren't actually in order, and then use css properties to make the scrambled characters...

    One thing I once did to protect my email was split it into a bunch of elements (one for each character) that weren't actually in order, and then use css properties to make the scrambled characters display in the right order to form the full email. Downside of this was that copying didn't work properly. Based on this blogpost though, my solution was way too overengineered and simpler things are enough, which is great to know for the future

    3 votes
  3. feanne
    Link
    I love this resource, I use the JS conversion method from here myself! Really quick and easy solution.

    I love this resource, I use the JS conversion method from here myself! Really quick and easy solution.

    1 vote
  4. tobii
    Link
    I like this article. The SVG method being better than the HTML entities surprised me a little bit (I know sample size is small but still). I'd expect most scrapers to be something like:...

    I like this article. The SVG method being better than the HTML entities surprised me a little bit (I know sample size is small but still). I'd expect most scrapers to be something like:

    html_content = download_page();
    parts = html_content.split_by(/* whitespace or HTML tag stuff*/);
    for word in parts {
        if word.contains('@') {
            if word.validate_email() {
               send_spam(word);
            }
        }
    }
    

    Where if the SVG element is in html_content, it would probably catch it.

    The "remove .fluff" downside might actually be a benefit, as it would also filter out people that don't read things when commenting :D

    1 vote