TraceFree PRO

U+200D
ZERO WIDTH JOINER

Joins characters. Required inside emoji sequences and several scripts.

Codepoint
U+200D
Short
ZWJ
Group
joiner
Class
context-dependent
Default
removed
Replaced by
removed, no substitute

What it is

Two invisible characters that control whether the glyphs around them join: one forces a connection, the other prevents one. They are zero-width, and they carry meaning.

Where it comes from

From emoji, where a sequence of separate pictures is bound into a single one, and from Arabic, Persian, Urdu and the Indic scripts, where joining behaviour is part of spelling.

When it belongs

Inside an emoji sequence, always. A family emoji is several separate people bound together by this character; take it out and the single picture becomes three. The same holds for professions, flags and skin-tone combinations.

It is equally required in several scripts, where it forces a ligature that spelling demands. TraceFree PRO recognises both cases and does not touch the character in either.

What TraceFree PRO does with it

PresetAction
conservativeasked about
defaultremoved
report-onlyasked about
strictremoved

Context guards can only ever make a cleanup gentler, never sharper. A rule saying “always remove” does not override them.

How to remove it

In TraceFree PRO, turn on the clipboard watcher and copy the text. On the command line:

tracefree clean --backup document.txt
pbpaste | tracefree clean | pbcopy

Report without changing anything — exit code 1 on findings, so it works in CI:

tracefree check -r ./docs

How to write it

This page never prints the character itself, only ways of writing it. A page about invisible characters that contained invisible characters would be unreviewable — and that is the problem the program exists to solve.

NotationValue
UnicodeU+200D
Rust\u{200D}
JavaScript, Python\u200D
HTML‍ ‍
Regex (PCRE, Rust)\x{200D}

Related characters

Try it on your own text

Paste anything into the browser demo and see what is in it. Same engine as the app, running entirely on your device — nothing is uploaded.

Try it

Download on the Mac App Store
Download coming soon
Get it from Microsoft
Download coming soon