Emoji Counter
Paste a caption, tweet or chat log to count every emoji in it. Flags, skin tones, keycaps and multi-person ZWJ emojis each count as one, exactly the way you see them.
Count by emoji
| # | Emoji | Type | Code points | Count | Share |
|---|---|---|---|---|---|
| No emojis yet. Paste some text above. | |||||
How to use the Emoji Counter
- Paste your text into the box, for example a caption, a comment thread or an exported chat.
- Choose the options: group skin tones together, or also count text-style symbols such as ยฉ and โข.
- Press Count emojis (results also update live as you type).
- Read the summary: total emojis, unique emojis, the most used emoji and the share of emojis in the text.
- Export or copy the table by emoji as CSV, or copy the unique emojis or the text without emojis.
Why one emoji can be many characters
Many emojis are built from several Unicode code points that your device draws as a single picture. A good emoji counter has to count what you see, not the raw code points. This tool groups code points into grapheme clusters first and then decides whether each cluster is an emoji.
| Emoji | Type | Code points | UTF-16 length | Counted as |
|---|---|---|---|---|
| ๐ | Single emoji | U+1F600 | 2 | 1 |
| โค๏ธ | Symbol + variation selector | U+2764 U+FE0F | 2 | 1 |
| ๐๐พ | Skin tone modifier | U+1F44D U+1F3FE | 4 | 1 |
| 1๏ธโฃ | Keycap | U+0031 U+FE0F U+20E3 | 3 | 1 |
| ๐ฏ๐ต | Flag (two regional indicators) | U+1F1EF U+1F1F5 | 4 | 1 |
| ๐งโ๐ | ZWJ sequence | U+1F9D1 U+200D U+1F680 | 5 | 1 |
| ๐จโ๐ฉโ๐งโ๐ฆ | ZWJ family | 4 people + 3 ร U+200D | 11 | 1 |
Worked example
Take the text โGo team ๐๐ ๐๐พ ๐ฏ๐ต 1๏ธโฃโ. The counter finds 5 emojis in total and 4 unique emojis: ๐ twice, and ๐๐พ, ๐ฏ๐ต and 1๏ธโฃ once each. ๐ is the most used emoji with a share of 2 รท 5 = 40%. The text has 11 visible characters (graphemes, not counting spaces), so the emoji share of the text is 5 รท 11 โ 45.5%.
The share column in the table is count of that emoji รท total emojis ร 100. The โEmoji shareโ card is total emojis รท visible characters ร 100, where spaces and line breaks are not counted.
Emoji tips for social posts
- Keep it readable. One to three emojis per sentence usually feels natural. Long emoji strings are harder to read, especially for screen reader users, who hear each emoji's full name.
- Mind character limits. Some platforms count an emoji as 2 characters or more. Check long posts with a character counter before publishing.
- Put the key words first. Emojis at the start of a title or bio can push important words out of search previews.
- Check new emojis. Recently added emojis may show as empty boxes on older phones. The code points in the table help you look them up.
Frequently asked questions
How are emojis counted?
The tool splits the text into user-perceived characters (grapheme clusters) with Intl.Segmenter, the same way your phone moves the cursor. Each cluster that is an emoji counts once, so a family emoji built from four people joined by zero-width joiners is one emoji, not seven code points.
Do skin tones count as separate emojis?
By default ๐ and ๐๐พ are listed as two different emojis, because they look different. Tick "Group skin tones together" to merge all skin-tone variants into the base emoji.
Why is ยฉ or โข not counted?
Symbols like ยฉ, ยฎ, โข and arrows have an emoji version but usually display as plain text. They are only counted when they carry the emoji variation selector (for example ยฉ๏ธ) or when you tick "Include text-style symbols".
Why does my text length differ from the emoji count?
Emojis use several code units in JavaScript and many websites. ๐ is 2 UTF-16 units, ๐๐พ is 4 and ๐จโ๐ฉโ๐งโ๐ฆ is 11. The character count shown above the box uses graphemes, so each emoji counts as one character.
Can I count emojis in a WhatsApp chat?
Yes. Export the chat as a .txt file from WhatsApp, open it, copy all the text and paste it into the box. The table then shows which emojis were used most in the conversation.
Is my text uploaded anywhere?
No. Counting happens entirely in your browser on this device. Your text is never sent to a server.