DuckyTools
Home Text Emoji Joiner

Emoji Joiner Text

Combine emoji with the zero-width joiner to build flag, family and role sequences, ready to copy.

Emoji Joiner is a free online tool that combine emoji with the zero-width joiner to build flag, family and role sequences, ready to copy. It runs entirely in your web browser using plain JavaScript, so files are processed on your own device and never uploaded to a server. There is no sign-up, no file size limit imposed by the site, no watermark and no paid tier.

Price
Free: no account, no quota, no watermark
Category
Text
Where it runs
In your browser, on your device
Files uploaded
None
Technology
plain JavaScript
Settings
None, it just works
Works offline
Yes, after the first visit

About Emoji Joiner

The pirate flag, the rainbow pride flag and the family emoji are not single characters. Each is several ordinary emoji stitched together with U+200D, the zero-width joiner: a character that takes up no space of its own and exists only to tell a font to render what comes before and after it as one glyph. Support for that stitching varies. A fully updated system shows one flag or one family; an older one shows the pieces side by side, unjoined. This builds real sequences from the same joiner. Load a known one and take it apart, or start from nothing: every part in the sequence below can be removed or moved, not just added to, so rebuilding the pirate flag, the pride flag or the trans flag from scratch, or swapping a piece for something else, is the same action as building any other sequence.

How to use it

  1. Everything emoji joiner needs is on this page.
  2. Your input is processed locally and discarded when you close the tab.

Under the hood

Runs onplain JavaScript: runs the whole thing

Questions

Why does the pirate flag show as two separate emoji on some devices?

Because that device's font has not registered the joined sequence, so it falls back to rendering the flag and the skull separately with a small gap where the invisible joiner sits. This is exactly why the code point breakdown is shown here: it is the same four characters either way, and support is a font and OS question, not a data one.

Can I put the zero-width joiner between any two emoji?

You can type it there, but only a specific, published list of sequences actually renders as one combined glyph anywhere: the ones in the presets here. An arbitrary pairing, like a joined rocket and a snowman, is valid text that no font has a matching picture for, so it falls back to showing both emoji separately.

Is the transgender flag sequence an official standard, or a workaround?

Official. The transgender symbol at U+26A7 was added to Unicode in 2016, and the transgender flag sequence (white flag, joiner, the symbol, and a style marker) was registered as a recommended emoji sequence in 2020. It has the same standing as the pride flag or any family emoji, not a lesser one.

What is the difference between the joiner and the variation selector?

The joiner (U+200D) asks two emoji to be drawn as one combined picture. The variation selector (U+FE0F) asks a single character that can be either plain text or a colorful emoji to render as the emoji. Several presets need both: one to pick the emoji style for a flag or symbol, the other to fuse it to what follows.