I'm writing a python program to judge emojis with a collected emoji Unicode set. During the test, I found that one emoji, take ☁
as an example, has two Unicode, u'\u2601'
and u'\u2601\ufe0f'
, what does \ufe0f
mean? Is it the same if I delete it?

- 143,271
- 52
- 317
- 404

- 455
- 1
- 4
- 5
-
3Actually this provides more information... About the colour and stuff. It's a [Variant form](https://en.m.wikipedia.org/wiki/Variant_form_(Unicode)). – Praveen Kumar Purushothaman Jun 29 '16 at 13:00
-
1FE0F is a [variation selector](https://en.m.wikipedia.org/wiki/Variant_form_(Unicode)) – n. m. could be an AI Jun 29 '16 at 13:02
-
2@PraveenKumar sounds like an answer, don't you think? – Thomas Ayoub Jun 29 '16 at 13:04
-
@n.m. From the text: "if the variant form is unavailable, displaying the base character does not change the meaning of the text, and may not even be noticeable by many readers.". Sounds like it is safe, but not useful or necessary to delete – KABoissonneault Jun 29 '16 at 13:09
-
2Possibly related to [Python the same char not equals](http://stackoverflow.com/questions/36137602/python-the-same-char-not-equals) – Tadhg McDonald-Jensen Jun 29 '16 at 13:12
2 Answers
In Unicode the value U+FE0F
is called a variation selector. The variation selector in the case of emoji is to tell the system rendering the character how it should treat the value. That is, whether it should be treated as text, or as an image which could have additional properties, like color or animation.
For emoji there are two different variation selectors that can be applied, U+FE0E
and U+FE0F
. U+FE0E
specifies that the emoji should be presented like text. U+FE0F
specifies that it should be presented as an image, with color and possible animation.
Without the variation selector the character still renders fine, (just look at the page source at this character: ☁) but there's no additional information about presentation.

- 6,450
- 1
- 28
- 38
-
1
-
1Yes. If you look at the page source where the note is in my last paragraph, you'll see that I only put in the emoji character `☁` and not the variation selector – theB Jun 29 '16 at 13:25
That's the Variant Form, which provides more information for those displays, that are capable of displaying with colour and other things.
This chart gives you the difference between FE0F
and FE0E
:
You could consider that the FE0E
version is the unicode text version, and the FE0F
version is with graphics (those which are capable will display graphically), which gracefully degrades to text version, when graphical display is not available.

- 18,571
- 11
- 90
- 141

- 164,888
- 24
- 203
- 252