One Avatar To Rule Them All

Someone took a nice photo of me recently. I'd like to use it as my avatar photo everywhere to present a consistent image. This is not easy to do.

I've had to manually change it on a dozen different Slacks, a bunch of social networks, a few forums, all my email accounts, and I'm still not done.

I just want to change my photo once. Because I'm vain and lazy.

For a nerd like me, the solution is obvious:

  • My latest avatar image has a permanent web address -
  • When I register for a service, it should ask me for my homepage address and automatically detect the URl for my avatar.
  • Periodically, it should check for an update.

What about Gravatar?

The Globally Recognised Avatar project from WordPress is supposed to be a solution to this problem. But it doesn't work, for two main reasons.

  1. Not everywhere uses it.
  2. Works on a per-email basis.

Nothing we can do about (1), but I find (2) is annoying. I use a different email address for each website I use. Which means I have dozens of Gravatars!

Because Gravatar uses MD5 hashes, there's no way around this. It's also a (minor) privacy concern.

What about Libravatar?

The Libravatar project is basically an open source version of Gravatar. It also uses hashes for email addresses. And, sadly, very few sites use it.

What about Webfinger?

The documentation for Webfinger is comically absent.

What about Microformats?

Standards like microformats2 let you add an image to your profile.

Similarly, an add an image to your personal metadata.

Social Networking Sites

This sort of exists. Services like let you use you Twitter & Facebook avatars as a URl - for example

Sadly, the service isn't maintained any more, has broken images for Instagram, and doesn't include newer services like GitHub.

Regain Control

There are two fundamental mistakes we're making.

  • An email address is not an identity.
  • A 3rd party service is not an identity.

Given that Gravatar is promoted by WordPress - the largest website provider on the planet - and it still isn't universally accepted, I don't think there's any hope for smaller services.

So, I guess what I need is an app which can log in to all my accounts and automatically change the avatar whenever I want.

Or is there some other practical action I can take?

Share this post on…

7 thoughts on “One Avatar To Rule Them All”

  1. I haven't needed to do a mass change of avatars for my online accounts before but I do like using one avatar on all social-like accounts.

    My current avatar is a few years old now though I still like it.

  2. Sam Machin says:

    My email client (Airmail) has a useful feature here, if it doens’t find an avatar for that specific sender (I think thats a gmail/google thing) it uses the favicon of the senders domain so if emails me I see as the icon for his email, this means that at least you can see the company someone has emailed from and its useful for picking out external emails from the corporate noise.

    Seems like it would be a good fallback to the way gravatar works for people that use unique addresses as they’re generally always on the same domain.

  3. says:

    Works on a per-email basis.

    If you want one image and multiple email addresses you can do this.

    You can also choose which Gravatar per email address if you want.

    Here is a screenshot of my own account -

    1. says:

      The problem is, every time I sign up to a new service, I have to manually add that email address to Gravatar. Then do the confirmation dance. At a few hundred emails, it is a bit tiresome.

  4. If only there was a protocol for finding out things lime avatars and out of office times for an email address. We could call it ‘finger’!


What are your reckons?

All comments are moderated and may not be published immediately. Your email address will not be published.Allowed HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <p> <pre> <br> <img src="" alt="" title="" srcset="">