Exclamation Question Mark

U+2049

About Exclamation Question Mark

Exclamation Question Mark is the Unicode character ⁉ at codepoint U+2049 in the General Punctuation block of the Basic Multilingual Plane (BMP).

Jump to developer notes ↓

Reference

An exclamation mark and a question mark in that order, packed into one cell for vertical East Asian text. Unicode files it as Po in General Punctuation with the compatibility decomposition 0021 003F, so NFKC and NFKD replace it with the two ordinary marks. It carries Terminal_Punctuation and Sentence_Terminal, line-break class NS. Unicode's emoji data lists it as Emoji and Extended_Pictographic — one of only two doubled marks in the block with any emoji property — but not as Emoji_Presentation, so the default rendering is text and the coloured form requires a following variation selector.

Typical uses

  • A doubled mark in one cell of vertical Japanese text
  • Emphatic punctuation in chat and messaging, where the coloured form is often supplied
  • Compatibility with legacy East Asian character sets

At a glance

  • U+2049, General Punctuation; Unicode 3.0 (1999); general category Po
  • Terminal_Punctuation and Sentence_Terminal; line break class NS
  • Emoji and Extended_Pictographic, but not Emoji_Presentation — text by default
  • No HTML named entity; no Windows-1252 slot; NFKC gives 0021 003F

Historical Notes

Origins

It was encoded for vertical setting alongside its neighbour, and the order of the two shapes is the only typographic difference between them.

Unicode

Unicode 3.0, released in 1999, in General Punctuation, immediately after the question exclamation mark. The chart entry carries nothing but the decomposition line. Everything that distinguishes this character from the one before it arrived later, in the emoji data rather than in the code chart.

What emoji status actually granted

The emoji property makes a coloured presentation available; it is Emoji_Presentation that would make it the default, and this character does not have it. So the standard's position is that this is punctuation which may be drawn as an emoji on request — U+FE0F is the request. Applications that show it in colour without one are making a choice of their own, which is worth knowing before relying on either appearance.

Developer Notes

Unicode Codepoint
Decimal
UTF-8 (hex)
UTF-16 (hex)
HEX Entity
HTML Entity
CSS (\xxxx)
JavaScript
Python

How to Use Exclamation Question Mark

To use the Exclamation Question Mark symbol (⁉) in HTML, insert the entity ⁉ directly into your markup. The decimal entity ⁉ works in any HTML-serialised document.

In CSS pseudo-elements use content: '\2049';. In JavaScript and TypeScript the escape '\u2049' evaluates to ⁉. In Python source, write '\u2049'.

The character encodes to E2 81 89 as UTF-8 bytes and 2049 as UTF-16 code units. Its decimal codepoint is 8265.

This is a text-based Unicode character. It will render in the current font on most platforms. If a font lacks this glyph, the browser may show a placeholder or fall back to a system font.

Things to know

  • Emoji but not Emoji_Presentation: the default is text, and the coloured form requires U+FE0F. Some applications add the selector or ignore the default; test rather than assume.
  • NFKC and NFKD decompose it into an ordinary exclamation mark followed by an ordinary question mark.
  • Line break class NS, so a line will not begin with it.
  • Terminal_Punctuation and Sentence_Terminal both apply.
  • No named HTML entity — write ⁉ or ⁉ — and no Windows-1252 slot.

In the Wild

On 5 August 2026 every occurrence was exposition: three on the Japanese Wikipedia article about punctuation, two on its article about the exclamation mark, and two on English Wikipedia's article about the interrobang, where it stands as an alternative to the fused mark.

Its non-emoji twin, the question exclamation mark, appeared six times on the same three pages. Between an emoji and a non-emoji version of the same doubled punctuation, the difference across those pages is one occurrence.

Worth stating plainly: messaging is where this character is most likely to be typed, and messaging is not published prose. Its scarcity on reference pages says nothing about how often it is used in a chat window. Pages change; this is what those showed on the day.

FAQ

Why does it sometimes appear in colour?

Because an application supplied an emoji presentation. Unicode's default for this character is text; the coloured form requires a variation selector.

How is it different from the question exclamation mark?

The order of the two shapes, and the emoji property. That one has none and always renders as text.

Is there an HTML entity?

No named one. Use ⁉ or ⁉.

Does normalisation preserve it?

Not under NFKC or NFKD, which replace it with an ordinary exclamation mark followed by an ordinary question mark.

Similar Symbols