snootforge

chee/mojimosi

make emoji mosaics from your photos!!

mosimoji

make an emoji mosaic of from your picture

getty

usage

  1. npx mojimosi [options] <image>

options

| option | type | description | | –––––––––– | —— | ———————————————————————– | | --tilesize, -t | number | the number of pixels an emoji should represent | | --background, -b | string | a colour like “white” or “#ff2a50” to use in place of transparent tiles |

examples

eat more pixels per emoji

dark mode

thanks

story

the first thing i did was i extracted the TTF (true type) font files from the TTC collection at /System/Library/Fonts/Apple Color Emoji.ttc using the getfonts script that’s subtree’d in here, but was written by @DavidBarts (who posted about it on reddit and then everyone told them they were bad). then i extracted the emoji from the ttfs using the extract-emoji script here, that was by @InboxAppCo (or by @devangovett according to the package.json).

then i created a plain text file that i’ve called database to annoy rich hickey, which contains one-per-line of: emoji red green blue alpha, of the average colour of the image reported by the image-average-color npm package.

then, the picture that’s given on the command line is sliced up into a grid the size of the [tilesize] provided on the command line (defaults to 32), then the average colour of each slice is matched as closely as it can be (by Mihai’s find-color script) to one of the emoji average colours, then the emoji are printed out in that same grid.

