ZERO WIDTH SPACE vs ZERO WIDTH NON-JOINER

ZERO WIDTH SPACE
U+200B
View details →
ZERO WIDTH NON-JOINER
U+200C
View details →
VS

Property Comparison

Property ​ U+200B ‌ U+200C
Name ZERO WIDTH SPACE ZERO WIDTH NON-JOINER
Block General Punctuation General Punctuation
Script Zyyy Zinh
Category Format (Cf) Format (Cf)
Bidirectional BN BN

Encoding Comparison

Format U+200B U+200C
unicode U+200B U+200C
decimal 8203 8204
htmldecimal ​ ‌
htmlhex ​ ‌
css \200B \200C
javascript \u{200B} \u{200C}
python \u200b \u200c
java \u200B \u200C
go \u200B \u200C
ruby \u{200B} \u{200C}
rust \u{200B} \u{200C}
ccpp \u200b \u200c
urlencoded %E2%80%8B %E2%80%8C
utf8bytes e2 80 8b e2 80 8c
utf16bebytes 20 0b 20 0c
utf32bebytes 00 00 20 0b 00 00 20 0c

How to Distinguish

Both characters are in the General Punctuation block but use different scripts: ZERO WIDTH SPACE uses Zyyy, while ZERO WIDTH NON-JOINER uses Zinh.

Tip: Paste the character into a hex editor or use charCodeAt() in JavaScript to check the actual codepoint.

Related Comparisons

​ ZERO WIDTH SPACE details ‌ ZERO WIDTH NON-JOINER details All Comparisons