
Method #1. Insert The Emoji By Itself In The HTML Code
This way is certainly much easier and more modern than method number 2. Let’s say you want the grinning face emoji which is ?. You can just copy and paste that emoji into the HTML file.
Basically, for any given emoji, you just paste the emoji by itself in an HTML file.
Here is a comprehensive list of every single emoji. Find your emoji, and then copy and paste the emoji icon into your HTML file. Remember, your HTML code must have UTF-8 encoding explicitly declared in the head, as mentioned before, otherwise your emoji might not be rendered properly.
Method #2. Insert The Emojis Using HTML Character Escapes
This is the older way to insert emojis, but still a useful way to insert them and possibly a more instructive way to do so. Unicode code point values exist for every Unicode value. Basically, Unicode code point values are what the creators/maintainers of Unicode use to give every Unicode character a unique representation for computers. Nearly every character from nearly every major language has a unique Unicode value. Emojis are also represented by Unicode code point values. For example, winking face ? has a Unicode code point value of U+1F609.
To convert the Unicode code point value into an HTML character escape, you will simply do the following:
- Find the Unicode code point value for the emoji you want to insert. Here is a comprehensive list of all emojis in Unicode and their corresponding Unicode code point values.
- Once you have the relevant code point value, copy it down, and delete the “U+” part
- Then put an ampersand hash
&# in front of the other parts of the Unicode code point value.
- Finally, at the end, put a semicolon
;
Now for a quick explanation of what the code means. In HTML, anything beginning with a ‘&#’ and ending with a ‘;’ (both without the quotes) indicates a special character. And the ‘x’ part of the escape code indicates to the browser that what is to follow is hex code. Unicode point values are usually represented in hex code. It is a standard.
If you use Unicode encoding, you probably won’t have to use
character escapes, but in HTML there are 5 characters you must escape. The characters you must use character escapes for are for ampersand &, greater-than sign >, less-than sign, <, quotation mark “, and apostrophe ‘.
Below are the corresponding escape codes:
& & (ampersand)
< < (less-than sign)
> > (greater-than sign)
" ” (quotation mark)
' ‘ (apostrophe)
You must use escape codes for those 5 characters because ‘&’, ‘<‘, ‘>’, ‘”‘, and “‘”. have special meaning in HTML. This is just like data types such as int, float, etc., have special meaning in programming languages. If you don’t escape &, <, >, “, or ‘ in HTML code, and you mean to have them displayed as you see them, then you will probably get some kind of error, or the page won’t render properly.
Additional Notes For Rendering Emojis In HTML
Save Your Text Files and HTML Files In UTF-8 Encoding. Don’t Just Declare UTF-8 Encoding In The Head
Make sure that you save your HTML file in UTF-8 encoding. If you use Windows, Notepad and Wordpad may default to saving files in ASCII encoding, which we don’t want. Make sure you save the file in UTF-8 encoding otherwise non-ASCII characters, like emojis, might not render properly in the browser even if you have the header with UTF-8 encoding.
Not Every Emoji Is Supported In All Browsers Yet
While browsers continually get better as time goes on, and they support more and more emojis natively, older browsers might not support a specific or any emoji. Generally, I would use method #1 for newer browsers, but if you want better backwards compatibility, it might be better to use method #2.
For a much more in depth discussion about encodings etc, I highly recommend W3’s HTML character encodings in HTML and CSS tutorial
here.