U+200D · ZERO WIDTH JOINER · ZWJ

Zero Width Joiner Copy & Paste

Copy the exact joining control, or a complete emoji example. See where U+200D sits and why its effect depends on the surrounding characters and your device.

Choose one joiner or the full example.

“Copy one” gives only U+200D. “Copy emoji example” gives three code points: woman + ZWJ + laptop. The brackets and labels are never copied.

‍one U+200D between the brackets; no visible gap
Nothing is copied until you choose a button.

If automatic copy is blocked, select the value in the field and use your device’s copy command. Choosing the emoji example changes this field to the entire sequence.

One displayed emoji can contain three code points.

Here is live text in your browser, not a screenshot of another device. Appearance can vary by font and system.

PositionCode pointPartRole
1U+1F469👩Woman emoji
2U+200DinvisibleRequests joining
3U+1F4BB💻Laptop emoji

If your device supports this sequence it may show one technologist glyph. Otherwise it may show the components separately. Copying U+200D alone cannot turn arbitrary emoji into a supported combined emoji.

Use ZWJ to request joining, not to add blank space.

Emoji sequences

A defined sequence can put U+200D between emoji components. The order and any presentation selectors matter; use a known sequence instead of inserting a joiner at random.

Script shaping

In some writing systems U+200D can request a connected or ligature form. It is a shaping request; a font or renderer may ignore it.

Blank usernames and messages

ZWJ has no visible width, but a destination may reject, strip or rewrite it. An invisible copy is not proof that a saved name or sent message will remain blank.

This is a format character, not a whitespace character.

Unicode nameZERO WIDTH JOINER
Code pointU+200D
Decimal8205
CategoryCf · Format
WidthNormally zero
JobJoining and shaping

The other invisible controls solve different problems.

CharacterMain jobUse when
U+200D Zero Width JoinerRequests joining or shapingA documented sequence requires it
U+200C Zero Width Non-JoinerRequests a break in joining or ligature formationJoining should be prevented
U+2060 Word JoinerSuppresses line breaks, not shapingText should stay on one line without a gap
U+200B Zero Width SpaceAdds a break opportunityA possible line break is needed

Write a visible reference in code; paste the character in plain text.

JavaScript string"\u200D"
HTML named reference‍
HTML decimal‍
HTML hexadecimal‍

The literal letters U+200D are a label. An HTML parser converts the reference into the character; a normal text box does not.

Verify the saved sequence before you change it.

  1. Copy the right output.

    Use the single-character button only when you need to insert U+200D into existing text. Use the example button if you want the whole three-code-point sequence.

  2. Check what the destination kept.

    Paste or save it, then put the resulting text in the checker. Look for U+200D between the adjacent emoji or letters. Visual appearance alone is not a code-point check.

  3. Remove only an unwanted joiner.

    In the remover, U+200D is not preselected. Select it deliberately, compare the changed output, and avoid damaging intentional emoji or script shaping.

Zero Width Joiner FAQ

How do I copy only U+200D?

Choose “Copy one U+200D.” That button requests one code point; the emoji example button copies three code points.

Why do I see separate emoji after pasting?

The destination may not support that particular sequence or may have changed its code points. Inspect the saved text first; a preserved sequence can still render differently on another device.

Is ZWJ the same as Word Joiner?

No. U+200D influences joining and shaping. U+2060 suppresses a line break without asking glyphs to combine.

Can a ZWJ make any two emoji into one?

No. The joined appearance depends on a supported sequence and renderer. Randomly inserting U+200D does not define a new emoji.

Can I remove every ZWJ from copied text?

Only if you intend to change every affected sequence. Check positions and compare before/after; ZWJ can be meaningful in emoji and script text.

Character role is defined; rendering is conditional.