How color emoji fonts work

Regular fonts store black-and-white outlines. Emoji need colour, so vendors invented several “colour font” formats to pack full-colour artwork into a typeface. Here are the four that matter.

The four formats

FormatTypeUsed by
COLR/CPALLayered vector + paletteMicrosoft (Segoe UI Emoji), Windows
sbixEmbedded PNG bitmapsApple (Apple Color Emoji)
CBDT/CBLCEmbedded bitmapsGoogle (older Android/Noto)
SVG-in-OpenTypeFull SVG per glyphFirefox, some Adobe/Google fonts

Vector vs bitmap

Vector approaches (COLR, SVG-in-OpenType) scale crisply and stay small. Bitmap approaches (sbix, CBDT) embed pixel images at set sizes — sharp at those sizes, but larger files. This is partly why the same emoji looks slightly different and scales differently across platforms.

Why emoji look different everywhere

Each vendor draws its own artwork in its own colour-font format, so 😂 from Apple, Google, Microsoft, Samsung and Twemoji all differ — same code point, different pictures. For consistent cross-platform visuals, projects like Twemoji ship the emoji as SVG images instead of relying on the system font.

Frequently asked questions

Why do emoji look different on iPhone vs Android?

Each vendor ships its own emoji artwork in its own colour-font format, so the same code point renders as different pictures.

How do fonts store color emoji?

Via colour-font formats: COLR/CPAL (layered vectors), sbix and CBDT (bitmaps), or SVG-in-OpenType (full SVG per glyph).