Why Emoji Don't Display — Boxes, Question Marks and Flags on Windows · Trace Logo's
5 min read 4

Why Emoji Don't Display — Boxes, Question Marks and Flags on Windows

Someone sends you a message and it contains a box □. Or a diamond with a question mark �. Or plain letters RU where a country flag should be. The sender is sure they sent a nice emoji, you see junk, and neither of you knows what broke. Relax: nothing broke — that's how the emoji system works. Let's diagnose every kind of garbage character, its cause and its cure.

TL;DR

A box □ means your device doesn't know that character — usually the emoji is newer than your system. The cure is updating the OS or the app. Country flags shown as letters (RU, US) are a special case: Windows deliberately doesn't draw flag emoji, and no setting fixes it. � means the character got corrupted in transit by an encoding error.

How an emoji reaches your screen

The quick mechanics (full story in why emoji look different everywhere): an emoji is a Unicode character code, and the picture is drawn by your system's font (Apple Color Emoji, Segoe UI Emoji, Noto). The consequence: if the font has no artwork for an incoming code, there's nothing to show — the system draws a placeholder. The placeholder's look is your diagnosis.

The box □: the system doesn't know the character

Diagnosis. An emoji from a fresh standard release arrived, and your OS predates it. New emoji ship every year (Unicode updates in the fall; platforms roll out artwork over the following year), so the newest symbols reliably turn into boxes for everyone who hasn't updated.

Treatment:

  1. Update the system — new emoji sets arrive with iOS, Android, Windows and macOS updates. The only real cure.
  2. Update the app. Some messengers (Telegram, WhatsApp) draw emoji with their own sets and show new ones even on old systems.
  3. Device no longer updates? Then honestly — no fix: without artwork in the font, the character can't render. You can at least see what the mystery emoji looks like in a web catalog — for example, ours.

For senders the rule inverts: want to be understood by everyone — avoid first‑year emoji in newsletters and important messages. Covered in emoji in marketing.

The diamond �: corrupted in transit

Diagnosis. � is the special "replacement character": bytes got mangled — somewhere the text was re‑encoded incorrectly. Classic crime scenes: exports from legacy systems, emails with wrong encodings, copy‑paste chains across programs, databases without four‑byte support (old MySQL's utf8 instead of utf8mb4 — the famous trap that ate millions of emoji).

Treatment. On the receiving end — none: the information is gone; ask for a resend. If the � is born in your own system (site, database, export) — fix the encoding: UTF-8 everywhere, utf8mb4 in MySQL.

Flags as letters: RU instead of a flag

The most curious case. A country flag in Unicode is not a single character but a pair of indicator letters: RU = R + U, and the font itself fuses the pair into flag artwork. And here's the thing: Windows is the only major platform that deliberately doesn't draw country flags — Microsoft never added them to Segoe UI Emoji, so you see the letters. It's a conscious decision (flag geopolitics is a minefield, and Microsoft chose not to answer such questions with a font), not a malfunction.

Treatment:

  • In browsers — extensions that substitute web emoji sets (e.g. Twemoji) partially help.
  • Telegram Desktop and some apps show flags — they render emoji with their own sets, bypassing the system font.
  • System‑wide — no fix: it's platform policy; don't wait for it to change.

A black‑and‑white outline instead of color

Diagnosis. The character exists in two presentations: text (monochrome outline) and emoji (color artwork) — and the app picked text. Word and some editors behave this way: ☺ instead of 😊.

Treatment. Usually unnecessary: on recipients' phones it renders in color. To force color, an invisible "emoji presentation selector" (VS16) follows the character — catalogs and emoji panels usually insert symbols with it already attached.

The diagnosis table

What you seeCauseFix
□ boxemoji newer than your OSupdate OS/app
� replacement diamondencoding corrupted in transitresend; fix UTF-8
RU, US as lettersWindows doesn't draw flagsbrowser extension / acceptance
☺ monochrome outlinetext presentation of the symbolusually none needed
empty gapan invisible control character (ZWJ etc.)it's a service character, all is well

Checking a specific emoji

  1. Open the emoji catalog and find the symbol — you'll see how it should look (Apple and Google styles), its name and when it was introduced.
  2. Compare with your system. A box means your OS's age is the issue.
  3. For newsletters and interfaces, keep the two‑platform rule: check the emoji on at least iPhone and Android before sending.

In short

A box — update; the question diamond — the character died in encoding, ask for a resend; flags on Windows — not a bug but Microsoft's standing policy. An emoji is a code each system draws with its own font: when the artwork is missing, you get a placeholder.

Check any emoji — its look, name and who will see it — in our emoji catalog: Apple and Google artwork side by side, one‑click copy.

Logo and emoji library Download SVG/PNG free and export to Figma
Open catalog