Mnemonic phrase (Bitcoin BIP39) language with emojis. Also a converter tool.
The mnemonic languange that nobody asked for: emojis
And the tool that nobody asked for: the mnemomnic phrase lang converter.
Based on the BIP 39 spec.
The wordlist can be found here:
https://github.com/diegogurpegui/mnemojic-phrase/blob/master/utils/emoji.txt
The converter is just an automated tool that replaces each word in the phrase with the equivalent word
for the same index/position in the destination language (eg. emoji).
You have a web tool available here:
https://diegogurpegui.com/mnemojic-phrase
The files for that web version are automatically served from the “web” directory in this repo. Still, it uses third-party library so you should be VERY carefull when using it.
The website should be able to run 100% offline.
There is also a cli tool un Node.js that you can use by running:
$ node cli convert [options] <mnemonicPhrase>
Options:
--sourcelang <sourceLang>
--destlang <destLang>
-h, --help
The <mnemonicPhrase>
is just the mnemonicPhrase.
I selected a group of 64 emojis that are combined with another group of 32 emojis to form 2048 two-emojis words.
The reason for this is that I wanted emojis that can occupy only one character, which leaves us with less than 2048 emojis (the required amount to have a BIP39 word list).
Since we cannot get to the 2048 emojis I decided to use two-emoji words. I selected 64 emojis from the “smiley faces” group and 32 emojis from the “hands and body” group. This was done arbitrarily based on emojis that are widely supported, look distinctively enough and take 4 bytes.
With that in mind, the 2048 words are formed like this:<firstEmoji><secondEmoji>
Being the first emoji one from the list of 64, and the second emoji one from the list of 32. The final list is a combination generated by picking them in sequential order.
Final wordlist:
https://github.com/diegogurpegui/mnemojic-phrase/blob/master/utils/emoji.txt
This mechanism and the fact that there are two groups of emojis allows the final mnemonic phrase to do without the spaces between words.