This fork of the 31 January 2014 version of 'Chromoji - Emoji for Google Chrome™' supports only textual emoji, now with color fonts.
Emoji Polyfill Extension
22 June 2022: The new regular expression for detecting emoji was too aggressive and matched common characters like en and em dashes; I had already kept it from modifying elements just for containing ©, ®, and ™, but I needed to exclude more symbols with code points near the ™ symbol. However, if one of those copyright or trademark symbols is inside the same element as an ordinary emoji or a character in the Basic Multilingual Plane's Private Use Area, all of the symbols in that element will get an emoji presentation if available. I have also found that if a symbol that could have an emoji or non-emoji presentation is followed by Variation Selector 15 (which specifies the non-emoji presentation), this extension may still make it look like an emoji.
---
19 June 2022: This version uses Noto Color Emoji in preference to Segoe Ui Emoji on Windows, for greater consistency and to properly support all flags and new ZWJ sequences and the Unicode 14 emojis; it also includes the Twitter Color Emoji font for a few symbols that Noto Color Emoji does not support, and it still includes Symbola, which Douros has not updated in more than two years, as a backstop. Keep in mind that you won't see the new emoji images on this extension page, because extensions cannot run in the Chrome Web Store.
---
4 July 2020: This is somewhat delayed; a few months ago, Douros updated Symbola for the new Unicode 13 emojis.
---
23 March 2019: Along with the announcement of new emojis for Unicode 12, Douros updated Symbola.
---
20 June 2018: Earlier this month, Unicode 11 was released, and along with it, new emojis; afterward, Douros updated Symbola to support the new emojis.
---
12 February 2018: Shortly before the announcement of the new emojis for Unicode 11, Douros updated Symbola.
---
2 December 2017: Around the time when the Windows 10 Fall Creators Update was released, Douros updated Symbola to support even more emojis, and I did not notice this until today.
---
13 July 2017: Douros has updated Symbola a little earlier than I expected, so I could update the extension before World Emoji Day; also, the Windows 10 Fall Creators Update will get a better emoji input method, so the EmojiOne Keyboard will no longer be useful, unless you prefer the way they draw the images.
---
17 July 2016: For World Emoji Day 2016, I have updated the copy of Symbola used in the extension so that it now supports Unicode 9.0; fortunately, George Douros did update the font after all, so that I wouldn't need to use the much bulkier SVG-in-OT fonts based on Twemoji or EmojiOne, which are less crisp at higher resolutions in their black-and-white versions, which Chrome falls back to because only Firefox supports color SVG-in-OT.
Speaking of EmojiOne, if you prefer seeing graphical emojis or just want a good input method, use the EmojiOne Keyboard extension; consider combining its input method with this extension's use of Symbola, by turning off Auto-Replace in the EmojiOne Keyboard settings.
---
12 October 2015: Now the extension uses more lazy function definitions, and also ES6 Symbols and ES5 property definitions, to further isolate the effects of this extension from ordinary page scripts; also, the regexes used now skip over most Japanese text and CJK Unified characters, and I have provided a framework for skipping over more astral characters when figuring out which ones are probably emoji (using a regex or series of regexes to find emoji directly has proven to be too slow).
---
In honor of 🌍 🌎 🌏 World Emoji Day, 17 July 2015 📅, I have backported some performance improvements from the UserScript to this extension, but I think this will be the last version of Emoji Polyfill 🌟; however, even if Chrome finally supports emoji fallback for the Emoticons block, I will keep it around for the benefit of older Chromium-based browsers. 🎉
Chrome 42 for Windows supports native emoji fallback for most emoji ranges, notably excepting the emoticons; this extension will not be worked on much, but it will stay for users of browsers based on older versions of Chromium.
Chrome for Windows still does not perform emoji fallback as other browsers do, as Chrome recently started doing on the Mac, and as all browsers (including Chrome on Windows) do for various scripts; for example, web browsers on Windows fall back to Sylfaen for Georgian and Armenian text if the declared font does not have those characters, and modern browsers other than Chrome fall back to Segoe UI Emoji (Windows 8+) or Segoe UI Symbol (Windows 7+) if the declared font does not have emoji.
This extension remedies that, by adding a few fonts to the end of every font-family property for every HTML element detected as probably having emoji; specifically, it adds \"'Segoe UI Emoji', 'Segoe UI Symbol', Symbola, EmojiSymb !important\" and bundles Symbola as a webfont for those who may not have it or the special Segoe UI fonts (for example, users on Vista, XP, or Linux). If you would prefer a UserScript, it is available on Greasy Fork under the same name as this extension (Emoji Polyfill), although it works a bit more slowly.
As the short description says, this is a heavily modified fork of a more full-featured extension by Locomojis called Chromoji, which I have heard will be coming back to the Web Store soon. If you want graphical Apple or Android style emoji, or a convenient way to input emoji, wait for Chromoji to come back (it will be linked from here when it does); for now, if you want to input emoji, try the virtual keyboard in Windows 8+, or go to GetEmoji or Emojipedia.
Notable related extensions include the now-discontinued \"Chromoji - Hangouts Edition\" (using Google Hangouts style emoji) and the still-developed \"Twemojify\" (using Twitter's own API to replace supported emoji with Twitter's graphical emojis on all sites, not just Twitter).
This extension's icon and promotional tile use the colored glyphs from Segoe UI Emoji, while the extension itself only supports monochrome emoji; this is a limitation of the platform (Internet Explorer and Firefox support color in Segoe UI Emoji, and Firefox supports it even in older versions of Windows), as is the lack of support for skin-tone modifiers for emoji (currently, you will see the unmodified monochrome emoji followed by an \"invalid character\" symbol, which is the combining character for the skin-tone modifier).
Additionally, flags are not well supported, displaying as two-letter country codes instead of national flags, even for the initial set of 10 flags that shipped with most Japanese emoji sets; also, keycap emoji are not fully supported, some being rendered as a digit in the normal font followed by the combining keycap character in the emoji fallback font, which doesn't combine properly because the font metrics are different.
It seems as if Segoe UI Emoji has support for just the Unicode 6.0 emoji before Windows 10, while it supports all Unicode 7.0 emoji on Windows 10, and Symbola currently supports the Unicode 8.0 emoji but none of the Unicode 9.0 draft emoji; the screenshot is of Get Emoji, showing some of the Unicode 6.0 emoji symbols rendered with Segoe UI Emoji and some of the new Unicode 7.0 emoji symbols rendered with Symbola.
Read more
---
19 June 2022: This version uses Noto Color Emoji in preference to Segoe Ui Emoji on Windows, for greater consistency and to properly support all flags and new ZWJ sequences and the Unicode 14 emojis; it also includes the Twitter Color Emoji font for a few symbols that Noto Color Emoji does not support, and it still includes Symbola, which Douros has not updated in more than two years, as a backstop. Keep in mind that you won't see the new emoji images on this extension page, because extensions cannot run in the Chrome Web Store.
---
4 July 2020: This is somewhat delayed; a few months ago, Douros updated Symbola for the new Unicode 13 emojis.
---
23 March 2019: Along with the announcement of new emojis for Unicode 12, Douros updated Symbola.
---
20 June 2018: Earlier this month, Unicode 11 was released, and along with it, new emojis; afterward, Douros updated Symbola to support the new emojis.
---
12 February 2018: Shortly before the announcement of the new emojis for Unicode 11, Douros updated Symbola.
---
2 December 2017: Around the time when the Windows 10 Fall Creators Update was released, Douros updated Symbola to support even more emojis, and I did not notice this until today.
---
13 July 2017: Douros has updated Symbola a little earlier than I expected, so I could update the extension before World Emoji Day; also, the Windows 10 Fall Creators Update will get a better emoji input method, so the EmojiOne Keyboard will no longer be useful, unless you prefer the way they draw the images.
---
17 July 2016: For World Emoji Day 2016, I have updated the copy of Symbola used in the extension so that it now supports Unicode 9.0; fortunately, George Douros did update the font after all, so that I wouldn't need to use the much bulkier SVG-in-OT fonts based on Twemoji or EmojiOne, which are less crisp at higher resolutions in their black-and-white versions, which Chrome falls back to because only Firefox supports color SVG-in-OT.
Speaking of EmojiOne, if you prefer seeing graphical emojis or just want a good input method, use the EmojiOne Keyboard extension; consider combining its input method with this extension's use of Symbola, by turning off Auto-Replace in the EmojiOne Keyboard settings.
---
12 October 2015: Now the extension uses more lazy function definitions, and also ES6 Symbols and ES5 property definitions, to further isolate the effects of this extension from ordinary page scripts; also, the regexes used now skip over most Japanese text and CJK Unified characters, and I have provided a framework for skipping over more astral characters when figuring out which ones are probably emoji (using a regex or series of regexes to find emoji directly has proven to be too slow).
---
In honor of 🌍 🌎 🌏 World Emoji Day, 17 July 2015 📅, I have backported some performance improvements from the UserScript to this extension, but I think this will be the last version of Emoji Polyfill 🌟; however, even if Chrome finally supports emoji fallback for the Emoticons block, I will keep it around for the benefit of older Chromium-based browsers. 🎉
Chrome 42 for Windows supports native emoji fallback for most emoji ranges, notably excepting the emoticons; this extension will not be worked on much, but it will stay for users of browsers based on older versions of Chromium.
Chrome for Windows still does not perform emoji fallback as other browsers do, as Chrome recently started doing on the Mac, and as all browsers (including Chrome on Windows) do for various scripts; for example, web browsers on Windows fall back to Sylfaen for Georgian and Armenian text if the declared font does not have those characters, and modern browsers other than Chrome fall back to Segoe UI Emoji (Windows 8+) or Segoe UI Symbol (Windows 7+) if the declared font does not have emoji.
This extension remedies that, by adding a few fonts to the end of every font-family property for every HTML element detected as probably having emoji; specifically, it adds \"'Segoe UI Emoji', 'Segoe UI Symbol', Symbola, EmojiSymb !important\" and bundles Symbola as a webfont for those who may not have it or the special Segoe UI fonts (for example, users on Vista, XP, or Linux). If you would prefer a UserScript, it is available on Greasy Fork under the same name as this extension (Emoji Polyfill), although it works a bit more slowly.
As the short description says, this is a heavily modified fork of a more full-featured extension by Locomojis called Chromoji, which I have heard will be coming back to the Web Store soon. If you want graphical Apple or Android style emoji, or a convenient way to input emoji, wait for Chromoji to come back (it will be linked from here when it does); for now, if you want to input emoji, try the virtual keyboard in Windows 8+, or go to GetEmoji or Emojipedia.
Notable related extensions include the now-discontinued \"Chromoji - Hangouts Edition\" (using Google Hangouts style emoji) and the still-developed \"Twemojify\" (using Twitter's own API to replace supported emoji with Twitter's graphical emojis on all sites, not just Twitter).
This extension's icon and promotional tile use the colored glyphs from Segoe UI Emoji, while the extension itself only supports monochrome emoji; this is a limitation of the platform (Internet Explorer and Firefox support color in Segoe UI Emoji, and Firefox supports it even in older versions of Windows), as is the lack of support for skin-tone modifiers for emoji (currently, you will see the unmodified monochrome emoji followed by an \"invalid character\" symbol, which is the combining character for the skin-tone modifier).
Additionally, flags are not well supported, displaying as two-letter country codes instead of national flags, even for the initial set of 10 flags that shipped with most Japanese emoji sets; also, keycap emoji are not fully supported, some being rendered as a digit in the normal font followed by the combining keycap character in the emoji fallback font, which doesn't combine properly because the font metrics are different.
It seems as if Segoe UI Emoji has support for just the Unicode 6.0 emoji before Windows 10, while it supports all Unicode 7.0 emoji on Windows 10, and Symbola currently supports the Unicode 8.0 emoji but none of the Unicode 9.0 draft emoji; the screenshot is of Get Emoji, showing some of the Unicode 6.0 emoji symbols rendered with Segoe UI Emoji and some of the new Unicode 7.0 emoji symbols rendered with Symbola.
Source Manifest.json
{ "name": "__MSG_extName__", "description": "__MSG_desc__", "manifest_version": 2, "default_locale": "en_US", "icons": { "16": "icon16.png", "19": "icon19.png", "38": "icon38.png", "48": "icon48.png", "66": "icon-small.png", "128": "icon128.png", "256": "icon256.png" }, "content_scripts": [{ "all_frames": true, "run_at": "document_start", "matches": ["\\u003Call_urls>"], "css": ["emoji.css"], "js": ["emoji.js"] }], "content_security_policy": "default-src 'none'; script-src 'self'; style-src 'self'; font-src 'self'", "permissions": ["http://*/", "https://*/"], "update_url": "https://clients2.google.com/service/update2/crx", "version": "1.0.8.6", "web_accessible_resources": [ "emojiSymb.woff", "emojiSymb.woff2", "NotoEmoji-Bold.woff", "NotoEmoji-Bold.woff2", "NotoEmoji-Light.woff", "NotoEmoji-Light.woff2", "NotoEmoji-Medium.woff", "NotoEmoji-Medium.woff2", "NotoEmoji-Regular.woff", "NotoEmoji-Regular.woff2", "NotoEmoji-SemiBold.woff", "NotoEmoji-SemiBold.woff2", "NotoColorEmoji.woff", "NotoColorEmoji.woff2", "TwemojiMozilla.woff", "TwemojiMozilla.woff2", "TwitterColorEmoji-SVGinOT.woff", "TwitterColorEmoji-SVGinOT.woff2" ]}
Read more