K Kibo Get Kibo

Why the same emoji looks different on iPhone and Android

Unicode standardises which emoji exists and what it means, not how it is drawn. Why every platform ends up with its own artwork, what actually gets sent in a message, and whether a keyboard app changes any of it.

Send 😬 from an iPhone to a friend on Android and the picture that lands on their screen is not the one you picked. It is close — close enough that almost nobody notices — but it was drawn by a different team, in a different style, and sometimes with a noticeably different expression. This is not a bug in either phone. It is how emoji were designed to work from the start.

What Unicode actually standardises

The Unicode Consortium is the body that decides an emoji exists at all. What it publishes for each one is a codepoint — a number, such as U+1F602 — and a short reference name, plus a rough reference image to illustrate the idea. What it does not publish is a mandatory drawing. No colour, no line weight, no exact expression is required. Unicode is standardising an identity and a meaning, the same way it standardises the letter “A” without dictating a font.

Every platform draws its own set

Because the artwork is not part of the standard, Apple, Google, Samsung and every other platform that wants emoji has had to design a full set of its own, matched codepoint for codepoint against the Unicode list. Apple’s set ships as a font built into iOS. When you type 😂 on an iPhone, iOS draws Apple’s version of that codepoint. Nothing about the message itself carries Apple’s picture — it carries the codepoint, and the phone displaying it supplies the artwork.

That is the whole reason the same emoji can look rounder, flatter, more detailed or more minimal depending on whose phone you are looking at it on. Two platforms agreeing that U+1F602 means “face with tears of joy” does not commit either of them to drawing it the same way.

Why this can quietly change what a message means

Most emoji are similar enough across platforms that the difference is cosmetic. A handful are not. Face emoji in particular vary in how broad the smile is, how narrow the eyes go, or how far a mouth turns down, and those small differences carry tone. An emoji that reads as a warm, easy smile in one platform’s artwork can read as flatter or more strained in another’s, purely because of how the corners of the mouth were drawn. If a message ever landed oddly with someone on a different phone for no obvious reason, a mismatched emoji rendering is a real, if easy to overlook, explanation.

What actually travels in the message

A text message carrying an emoji is carrying text, not a picture file. Under the hood it is one Unicode codepoint, or for some variants — a skin tone, a family, a flag — a short sequence of codepoints joined together. That is why an emoji can be typed, copied, searched for and stored exactly like a letter can, and why it survives moving between apps and platforms at all. The rendering step — deciding what to actually draw for that codepoint — happens on whichever device is displaying the message, using whatever emoji font that device ships. Nothing about the drawing you saw while typing is transmitted; only the identity is.

Does the keyboard you type from change any of this?

No, and this is worth being precise about. A keyboard app — Apple’s own or a third-party one — does not draw the emoji that ends up in your message. Its emoji panel is a way of inserting a Unicode character, nothing more. Once that character lands in the text field, it is iOS, not the keyboard, that decides how to draw it on your own screen, using the same Apple Color Emoji font either way. A keyboard app cannot make an emoji render in an Android style, add a filter to it, or otherwise change its appearance, because the keyboard never owned the artwork to begin with — only the system font on the device doing the displaying does.

Where Kibo fits

Kibo’s emoji panel spans 10 tabs, including a full kaomoji panel, and it is built entirely from text rather than image assets — which is part of what keeps the keyboard inside its extension memory budget. Every emoji it inserts is standard Unicode data, the same codepoint the built-in keyboard would insert for the same emoji, so it renders on your screen exactly as Apple draws it and on a recipient’s screen exactly as their own platform draws it. Choosing a different keyboard changes the theme around the keys; it has no bearing on what the emoji itself looks like once it is typed. It is free to download and works with Full Access left off.

Frequently asked questions

Why does an emoji I sent look different on my friend’s phone?

Unicode standardises which emoji exists and what it means, not how it looks. Your phone sends the underlying codepoint, and your friend’s phone draws its own artwork for that codepoint using its own emoji font — which is why the picture can differ even though the emoji is identical in meaning.

Does switching to a different keyboard app change how emoji look to the people I message?

No. A keyboard’s emoji panel only inserts a Unicode character. The device displaying the message — yours while you type, the recipient’s once it is sent — decides how to draw that character, and that decision belongs to the operating system, not the keyboard.

Can an emoji actually be misread because of this?

Yes, for expressive face emoji especially. The same codepoint can look like a warmer or flatter expression depending on which platform drew it, so a message can land with a slightly different tone than you intended on someone else’s phone.

Try it on your own keyboard

Kibo is a free custom keyboard for iPhone with real mechanical key sounds, a wardrobe of themes and RGB backlight effects. No account, no ads, and it works with Full Access left off.

Download on the App Store

Related guides

All guides