fsymbols
Loading symbols…
››
󠅧

variation selector-120

Variation Selector-120

VS120 is not a standalone symbol: it can affect a glyph only when paired with a specific base in a registered variation sequence. Its family was designed to preserve exact ideographic glyph forms in plain text, especially for CJK typography and names. As of 2026-08-03, Unicode’s current IVD has no registered sequence using VS120, so the lone character normally changes nothing.

Text symbol
Also called
VS120
Search it as
ivs · glyph variant · cjk variant · ideographic variant · variation sequence · invisible character · unicode selector · font variant
Shows up in
Anything that takes text · its shape is whatever your font draws

What 󠅧 means

Use it only as the second half of a registered pair. On its own, VS120 has no message; it is a nonspacing selector that asks for a particular glyph for the character immediately before it. If that base-plus-selector pair is not registered or supported, nothing visible changes.

The mechanism’s design lineage reaches back to 1997: plain text needed a way to preserve a chosen glyph, meaning the drawn form of a Chinese, Japanese, or Korean character, in a name, place name, dictionary entry, or publishing record.

Early proposals allowed experimentation with ideographic variants; the maintained Ideographic Variation Database, a registry of agreed sequences, later narrowed meaning to registered pairs. The supplementary selector range was encoded in Unicode 4.0 in 2003; that dates the code point, not the underlying typographic problem. Adobe’s Japanese font collection Adobe-Japan1 entered the registry on 2007-12-14. Separate collections let scholars, governments, and publishers preserve different Chinese-character glyph conventions. That evolution matters: the selector number alone does not choose a design.

Why does Variation Selector-120 look blank?

Because it has no glyph of its own. Unicode treats variation selectors as default-ignorable, zero-width marks. A valid, supported pair can make the preceding base use another drawn form; an unsupported or unregistered pair leaves the base looking normal and hides the selector.

A font may support the base character but not the exact pair, so sequence-aware font fallback matters. A debugging or “show hidden” mode may reveal a marker; normal reading should not treat VS120 as an empty space or an emoji.

Technical, invisible, and not a conversational symbol.

If it arrives alone, do not infer a hidden reaction from it.

What it means when someone sends it to you

2 readings
Alone in a message
No standalone reading; it is an invisible selector without a base.
After a base without a registered pair
The base keeps its normal glyph; VS120 is ignored.

Don't confuse it with

2
︎
Variation Selector-15 asks for text presentation on listed bases; it is not VS120.
️
Variation Selector-16 asks for emoji presentation on listed bases; it is not VS120.

Questions people ask

1

Why does 󠅧 show as a box on some devices?

Because that device's fonts have no glyph for it. The character is still correct and still copies correctly — the box is a missing glyph, not a broken character.

How to type 󠅧

Windows (Word)
Alt+XType E0167, then Alt+X 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 “variation selector-120”.
Linux
Ctrl+Shift+UType e0167, then Enter or Space.
HTML
󠅧
CSS
\E0167
Palette
Use the palette above; visual inspection cannot tell you whether this invisible character is present.
Sequence
Place it immediately after the base character; never use it as a prefix or word-level style mark.
Font support
The receiving font must support the exact base-plus-selector pair, not merely the selector.
Codes and encoding1 code points
HTML decimal
󠅧
HTML hex
󠅧
CSS content
content: "\E0167";
Each escape is closed by the next backslash; a trailing space is needed before a literal hex digit.
URL encoded
%F3%A0%85%A7
1
On screen
1
Code points
2
JS .length
4
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