about the author

  1. 🎐 🗒 🕐 🕳 ➰ 🌠 🐦 🛫 🖲 🗻 🖇 🗻 👾 🔧 🔧 🛠 👓 🗻 🛩 🧟 🎩 🦅 📺 📺 🐎 🐗 🐗 🐗 🐎
  2. 🎐 🌫 🗯 🔪 👟 📫 📲 🗻 🥄 🥄 🔧 🔧 🔧 🔧 🔧 ⛏ 🕹 🏇 🐀 🕋 🦅 📺 📺 🐎 🐎 🐎 🐎 🐗 🏟
  3. 🌫 📑 📢 🏐 🎑 🏔 🖲 💤 💤 👾 👾 👾 ⛏ 🏇 🏇 🦆 💄 🕹 📿 🖥 🐄 📺 🐎 🐎 🐗 🦇 🏟 🏟 👡
  4. 📢 🕳 ⏱ 👽 🚉 🥄 💤 🔧 🐜 🐜 🐃 ⛏ ⛏ ⛏ 🏇 🕹 🕹 👙 💼 🐃 📽 📺 🐎 🐎 🐗 🐐 📸 👡 📿
  5. 👟 🎲 ➰ 🚿 🗻 💤 🔨 🍳 🎪 🤰 🙅 🚂 🎉 🎉 👞 🚘 🚀 🚘 🚘 🕹 🐃 🌘 👁 🐎 🐗 🐐 🌋 👡 🧛
  6. 🚍 📱 💱 🛫 🥄 💤 🔧 🏭 🤡 🧣 🐔 🐔 🔺 🔺 🗂 🐔 👠 ⛑ ⛑ 👞 🦆 💻 🎧 🐄 🐎 🐐 🌋 🍮 🧛
  7. 🚟 🗨 🗨 🛫 💤 🔧 🐃 🍖 🍫 🐔 🔺 🍿 🍿 🍿 🍿 🍿 🗂 🥨 ⛱ 📿 🐜 🥄 🖇 🎧 🐎 🏟 🦗 🍮 🥀
  8. 🔚 🚟 🚐 🛫 💤 🔧 🎯 🤡 🍫 🧣 🗂 🔺 🍿 🔺 🔺 🍿 🔺 🗂 🥨 🍒 🏇 👓 📎 🎧 🐎 🏟 🦗 🐖 🥀
  9. 💣 💣 🚐 🖲 📎 👾 🐓 🤡 🍫 🧣 🔺 🔺 🔺 🔺 🔺 🍿 🍻 🍻 🍿 🌅 📿 🥄 🎬 🗃 🐎 🏟 🌋 🐖 👡
  10. 🗃 🗃 🏔 🖲 👾 🐃 💳 🤡 🧣 🔺 🔺 🔺 🔺 🔺 🥫 ❗ ❗ 🎊 🛏 🐔 🧛 💻 💻 🗃 🐎 🏟 🌋 🐖 👡
  11. 🛒 🛒 🚓 🗻 🔧 🐜 🏺 📼 🎭 ⛽ 🔺 🔺 🥫 🥫 🥫 🍿 🦃 🎯 🎯 🐖 🏘 🔧 💻 🐗 🦇 🐗 🌋 🐖 🐌
  12. 🎱 🦏 🖇 👾 🔧 🐃 🧛 🐜 📿 📿 🎉 🚨 🔺 🔺 🔺 🍿 🐷 🚁 🐷 🐔 🍉 🔧 💻 🐎 🦇 🐗 📸 🐖 🐌
  13. 🌘 🐘 🗻 🔧 🔧 🐃 🚂 🚂 🏰 🎧 👞 🍒 🚨 🔺 🍻 🍫 🚢 🔳 🐜 🤡 🤡 🔧 💻 🐎 🦇 📸 📸 🏠 🍮
  14. 🎧 🎧 🦓 👣 📎 🚴 🙅 🐜 🎴 🔘 🚇 🚘 🚭 🔺 🍻 🍠 👠 🏒 🦃 🤡 🗂 🛠 🗃 🐗 🐐 📸 📸 🐖 🐖
  15. 🎧 🎧 🌘 🎩 💻 📿 🤰 🚂 🕺 🚶 🎉 🎉 🚷 🔺 🔺 🍿 🐷 🍿 🐔 🗂 🗂 🖥 🐎 🐗 🐐 📸 🏠 🐖 🐖
  16. 🎧 🖥 🌘 🎩 🚟 🎯 🤰 🤰 🤰 👠 🍒 🍒 🚷 🔻 🔺 🔺 🔺 🔻 🔺 🔺 🔺 🏭 🐎 🐎 🏰 📸 🏠 🍮 🐖
  17. 🖥 🖥 🌘 🎩 🔝 🎎 🍣 🦐 📛 🦐 📵 🚒 🚷 🔻 🔺 🔺 🔻 🔺 🔺 🥫 🔺 🕰 🐎 📺 🏰 📸 🏠 🍮 🐖
  18. 🖥 🖥 🖥 🌘 🔘 🍛 🍓 🚨 🔻 📛 🚒 🎸 👺 🔻 🔺 🔺 💝 🔻 🥫 🥫 🔺 🕰 🐎 🦇 🏰 📸 🐖 🍮 🐖
  19. 🏯 🖥 🖥 🖥 💱 🎎 🦑 🚨 🔻 ⛔ 🏓 🚒 🏓 🔻 🔺 🔺 🔺 🔻 🔺 🥫 🍿 🕰 👁 🦅 🏰 📸 🍮 🍮 🍮
  20. 🐀 🏯 🖥 🖥 🎛 🚬 🚭 🍄 🔻 🚨 📵 🚒 👠 🔺 🔺 🥫 🥫 🍿 🔺 🥫 🥫 🚁 🦇 🏰 🏰 🏠 🍮 🍮 🐌
  21. 🚇 🐀 🏯 🖥 🎑 🎥 🚶 🍄 🔻 🍄 🚭 📵 🚷 💝 📛 🔺 🔺 🧣 🍿 🥫 🍿 👁 🦇 🎩 🏰 🏠 🍮 🐫 🐌
  22. 🍳 🚴 🕹 🥅 💄 🦆 👙 🚭 🦐 🍤 👹 👄 📕 📮 🈲 💝 🔻 🔺 🥫 🥫 🕰 🦅 🦅 🌘 🏰 🐖 🐌 🍮 🥀
  23. 🐜 🕹 💄 🥅 🥅 🥅 💻 ⛑ 🚭 🦐 🚭 🏓 🏓 💝 🔻 🔺 🍌 🥫 🥫 🍠 💄 🎩 🎩 🌘 👡 🏘 🐌 🍮 🧛
  24. 💄 🥅 🥅 🔧 🥅 🥅 🎧 🖇 🚘 🍒 🚷 🦐 🚨 🔻 🔺 🔺 🥫 🥫 💳 📿 🏎 🏎 🕹 🕹 🕹 🥀 🐌 🐌 🧛
  25. 🥅 🥅 🥅 🥅 🏎 🥅 🌉 🛩 ⛏ 🚘 🚶 🚱 🚨 🔻 🔺 🔺 🥫 🐷 🖥 🖥 🏎 🏎 🏎 🥅 🥅 🏎 👞 🐌 👞
  26. 🏎 🥅 🥅 🏎 💋 🏎 🐁 🗨 🎬 🐜 🎭 🚶 🍄 🔺 🔺 🍿 🐷 🏘 🖥 🖥 🎯 🏎 ❌ 🥅 🏎 🏎 🏎 👞 📿
  27. ❌ 🏎 🥅 💋 💋 🏎 ⛪ 📬 🎑 🛒 🏭 📍 🤡 🐷 🐷 💳 🌘 🧛 🏰 🏰 🌄 🏎 🏎 🥅 🏎 🏎 🏎 ⛩ 👙
  28. ❌ 🏎 🏎 💋 💋 🏎 🍬 🛫 🛫 🌬 🦉 🍺 🥫 🥫 🕯 👞 🎳 🦇 🏰 🖇 🖲 👙 🏎 🥅 🏎 🏎 🏎 ❌ ❌
  29. ❌ 🏎 💋 💋 💋 ⛩ 📞 🎣 🗻 🛴 🏐 🦔 🀄 🥫 🛏 📿 🛳 🐨 🎳 👾 🛴 🏎 🏎 🥅 🏎 🏎 🏎 ❌ ❌