fsymbols
Loading symbols…
››
͏

combining grapheme joiner

Combining Grapheme Joiner

80/112

CGJ is an invisible character that preserves combining-mark order during normalization and can alter language-specific sorting. It belongs in text processing, not ordinary messages. Despite its name, it does not join graphemes or connect letters into one shape.

Text symbol

What ͏ means

It changes text processing without adding a visible mark.

Unicode normalization puts equivalent text into a consistent form and may reorder combining marks. CGJ blocks that reordering, preserving mark order when it matters. In Slovak sorting, c͏h can stay separate instead of sorting as the ch contraction.

The Unicode proposal submitted on 2000-08-10 aimed to mark local grapheme boundaries: places where a writing system treats several encoded characters as one text unit. It compared this behavior to an Indic virama, a mark that can link consonants, and also addressed accents spanning multiple letters and language-specific sorting.

Does CGJ join graphemes?

No. It preserves mark order; it does not connect letters.

Despite its name, CGJ does not create graphemes, extend an accent across arbitrary letters, request ligatures, affect cursive joining, or prevent line breaks.

Technical: CGJ marks a text-processing instruction, not conversational tone.

Its blank appearance does not mean the text contains nothing there.

Drift: CGJ was originally assigned a line-break role to keep adjacent characters in one graphemic unit. That role became obsolete in Unicode 4.0; the mistaken line-break assignment was corrected in Unicode 17.0.

Part of the collection

What it means when someone sends it to you

4 readings

Blocks canonical reordering, keeping their encoded order through normalization.

Don't confuse it with

2

‍ ZWJ requests connected shaping; CGJ has no such effect.

‌ ZWNJ can suppress a connection or ligature; CGJ instead preserves mark order.

Combination ideas

2
Keeps c and h from sorting as the Slovak ch contraction.
Lets tailored German sorting distinguish an umlaut from a tréma.

Questions people ask

1

Can I delete a CGJ from text?

Not safely without checking its purpose. CGJ may preserve a combining-mark distinction or a sorting and search rule; deleting it can erase that distinction.

How to type or find ͏

Also called
CGJ
Search it as
invisible character · hidden text character · combining mark order · Unicode normalization · Slovak ch sorting · Hebrew mark order · tréma umlaut sorting
Shows up in
Anything that takes text · its shape is whatever your font draws
Windows (Word)
⎇Alt+XType 034F, then AltX to get ͏.
Windows
⊞Win+Rrun charmap for the full table, or use the emoji picker's Ω symbols tab (Win .).
macOS
⌃Control+⌘Command+␣SpaceOpen the character viewer and search “combining grapheme joiner”.
Linux
⎈Ctrl+⇧Shift+UType 034f, then Enter or Space.
HTML
͏
CSS
\034F
HTML
Use the HTML character reference ͏ at the intended position in the string.
JavaScript or JSON
In a JavaScript or JSON string literal, write \u034F.
Python, Java, or C
In a Python, Java, or C string literal, write the Unicode escape \u034F.
Codes and encoding1 code points
HTML decimal
͏
HTML hex
͏
CSS content
content: "\034F";
Each escape is closed by the next backslash; a trailing space is needed before a literal hex digit.
URL encoded
%CD%8F
1
On screen
1
Code points
1
JS .length
2
UTF-8 bytes

A visible symbol can contain several code points. JS .length counts UTF-16 units; UTF-8 counts bytes.

Families this belongs to

1

Accents & marks659 symbols