Emoji Generator
Searching for high quality and shareable Emojis, Try our emoji generator. Get random smileys, characters, and emoji names for free. Explore now.
Random Emoji
What the emoji generator does
You want an emoji. Maybe a random one for a game, maybe a pile of them to test something, maybe you are just poking about.
This one hands you emoji at random. Copy them and they go wherever you need them.
What follows is the part I actually want you to read, because an emoji is not what you think it is, and once you know what it really is, a few things that seem broken about them stop being mysterious.
How to use it
Pick how many you want and press Generate for a fresh handful, then Copy to take them. The three boxes underneath filter the results, and they behave very strangely here, which has its own section below.
An emoji is not a picture
๐ is not an image. There is no file. Nothing was downloaded.
It is a number. Specifically it is the number 128512, which gets written U+1F600, and it means GRINNING FACE. Your phone reads that number, goes and finds a font, and draws whatever that font says a grinning face looks like. Apple draws one thing. Google draws another. Same number.
That is why the emoji you sent does not always match the emoji they got. You never sent a picture. You sent a number and they looked it up in a different book.
Now the bit that matters, and it is about where those numbers live.
Unicode has room for a lot of numbers, but the first stretch of them, everything up to U+FFFF, is special. It is called the Basic Multilingual Plane, and it was meant to hold every character anybody would ever need. Two bytes each. Nice and tidy.
It filled up.
So everything after it lives higher, and higher characters do not fit in two bytes. JavaScript, which is what your browser runs, still measures text in those two byte chunks. It cannot hold ๐ in one. It has to use two, and it stores them as a matched pair called a surrogate pair, which is a fancy way of saying it saws the character in half and keeps both halves next to each other.
So in the browser, ๐ has a length of two. Not one. And if you ask the browser for the first character of ๐, it does not give you the emoji. It gives you the left half of it, which is not a character at all and cannot be displayed.
Hold on to that. It is going to explain something in a minute.
Where they came from, and why that matters
In 1999 a Japanese telecom called NTT DOCOMO released a set of 176 emoji for phones and pagers. They were designed on a twelve by twelve pixel grid, which is a hundred and forty four pixels for an entire idea, by a designer named Shigetaka Kurita who was twenty five years old and working on their mobile internet software.
The word is not a mangling of emotion, by the way. Almost everyone assumes it is. It is ็ตตๆๅญ: e meaning picture, moji meaning character. Picture character. The resemblance to emoticon is a coincidence.
MoMA acquired the original set in 2016 and put them in the permanent collection, which is a slightly ridiculous sentence that is nevertheless true.
And here is the detail that pays off later. MoMA's own note on the acquisition says what Kurita drew from: manga, common emoticons, and Zapf Dingbats.
Zapf Dingbats is a typeface. Hermann Zapf drew it in 1978. Scissors, envelopes, aeroplanes, snowflakes, pencils, stars, arrows. Little printing symbols, the kind of thing you used to find on a typesetter's sheet.
Unicode encoded Zapf Dingbats long before emoji were a thing, which means those symbols got low numbers, down in the Basic Multilingual Plane. Then emoji proper arrived years later, found the plane full, and got put up high.
So the emoji you are looking at right now come from two different eras and live at two different altitudes. โ and โ and โ are old typography that got promoted. ๐ and ๐ and ๐ are new arrivals in the upstairs flat.
You cannot see the difference. Your browser can.
Taking an emoji apart
Take ๐จโ๐ฉโ๐งโ๐ฆ. The family.
It looks like one emoji. It is seven.
Man, then an invisible character, then woman, then an invisible character, then girl, then an invisible character, then boy. Nobody drew a family. Somebody wrote a sentence and glued it together.
The glue is called a Zero Width Joiner. It is U+200D. It has no width, no appearance, and no meaning of its own. It just tells whatever is drawing your text: if you can, make the things on either side of me into one thing.
And it was not invented for this. The Zero Width Joiner has been in Unicode since version 1.1, decades before emoji, and it was put there for Arabic and for Indic scripts like Devanagari, where letters change shape depending on what sits next to them and you sometimes need to force a connection that would not happen by itself. It is a typographic tool for writing Hindi and Persian properly.
Then, around 2015, Unicode looked at it and realised they could use it to build compound emoji without minting a new number for every possible family. Which is genuinely elegant, and also means every family emoji you have ever sent was held together by a piece of Arabic script machinery.
Some of them go further. ๐ฉโโค๏ธโ๐โ๐จ is eight code points: woman, joiner, heart, a thing called a variation selector, joiner, kiss mark, joiner, man.
Which brings up the failure you have definitely seen. If the other person's device does not know that particular sequence, it does not show an error. It just stops gluing, and they see the pieces. You send a family. They get four people standing in a row. Nothing broke. They simply read your sentence one word at a time.
Starts with, contains, and ends with
This is my favourite thing on the site and it happened entirely by accident.
The starts with and ends with boxes take one character. Just one. That is a limit on the box, and for a list of words it is a perfectly sensible limit.
But we established above that the browser measures in two byte chunks, and that almost every real emoji needs two of them.
So you cannot type ๐ into that box. It will not fit. It is too big. The box holds one chunk and the emoji is two.
Which means the starts with box rejects almost every emoji on this page.
Almost.
Because a small number of them do fit. And it is not a random number. The ones that fit are exactly the ones with low numbers, down in that first plane, which are exactly the ones that were typographic symbols before emoji existed. Zapf Dingbats and friends. The scissors. The aeroplane. The envelope. The snowflake. The umbrella. The playing card suits. The zodiac. The old telephone.
They stop dead at U+2B55, which is the heavy large circle. The very next emoji in the list starts at U+1F004, and everything from there upward is locked out of the box forever.
So that little input, which nobody designed to do this, is an archaeology tool. It only accepts emoji that are older than emoji. Type into it and you are digging.
Contains has no such limit, so it works. Paste any emoji in there and it will find it.
I am not going to fix the box, incidentally. I am going to leave it exactly as it is, because a filter that only lets through the pre-emoji symbols is a more honest description of what Unicode actually is than any paragraph I could write about it.
How an emoji gets picked
Nothing clever.
The emoji sit in a list our team assembled and went through by hand. Press Generate and you get a random draw from it, with no repeats inside one batch.
What we do not do is generate emoji. Nobody can. There is no such thing as a new emoji you can make up on the spot, because an emoji is a number that a standards body agreed on, and if the number is not in the standard then nothing will draw it. Every emoji in existence went through a committee.
This runs in your browser alone, and nothing you type is sent out.
Before you send it
It will not look like that on their phone. You are sending a number, not a drawing. The same number renders differently on Apple, Google, Samsung, Microsoft and Twitter. Some of the differences have started genuine arguments, because a face that reads as friendly in one font reads as smug in another.
Compound emoji fall apart on old software. Anything built with joiners, so families, couples, most job emoji, degrades into its parts on a device that does not know the sequence. If it has to survive anywhere, use a single emoji rather than an assembled one.
The old ones are the safe ones. The symbols that fit in that filter box are also the ones that have been supported everywhere for the longest. โ has worked since before your phone existed. ๐ซ has not.
They are not decoration in a URL or a password. An emoji is multiple bytes and a lot of systems chop it in half without telling you. You end up with half a character, which is worse than no character.
And check what it means where you are sending it. Emoji meanings are regional and they drift. This is the one thing the standard cannot help you with, because the standard only defines the number. What people take it to mean is not written down anywhere.
Questions people ask
Why does the emoji look different on my friend's phone?
Because you did not send them the emoji. You sent a number, and their phone looked that number up in a different font. Apple, Google and Samsung all draw their own.
Why do I sometimes see a box or a question mark instead?
Their font does not have a drawing for that number. Usually it means the emoji is newer than their software. The number arrived, there was just nothing to show for it.
Why did my family emoji turn into four separate people?
It was always four separate people. The joiners that hold them together were ignored because the device did not recognise that particular combination, so it showed you the ingredients.
Why will the starts with box not accept an emoji?
Because it holds one unit of text and most emoji need two. The only ones that fit are the handful that existed as printing symbols before emoji were invented, which have smaller numbers. It is an accident, and it is a nice one.
Can I make my own emoji?
Not a real one. An emoji has to be a number in the Unicode standard, and getting a number means writing a proposal and convincing a committee. You can draw a picture and send it. It just will not be an emoji, and it will not survive being pasted anywhere else.
References
- Unicode Technical Standard #51, Unicode Emoji. https://www.unicode.org/reports/tr51/
- Shigetaka Kurita. Emoji. 1998-1999. The Museum of Modern Art. https://www.moma.org/collection/works/196070
- Inbox: The Original Emoji, by Shigetaka Kurita. The Museum of Modern Art, 9 December 2016 to 12 March 2017. https://www.moma.org/calendar/exhibitions/3639
- Zero Width Joiner, U+200D. https://unicode-explorer.com/c/200D
Suzzane Shahsankar is a finance graduate with interests in business communication, presentation, product feedback, and practical userfacing tools. She brings a strong clarity and usability lens to lightweight idea, suggestion, and exploratory utilities. At Eon Tools, she reviews random and suggestion tools.
Other Tools
- Book Name Generator
- Clan Name Generator
- Drawing Idea Generator
- Fursona Generator
- Group Name Generator
- Guild Name Generator
- Jojo Stand Generator
- Lenny Face Generator
- Personality Generator
- Random Academic Generator
- Random Activities Generator
- Random Aesthetic Generator
- Random Answer Generator
- Random Body Part Generator
- Random Clothes Generator
- Random Element Generator
- Random Emotion
- Random Equipment Generator
- Random Fabric Material Generator
- Random Gemstone Generator
- Random Hobby Generator
- Random Holiday Generator
- Random Home Appliance Generator
- Random Interview Questions
- Random Metal Generator
- Random Mood Generator
- Random Moon Name Generator
- Random Objects Generator
- Random Programming Language
- Random Question Generator
- Random Room Name Idea Generator
- Random School Subject Generator
- Random Scientist Generator
- Random Symbol Generator
- Random Theme Generator
- Random Topics
- Random Weather Generator
- Random Zodiac Generator
- Ship Name Generator
- Team Name Generator
- Title Generator
- Writing Prompt Generator