Make WordPress Core

Opened 10 months ago

Last modified 2 days ago

#57600 new task (blessed)

Twemoji: Explore alternatives

Reported by: kraftbj's profile kraftbj Owned by:
Milestone: 6.5 Priority: normal
Severity: normal Version:
Component: Emoji Keywords:
Focuses: Cc:


With the recent changes at Twitter, there is an uncertain path forward for Twemoji, the script and images we use for Core's emoji replacement support.

With this uncertainty in the air, WordPress should consider alternatives to this script and image library.

Change History (12)

#1 @desrosj
10 months ago

Thanks for opening this, @kraftbj!

I've been thinking about this a bit, but I don't really have a great recommendation yet.

It does look like there have been a few PRs merged this month, and a few of the contributors that were previously with the company are the ones interacting/merging these PRs.

#2 @JeffPaul
10 months ago

In a brief search I found noto-emoji though it’s licensed Apache 2.0/SIL Open Font 1.1 whereas Twemoji is MIT/CC-BY 4.0. Probably worth sitting on for now, but as we get deeper into WP 6.2 it would have been otherwise nice to have updated to Unicode/Emoji 15.

#3 @kraftbj
10 months ago

I agree, it would be ideal to have Emoji 15 support in for 6.2. I don't want to rush to a decision if 1. Twitter starts releasing updates again or 2. Some other path for Twemoji to live on happens.

I don't think we should wait too long, though, so WP 6.3 should have Emoji 15 support somehow, one way or another.

If it is just an Twemoji update, I would support it in 6.2.x if the powers that be are okay with that. If it is moving to a different library, then 6.3 no doubt.

#4 @azaozz
10 months ago

In a brief search I found noto-emoji though it’s licensed Apache 2.0/SIL Open Font 1.1

Seems there are Noto Emoji ( and Noto Color Emoji (

Afaik the fonts with SIL Open Font license can be used with GPLv2 code (they are not "merged" or part of the code, they are distributes alongside the code). Perhaps Noto Color Emoji would be a good alternative.

Also, related #52219.

Last edited 10 months ago by azaozz (previous) (diff)

#5 follow-up: @desrosj
8 months ago

It looks like the previous maintainers (though no longer employed by Twitter) have created a fork with the full intention of supporting it going forwards.

From an issue asking for clarification on the purpose of the new repo:

" The original Twemoji was maintained by 2 Twitter employees, @sofodesign and me. With Elon Musk's acquisition of Twitter, we both no longer work there, nor do we have commit permissions to the original repo anymore. There's no indication at all from Twitter's side whether they intend to keep maintaining the original Twemoji; given Sofo and I did it in essentially our free time, we imagine it's highly unlikely and probably pretty low on the priority list of anyone there right now. We (and other past Twitter employees who worked on Twemoji and left well before the Musk acquisition) don't want Twemoji to go to the big Internet graveyard in the sky, so we've forked the original Twemoji here and plan to continue working on it (releasing new Unicode-approved emoji, maintenance, etc) despite no longer being employed by Twitter. I hope that clarifies things; if not, feel free to reply with any further questions."

There's also an issue dedicated to adding support for Unicode 15. The issue does say the hope is to have something in March (which has already passed), but it's made clear that the maintainers require some support in order to dedicate more time to maintaining the project.

I think this is likely our best option going forward.

#6 @JeffPaul
8 months ago

@desrosj I've been tracking this as well and concur with your assessment, though I would propose that we wait and see that the jdecked/twemoji fork actually gets a new Unicode 15 release out at some point before working on any changes here in core. I'm subscribed and following that fork and while they have some minor releases, I would prefer to wait and see that they get to v15 support before considering a switch.

#7 @desrosj
8 months ago

@JeffPaul Sure, I wasn't clear above. But that is also my suggestion. There is nothing worth including currently, but it is a compelling potential library to adopt in the future when there are significant enough modifications.

#8 @kraftbj
8 months ago

I concur with the above. Let's keep an eye on it and if it sticks, let's use it.

We can also consider and be aware of other options out there, but all things being equal, unless something else truly brings something different to the table, let's use the original maintainer's version.

#9 in reply to: ↑ 5 @Hareesh Pillai
8 months ago

I came here to reply about this fork, and it seems @desrosj beat me to it. :)

It looks like the previous maintainers (though no longer employed by Twitter) have created a fork with the full intention of supporting it going forwards.

This fork seems like a viable alternative as the license is kept intact.

I would like to add that the new fork has a release that contains the changes (made at the old Twemoji repository) to replace MaxCDN with jsDelivr. This was done as MaxCDN was retired by the company that acquired it.

PS: Should we update this ticket's component to External Libraries?

#10 @desrosj
8 months ago

I think leaving this in the Emoji component is fine. Historically, even though Twemoji is an external library, we've grouped related tickets into the Emoji component instead.

#11 @desrosj
2 days ago

  • Milestone changed from Future Release to 6.5

Looks like the fork mentioned above has released version 15.0.2 with support for Unicode 15. 🎉

I have not yet confirmed license compatibility or whether we can continue to use npm to install. But an encouraging, unexpected development!

#12 @kraftbj
2 days ago

This is very encouraging. I'll put this on my list to test out. The license appears to be MIT and CC Attribution.

Note: See TracTickets for help on using tickets.