Replace all dead bird site Twemoji on your Mastodon instance with Noto Emoji!
- On 2017 September 17th, Mastodon adopted Twemoji, Twitter's open-source emoji library, to render all emoji in their native web client.1
- On 2022 October 27th, Elon Musk bought Twitter. 2
- On 2022 November 4th, Elon Musk started laying off bunch of Twitter staff.3
- On 2022 November 17th, Jason Sofonia, the designer of Twemoji, departed Twitter.4
- On 2023 June 23rd, Elon Musk stopped updating the Twemoji repo with new emoji.5
- On 2023 September 5th, I decided I don't HECKIN' want Elon Musk's dumb emoji on Mastodon anyways.
It's just trading in one set of corpo artwork for another, but I'm happy to kick as many of those off my hardware as possible, and FOSS is FOSS at the end of the day.
Besides, Noto's cuter and now custom emoji I import from Google's Emoji Kitchen match the unicode emoji on my instance.
Upgrading your instance might have overwritten your modified emoji
folder with Mastodon's stock images. Just rerun the Nobird Emoji install instructions for your Mastodon version, and they'll be back!
Caching issues, probably. Try hard-refreshing your browser, clearing cache storage from your site data in browser settings, or purging cache further upstream if you're using a CDN like Cloudflare? Or just be patient and wait for cache to expire.
Still caching issues, probably. But if you've already read through the stuff I wrote about that, it might be because you're talking about one of the emoji in the table below.
Twemoji included some emoji that Noto Emoji doesn't support, but I still needed to fill in those spots in Mastodon's files. Most of the missing files are just variations of profession and role emojis, so I just had those fall back to its generic Simpsons form. That said, it seems there was some tofu in Google's no tofu font after all.
Missing from Noto Emoji | Replaced With |
---|---|
🕴🏻♀️ Woman in Suit Levitating: Light Skin ToneU+1F574 U+1F3FB U+200D U+2640 U+FE0F |
🕴🏻 Person in Suit Levitating: Light Skin ToneU+1F574 U+1F3FB |
🕴🏻♂️ Man in Suit Levitating: Light Skin ToneU+1F574 U+1F3FB U+200D U+2642 U+FE0F |
🕴🏻 Person in Suit Levitating: Light Skin ToneU+1F574 U+1F3FB |
🕴🏼♀️ Woman in Suit Levitating: Medium-Light Skin ToneU+1F574 U+1F3FC U+200D U+2640 U+FE0F |
🕴🏼 Person in Suit Levitating: Medium-Light Skin ToneU+1F574 U+1F3FC |
🕴🏼♂️ Man in Suit Levitating: Medium-Light Skin ToneU+1F574 U+1F3FC U+200D U+2642 U+FE0F |
🕴🏼 Person in Suit Levitating: Medium-Light Skin ToneU+1F574 U+1F3FC |
🕴🏽♀️ Woman in Suit Levitating: Medium Skin ToneU+1F574 U+1F3FD U+200D U+2640 U+FE0F |
🕴🏽 Person in Suit Levitating: Medium Skin ToneU+1F574 U+1F3FD |
🕴🏽♂️ Man in Suit Levitating: Medium Skin ToneU+1F574 U+1F3FD U+200D U+2642 U+FE0F |
🕴🏽 Person in Suit Levitating: Medium Skin ToneU+1F574 U+1F3FD |
🕴🏾♀️ Woman in Suit Levitating: Medium-Dark Skin ToneU+1F574 U+1F3FE U+200D U+2640 U+FE0F |
🕴🏾 Person in Suit Levitating: Medium-Dark Skin ToneU+1F574 U+1F3FE |
🕴🏾♂️ Man in Suit Levitating: Medium-Dark Skin ToneU+1F574 U+1F3FE U+200D U+2642 U+FE0F |
🕴🏾 Person in Suit Levitating: Medium-Dark Skin ToneU+1F574 U+1F3FE |
🕴🏿♀️ Woman in Suit Levitating: Dark Skin ToneU+1F574 U+1F3FF U+200D U+2640 U+FE0F |
🕴🏿 Person in Suit Levitating: Dark Skin ToneU+1F574 U+1F3FF |
🕴🏿♂️ Man in Suit Levitating: Dark Skin ToneU+1F574 U+1F3FF U+200D U+2642 U+FE0F |
🕴🏿 Person in Suit Levitating: Dark Skin ToneU+1F574 U+1F3FF |
🕴️♀️ Woman in Suit LevitatingU+1F574 U+FE0F U+200D U+2640 U+FE0F |
🕴️ Person in Suit LevitatingU+1F574 U+FE0F |
🕴️♂️ Man in Suit LevitatingU+1F574 U+FE0F U+200D U+2642 U+FE0F |
🕴️ Person in Suit LevitatingU+1F574 U+FE0F |
⛷🏻 Skier, Type-1-2U+26F7 U+1F3FB |
⛷️ SkierU+26F7 U+FE0F |
⛷🏼 Skier, Type-3U+26F7 U+1F3FC |
⛷️ SkierU+26F7 U+FE0F |
⛷🏽 Skier, Type-4U+26F7 U+1F3FD |
⛷️ SkierU+26F7 U+FE0F |
⛷🏾 Skier, Type-5U+26F7 U+1F3FE |
⛷️ SkierU+26F7 U+FE0F |
⛷🏿 Skier, Type-6U+26F7 U+1F3FF |
⛷️ SkierU+26F7 U+FE0F |
ShibuyaU+E50A |
Tofu Modified from 🧈 Butter ( U+1F9C8 ) |
If the emoji you're talking about aren't in that table, they're probably from Unicode 15.
Mastodon only supports emoji up to Unicode 14, so stuff that came out after won't render quite the same in their web client. Your browser will fall back to your system emoji font, and depending on the device you're using, you might see emoji in a different style or just tofu (� <- that's what this thing is called) in their place.
No, that's hard.
No, I'm lazy. Feel free to fork this though.
Most images from Google's Noto Emoji are licensed under Apache License, Version 2.0, minus the region flags and stuff cause those are public domain.
And a special thanks to @iamcal's emoji-data for saving me from spending a dumb amount of time working out how to script photoshop to build an emoji spritesheet.