font-variant-emoji CSS property

The font-variant-emoji CSS property specifies the default presentation style for displaying emojis.

Traditionally, this was done by appending a Variation Selector, U+FE0E for text and U+FE0F for emoji, to the emoji code point. Only emojis listed as contributing to a Unicode emoji presentation sequence are affected by this property.

Syntax

css
/* Keyword values */
font-variant-emoji: normal;
font-variant-emoji: text;
font-variant-emoji: emoji;
font-variant-emoji: unicode;

/* Global values */
font-variant-emoji: inherit;
font-variant-emoji: initial;
font-variant-emoji: revert;
font-variant-emoji: revert-layer;
font-variant-emoji: unset;

Values

This property is specified as one of the following keyword values:

normal

Allows a browser to choose how to display the emoji. This often follows the operating system setting.

text

Renders the emoji as if it were using the unicode text variation selector (U+FE0E).

emoji

Renders the emoji as if it were using the unicode emoji variation selector (U+FE0F).

unicode

Renders the emoji in accordance with the Emoji presentation properties. If the U+FE0E or U+FE0F variation selector is present, then it will override this value setting.

Formal definition

Initial valuenormal
Applies toall elements and text. It also applies to ::first-letter and ::first-line.
Inheritedyes
Computed valueas specified
Animation typediscrete

Formal syntax

font-variant-emoji = 
normal |
text |
emoji |
unicode

Accessibility

While the use of emojis may seem fun, you should consider their impact on accessibility, specifically for users with visual and cognitive impairments. Consider the following factors while using emojis:

Examples

undefined

Changing the way an emoji is displayed

This example shows how you can render an emoji in its text or emoji presentation.

HTML

html
<section class="emojis">
  <div class="emoji">
    <h2>text presentation</h2>
    <div class="text-presentation">☎</div>
  </div>
  <div class="emoji">
    <h2>emoji presentation</h2>
    <div class="emoji-presentation">☎</div>
  </div>
</section>

CSS

css
.text-presentation {
  font-variant-emoji: text;
}

.emoji-presentation {
  font-variant-emoji: emoji;
}

Result

Specifications

See also