Variation Selector

VS

Technical/Unicode

Unicode characters (VS-15 U+FE0E and VS-16 U+FE0F) that modify whether a character renders in text (monochrome) or emoji (colorful) presentation.

Many characters exist in both text and emoji forms. The heart ♥ can appear as a simple text symbol or as a colorful emoji ❤️. Variation Selector-16 (U+FE0F) forces emoji presentation, while Variation Selector-15 (U+FE0E) forces text presentation.

This is why you sometimes see emoji-test.txt list the same emoji with and without U+FE0F — the version with VS-16 is "fully qualified" and ensures consistent emoji rendering across all platforms.

Not all emoji need variation selectors. Characters in dedicated emoji blocks (like U+1F600 grinning face) have emoji presentation by default. VS-16 is mainly needed for characters that originated as text symbols.

Related Terms

Emoji Presentation Emoji Presentation
The default rendering of a character as a colorful emoji glyph, either inherently or when triggered by Variation Selector-16.
Fully Qualified (FQE) Fully Qualified (FQE)
An emoji sequence that includes all required variation selectors and presents consistently across all platforms.
Keycap Sequence Keycap Sequence
An emoji sequence formed by a digit or symbol, followed by VS-16 (U+FE0F) and the combining enclosing keycap character (U+20E3).
Minimally Qualified Minimally Qualified
An emoji sequence missing optional variation selectors but still containing enough information to render as an emoji on most platforms.
Monochrome Emoji Monochrome Emoji
Single-color, outline-style emoji rendering that displays emoji as simple text symbols without color.
Text Presentation Text Presentation
The rendering of a character as a monochrome text symbol, either by default or when Variation Selector-15 is applied.
Unqualified Unqualified
An emoji sequence missing required variation selectors, which may not render as an emoji on all platforms.

Related Tools

🔍 Sequence Analyzer Sequence Analyzer
Decode ZWJ sequences, skin tone modifiers, keycap sequences, and flag pairs into individual components.
🔢 Unicode Lookup Unicode Lookup
Enter a codepoint like U+1F600 and get the emoji, encoding details, UTF-8/16 bytes, and HTML entities.