How to get an emoji domain 👨‍💻

A short tutorial on how to register emoji domains

Emoji domains are all the rage at the moment.

Sadly, or maybe for the better, .com, .net, and .org TLDs won't allow the use of emojis as it is agains rule IDN2008 set in action by the ICANN in 2010. The background is to prevent a thing calles homograph attacks, where an attacker will use similar "graphs" = letter from foreign languages to simulate a valid domain.

Let me give a short example of such a homograph attack:

This link to apple.com which likely shows as https://apple.com/ in your browser is actually this URL https://xn--80ak6aa92e.com/. This works because the browser allows punycode, a notation to translate unicode characters into latin strings, a means of implementing the IDN, international domain naming system.

In this example, the letter "a" is replaced by a cyrillic letter that is very similar: "а" (U+0430). Since unicode characters are translated to punycode, the domain name reads https://xn--80ak6aa92e.com/. However, some browsers (testing on Firefox Dev Edition 59.0b12 (64-Bit)) will show the actual unicode symbols and not the punycode. This is why the homograph attack works. The domain is shown as apple.com while in the background it is more like "cyrillic a"pple.com.
Read more on the blog of the maker of this example attack.

Now to come back to our initial topic, emojis are simply unicode characters like the cyrillic "а", and the browser will translate them into punycode. For example, the aforementioned "a" becomes xn--80a.

If you now want the camera symbol as a domain name, copy the unicode char (look at emojipedia for inspiration and easy copying) and paste it into the punycoder. You receive the punycode xn--tu8h which you can now use with a registrar, for example freenom, to register a xn--tu8h domain. Have a look at 📷.ga.

Note that these are multi-character emojis where two symbols "man and microscope" are bound together to form another character "researcher". This is not displayed in every browser equally. They should show as: