👨‍💻 Wesley Moore

Working Around GitHub Browser Sniffing to Get Better Emoji on Linux

I have my system configured1 to use JoyPixels for emoji, which I consider vastly more attractive than Noto Color Emoji. Sadly GitHub uses browser sniffing to detect Linux user-agents and replaces emoji with (badly aligned) images of Noto Color Emoji. They don't do this on macOS and Windows. In this post I explain how I worked around this.

Screenshot of GitHub showing two comments, one with emoji set in the Noto Color Emoji font, the other in the JoyPixels Font.

The solution is simple: make GitHub think you're using a Mac or Windows PC. There are various ways to change the User-Agent string of Firefox. The easiest is via about:config but I didn't want it to be a global change — I want sites to know that I'm using Linux in logs/privacy respecting analytics (I block most trackers).

I ended up using the User-Agent Switcher and Manager browser add-on. I configured its allow list to only include github.com, and use the User-Agent string for Firefox on macOS. The end result? JoyPixels, just like I wanted.

P.S. If anyone from GitHub sees this. Please stop browser sniffing Linux visitors. Linux desktops and browsers have had working emoji support for years now.

1

I use the term, "configured", loosely here as all I really did was install the ttf-joypixels package.

Comment Stay in touch!

Follow me on Twitter or the Fediverse, subscribe to the feed, or send me an email.