Sentiments of emojis

Allwin Williams
Nerd For Tech
Published in
6 min readMar 7, 2021


What can a live stream of emojis from Twitter reveal?

This story is my journey through an assignment I did as part of a course — ‘Information Visualization’ at National Institute of Design, Bengaluru (actually it happened remotely online😅). The project was guided by Mr. Amit Kapoor and I thank him for his valuable insights and guidance throughout the course of this assignment.

Let’s get started — emojis😀

The word ‘emoji’ comes from Japanese e (絵, “picture”) + moji (文字, “character”). Emojis are popular nowadays. These are the tiny characters like ‘😂❤️🎉…’ seen accompanying texts in social media and messaging platforms.

Random stuff around emojis from the internet

They are so popular that we have a movie made after them and also a whole lot of usage on Twitter and other social media.

Visual evolution of an emoji

Emojis have come a long way in their appearance, usage, and also in their meaning. We all experienced them and know what it is and how it’s used at various places. That’s good enough for me to dive into the details of my projects without boring you with more trivia on emojis. P.S. Those trivia are not boring and actually quite interesting, but that’s a separate story for another day. Let’s just focus on my project for now.

from :-) to 😀,
we all grew up…


I wanted to use real-time data to visually represent the emojis that are flying around the world. I had a number of ideations on how to use emojis and what to represent with them. I had so many ideas as you see.

All the rough sketches and ideas I did initially on paper

To better understand this whole thing of emojis and how it works, I tried to explore and look for emoji data from different sources. I stumbled upon emojitracker by Matthew Rothenberg to live track real-time usage of emojis on Twitter. 📈

A screenshot from

So, it gives me a real-time score of all the emojis that are used on Twitter from the time, this application was built (sometime in 2013).

It has a REST API that gives a snapshot first, then another one that streams updates and it was so cool. Thank you Matthew for this amazing tool!!


I was thinking about a few things for some time. Things like filtering and grouping emojis over emotions, sentiments, based on location, usage, historical data, types, and rankings by adding some extra parameters were on my mind. Then, I wanted to look at the patterns in emoji usage before I could fix on something. So, I built a simple tool for myself which helps me do that because the API was providing an overall score and used it to get a count that starts from zero from the time you open the page.

A simple exploration which can be found at

What’s happening here is basically, emptying out the count and only starting to count the new emojis after the webpage opens. This was to look at the emojis that are being used right now. I decided to increase the size of emojis as the count of them went on the raise to be able to easily perceive what’s happening. I know that it breaks after some time once the count hits some point, but it was any way for me to understand and not meant for others.

I just kept opening and reloading it once in a while for some time to understand what’s happening and to find some patterns. 😂😭❤️😍 are a few of the emojis which came always on top.

After a point, I fixed on sentiments. Just looking at them as negative and positive. I thought emojis would be a simple but effective way to communicate the sentiments.

I’ve made a diagram(not exactly) to help you(me) understand my concept.

How the final concept is gonna work

So, there are positive and negative emojis. I had a list of 845 emojis at hand and according to me not all of them are emotive. So, I thought of just picking out emojis with sentiments and labeling them as positive or negative. Putting emojis with sentiments into two buckets (positive and negative) is my concept. It was interesting to look that many of the most popular emojis are ones with sentiments attached to them.

Also, one more thing. There are pairs of emojis. 😂-😭, ❤️-💔 and 👍-👎 are some pairs which are opposite and fall on different ends on sentiments of the same spectrum.

After looking at the most used emojis, I made the two teams of emojis that would fight against each other. The positive team consists of ❤️😂😍😊💕😘😁👌😉👍😎😋😄💗💛💞😀😃😬😇 and the negative team has 😭😒😔😩😏💔😢😑😞😕😡😫👈😤😣😓😠😖👎😰.

Visual explorations

Now, how to represent this visually was the final challenge. I wanted it to be fun, quick, and simple because the audience are gonna be mostly people who are growing along with emojis, use them extensively while expressing themselves and for communication on all digital platforms. With those things in mind, I started to ideate some concepts on the representation of these things.

I quickly tried to visualize a few things and ended up fixing on the simplest and direct one amongst all.

Visual explorations to represent the sentiment

Final solution😇

The final one was to have a horizontal stacked bar that has two sections, one for positive and negative. I used a similar thing for the fights between the pairs of emojis.

The webpage which is currently live at

While doing all this, one more idea popped up in my head and it was allowing the users to pick whatever two emojis they want and have a fight between them. I guess that would be cool and made it.

Please check it all out at

A lot of learnings on emojis and most importantly data, how to make sense of it, and even more on how to represent it in a way that makes sense to the audience. On the tech side, the concept is made possible using javascript and lodash to fetch and analyze data provided from APIs of Emojitracker. The bar fight, what I call this usage of the horizontal stacked bar with two data which is real-time is made using d3.js.

The project is live and can be found at

The code for the project can be found at

There are obviously things that can be improved and to develop more features. I would love to hear you. So, just send a mail to

This story is on an assignment I did as part of a course called ‘Information Visualization’. This was guided by Mr. Amit Kapoor.

So, about the course. It was on how to visualize at various levels such as data, information, knowledge can be visualized to give a better experience to the audience. Different kinds of data and approaches and how different visuals fall at the different spectrum from direct to abstract.

Thank you for reading!!



Allwin Williams
Nerd For Tech

Tech / Design / Music