Emoji ZWJ Sequences: Three Letters, Many Possibilities
Not all emojis are equal. It's not obvious from looking at them, but some emojis are more than they seem.
While most emojis are not dissimilar to a © symbol or the letter Q in the Unicode Standard; others are created by joining multiple emojis together behind the scenes.
For instance: This emoji 👩❤️👩 is actually a sequence made up of these three emojis: 👩 + ❤️ + 👩.
Above: Some emojis are created by joining multiple emojis together.
An invisible character acts as a glue to join each emoji together. The combination results in what appears to be a single emoji.
The invisible glue character is called a Zero Width Joiner (ZWJ) and a sequence of emojis joined together with a ZWJ character is known as an Emoji ZWJ Sequence.
Here is a quick overview:
Emoji ZWJ Sequences generally behave like any other emojis.
What's inside the character is rarely of much relevance to how it can be used, or whether it can even be detected.
For reference, here's what is inside some other popular Emoji ZWJ Sequences:
- 👁🗨 = 👁+🗨
- 👨❤️💋👨 = 👱+❤️+💋+👱
- 👨👩👧👦 = 👱+👩+👧+👦
A few circumstances can arise where the implementation becomes obvious to the user, with the most common being character counts, or display a on system which doesn't support a particular sequence.
With it's 140 character limit, every emoji counts on Twitter.
While 👯 Woman With Bunny Ears takes up one character (as it has a single code point), the aforementioned 👩❤️👩 Couple With Heart (Woman, Woman) includes three emojis but a total of six code points.
Above: An Emoji ZWJ Sequence can be spotted by checking the character limit in Twitter.
The code points that make up 👩❤️👩 are:
- 👩 Woman
- Zero Width Joiner
- ❤️ Heavy Black Heart
- Variation Selector 16 
- Zero Width Joiner
- 👩 Woman
When an Emoji ZWJ Sequence is displayed on a system that doesn't include support for it, the individual emojis are displayed.
As such, it's important that the individual emoji sequence makes some semblance of sense.
Due to the way Emoji ZWJ Sequences are implemented, no prior approval is required before a vendor introduces a new one.
If a platform wanted to get creative with many more ZWJ sequences, there is no technical limitation on this.
Above: Examples of Emoji ZWJ Sequences that could be introduced today if any vendor wished to include them!
Future of ZWJ
Windows 10 is set use Emoji ZWJ Sequences to introduce six Ninja Cat emojis in the next major update.
Google's Expanding Emoji Professions proposal in May 2016 also suggested the use of Emoji ZWJ Sequences to create new professional roles.
Update: An Emoji ZWJ Sequence for the Rainbow Flag Emoji has been documented and could come to devices soon.
Other vendors could also follow suit with other Emoji ZWJ Sequences of their own in future.
There is no technical restriction on implementing an Emoji ZWJ Sequence without any approval, though gaining support from other vendors via Unicode may be recommended to ensure cross-platform compatibility.
Details of Rainbow Flag Emoji ZWJ Sequence
View all current Emoji ZWJ Sequences
Pronounced "Zwidge" ↩︎
Pronounced Emoji "Zwidge" Sequence ↩︎
As the ❤️ heart character pre-dates emoji, it needs this variation selector (another invisible character) after it to tell systems to use the emoji version, not the ❤︎ text version. It's a bit moot as we don't see it inside an emoji ZWJ sequence anyway, but that's a detail that isn't too important here. ↩︎
For a while, the 👁🗨 Eye in Speech Bubble would show on non-Apple platforms as the two emojis that are inside it: 👁 Eye + 🗨 Left Speech Bubble. This wasn't clear at all. Then again, the actual resulting emoji 👁🗨 isn't obvious to anyone unaware of the campaign behind it anyway. ↩︎