Here is how I view emojipedia.net using tor browser :

tor browser emoji bug

many of emojis aren't recognized by the browser, However emojis in services like twitter work well because the service (twitter in this case) provides it own demonstration of an emoji in form of an image.

Why this problem is caused? Why firefox (which tor browser in based on it) doesn't have the same problem? Any solutions?


Emojis are just characters in the unicode character set.

For the browser to natively display characters, the fonts must contain a representation of the character, otherwise you end up with the "tofu" substitution character, which is what you're seeing there.

Since the unicode character set is vast and constantly growing, fonts would need to be constantly updated to keep up with new additions. Further more, given the sheer size of the unicode character set, the font files themselves would need to be massive, never mind the work required to create the characters themselves.

The second problem Tor Browser faces, more or less uniquely, is that it is trying to block fingerprinting attacks. Websites can determine available fonts on a system, if they are able to do this then they can use the set of installed fonts as a fingerprint. Available fonts split anonymity sets, since Windows users, OSX users and Linux users will all have different fonts available and any user who has added custom fonts will be even more unqiue and trackable. To solve this problem, Tor Browser ships a limited set of fonts with it and tries to restrict it to only use those fonts, so that users have a consistent set of available fonts across platforms making them harder to track and tell apart.

The solution that websites tend to deploy is "Web Fonts". If a website is going to use some special symbols or iconography or emoji, the website itself can provide you a font file that you can use to display them.

For example, the buttons on the text box of this answer form (the bold, italic, hyperlink, etc buttons) on StackExchange are all infact icons from a font which the website provides to the user to ensure that they have the correct iconography in their available fonts to properly display them.

For Tor Browser, you have to consider:

  • Generating a large, consistent font set for emojis and other unicode characters is labour intensive. Tor Browser needs fonts that it can freely distribute with Tor Browser, which means it needs to meet specific requirements of licensing. People don't often give away their labour for free.
  • Font files that have comprehensive coverage of even just the emoji space of unicode are going to be large. Tor Browser could become incredibly bloated just so that it is able to display emojis, assuming it could find a font that was freely redistributable.
  • Websites with specific need to use specific emojis or other iconography, will normally provide a web font which is consistent with their intended aesthetic anyway.

I'm not saying it won't happen in the future, but those are some of the reasons that it isn't happening now.

  • Complete and detailed answer. If I change the default font of the tor browser from Times New Roman to another,May I get better emoji support?
    – user19736
    Nov 4 '17 at 21:26
  • Normally, your rendering engine is going to fallback to other fonts if it can, rather than showing you the substitute character. You can add extra fonts but as noted this will make you fingerprintable and possibly uniquely so. Google is working on a set of fonts it calls "noto" (short for No Tofu) where it aims to try and create a complete set of similar fonts, they have a specific font for displaying emojis too: google.com/get/noto/#emoji-zsye-color including this font into the font directory for Tor Browser should work, but i wouldn't recommend it unless you absolutely need it.
    – cacahuatl
    Nov 4 '17 at 22:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy