Grapheme joiner is the Unicode character at U+034F in Combining Diacritical Marks. Official name: COMBINING GRAPHEME JOINER (CGJ). It is normally invisible and helps control grapheme-cluster boundaries in text processing.
Remember
Character (invisible CGJ)
Unicode U+034F
Hex entity ͏
Decimal ͏
CSS escape \034F
Named entity (none)
Meaning combining grapheme joiner (formatting control)
Not the same ‍ (U+200D) · ‌ (U+200C) · space
Prefer ͏ or ͏ in HTML (no named form). Place it between characters when a library or script process needs a CGJ. Most beginners will rarely need it in everyday pages.
Built with Hex: ab
Built with Decimal: ab
Built with CSS (after this text):
Marked: a[CGJ]b
CGJ is invisible — count code points or use a Unicode inspector.
How It Works
1. Hex:͏ inserts code point U+034F between a and b. You still see ab because CGJ draws nothing.
2. Decimal: same code point as 847 → ͏. Same invisible result.
3. CSS: use \034F in content (not an HTML entity). Prefer four hex digits so the escape does not swallow the next character.
4. Marked demo: a dashed outline around the CGJ slot makes the invisible character easier to study. Inspect the DOM to confirm the code point is present.
Pitfalls & Tips
Common mistakes when working with grapheme joiner.
Name
No named entity
There is no HTML5 named entity for U+034F. Use ͏ or ͏. Do not invent &cgj;.
Visible?
Expect no glyph
If you see nothing, that is correct. CGJ is a control/combining character, not a printable symbol.
ZWJ
Not ‍ / ‌
ZWJ (U+200D) and ZWNJ (U+200C) are different controls with named entities. Use them for joining/non-joining behavior — not CGJ.
CSS
Pad the CSS escape
Prefer \034F. A short \34F can swallow the next hex digit if one follows immediately.
CSS vs HTML
Do not mix escapes
\034F belongs in CSS strings. ͏ / ͏ belong in HTML.
Rare
Most pages do not need CGJ
Use it when a text engine or complex-script workflow requires grapheme-cluster control — not as everyday decoration.
Semicolon
End references
Always finish entities with ; — write ͏, not ͏.
Compatibility
Browser Support
Combining Grapheme Joiner (U+034F) and its entity forms (͏, ͏, CSS \\034F) are supported in all mainstream browsers that handle Unicode. Behavior depends on text shaping and grapheme clustering — not on drawing a glyph.
✓ Universal support
Grapheme Joiner (U+034F)
Encode with hex, decimal, or CSS escape — same invisible code point everywhere encoding is supported.
100%Browser coverage
Google ChromeSupported
Yes
Microsoft EdgeSupported
Yes
Mozilla FirefoxSupported
Yes
Apple SafariSupported
Yes
OperaSupported
Yes
Internet ExplorerAll versions
Yes
U+034FFull support
Bottom line: Prefer ͏ in HTML (no named form). Use ͏ when decimal form is required, and \\034F only inside CSS content.
Remember
Key Takeaways
Unicode: CGJ is U+034F (decimal 847) — normally invisible.
HTML: no named entity — use ͏ / ͏.
CSS: use \034F inside content for generated text.
Meaning: CGJ ≠ ‍ / ‌ — different control characters.
One line:U+034F → ͏ / ͏ / CSS \034F (invisible, no named form).
Frequently Asked Questions
Use ͏ (hex), ͏ (decimal), type the character in UTF-8, or the CSS escape \034F in content. There is no named HTML entity for U+034F.
U+034F (COMBINING GRAPHEME JOINER). Hex 34F, decimal 847. It belongs to Combining Diacritical Marks (U+0300–U+036F).
No. HTML5 does not define a named entity for U+034F. Prefer ͏ or ͏.
CGJ is designed to be invisible. It affects text processing and grapheme clustering rather than drawing a visible glyph. Inspect with developer tools or a Unicode viewer.
HTML numeric entities (͏ or ͏) go in markup. The CSS escape \034F goes in stylesheet strings (usually content on ::before/::after).
No. CGJ is U+034F. Zero Width Joiner is U+200D (‍). Zero Width Non-Joiner is U+200C (‌). Related control ideas, different code points and uses.
🤔
Did you know?
Combining Grapheme Joiner (CGJ) is Unicode U+034F (decimal 847) in Combining Diacritical Marks. There is no HTML5 named entity; use ͏ or ͏. It is normally invisible and used to influence grapheme-cluster boundaries in complex text. It is not Zero Width Joiner (‍, U+200D) or Zero Width Non-Joiner (‌, U+200C).