HTML Entity for Exclamation Question Mark (⁉)

Beginner
5 min read
Updated: Sep 2026
1 example
Unicode U+2049

What Is Exclamation Question Mark?

Exclamation question mark (⁉) is the Unicode character at U+2049 in General Punctuation. Official name: EXCLAMATION QUESTION MARK. It combines an exclamation mark over a question mark in one glyph — not the same as typing !?.

Remember
Character     ⁉
Unicode       U+2049
Hex entity    ⁉
Decimal       ⁉
CSS escape    \2049
Named entity  (none)
Not the same  !? (two chars) · ‽ (interrobang) · ⁈ (question excl)

Prefer ⁉ or ⁉ in HTML (no named form). You can also type ⁉ in a UTF-8 document.

Quick Reference

One table for every form you will actually use.

FormCodeWhere it goes
Named entityNone—
Hex entity⁉HTML markup (preferred)
Decimal entity⁉HTML markup
Direct character⁉HTML text (UTF-8)
CSS escape\2049Stylesheet content

When to Use Which

SituationUse
Single !-over-? glyph⁉ or type ⁉
Ordinary emphasis or question! or ? separately
Interrobang (merged !?)Interrobang (‽)
?-over-! stackingQuestion exclamation mark (⁈)
Generated text via ::before / ::aftercontent: "\2049"

Live Preview

Exclamation question mark rendered alone, in a sample line, and compared with lookalikes.

Glyph ⁉
Large glyph ⁉
Sample Really⁉
Compared ⁉   !?   ‽   ⁈
With entities Hex: ⁉ | Decimal: ⁉

Complete HTML Example

One page that shows Exclamation question mark with hex, decimal, CSS escape, and a typed character. Use View Output or open the live editor.

Hex + Decimal + CSS + Typed

Four ways to display ⁉ in HTML and CSS.

html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Exclamation Question Mark (U+2049) in HTML</title>
  <style>
    #point::after {
      content: "\2049";
    }
  </style>
</head>
<body>
  <p>Built with Hex: &#x2049;</p>
  <p>Built with Decimal: &#8265;</p>
  <p id="point">Built with CSS: </p>
  <p>Typed: ⁉</p>
  <p>Compare: &#x2049; vs !? vs &#x203D;</p>
</body>
</html>
Try It Yourself

How It Works

1. Hex: &#x2049; inserts code point U+2049 → ⁉.

2. Decimal: same code point as 8265 → &#8265;. Same visual as hex.

3. CSS: use \2049 in content (not an HTML entity). #point::after appends ⁉.

4. Typed: paste ⁉ in a UTF-8 document, or compare with !? and interrobang &#x203D;.

Pitfalls & Tips

Common mistakes when working with Exclamation question mark.

Name

No named entity

There is no HTML5 named entity for U+2049. Use &#x2049; or &#8265;. Do not invent &exclquest;.

!?

Not two characters

Typing !? is two code points. U+2049 is a single stacked glyph with different metrics and meaning in fonts that support it.

‽

Not interrobang

U+203D (‽) merges ! and ? into one symbol differently from ⁉.

⁈

Not question-exclamation

U+2048 (⁈) stacks question over exclamation — the reverse order of U+2049.

CSS vs HTML

Do not mix escapes

\2049 belongs in CSS strings. &#x2049; / &#8265; belong in HTML.

Fonts

Punctuation coverage

Some fonts omit U+2049. Prefer a font with solid General Punctuation coverage when this glyph must be visible.

a11y

Add accessible text

Screen readers may not announce ⁉ clearly. Prefer nearby prose (for example “exclamation question mark”) when the symbol carries meaning.

Semicolon

End references

Always finish entities with ; — write &#x2049;, not &#x2049.

Browser Support

Exclamation question mark (U+2049) and its entity forms (&#x2049;, &#8265;, CSS \\2049) are supported in all mainstream browsers. Visible glyphs depend on General Punctuation font coverage.

✓ Universal support

Exclamation Question Mark (&#x2049;)

Encode with hex, decimal, CSS escape, or type the character — same code point everywhere encoding is supported.

100% Browser coverage
Google Chrome Supported
Yes
Microsoft Edge Supported
Yes
Mozilla Firefox Supported
Yes
Apple Safari Supported
Yes
Opera Supported
Yes
Internet Explorer All versions
Yes
U+2049 Full support

Bottom line: Prefer &#x2049; in HTML (no named form). Use &#8265; when decimal form is required, and \\2049 only inside CSS content.

Key Takeaways

  • Unicode: exclamation question mark is U+2049 (decimal 8265) — glyph ⁉.
  • HTML: no named entity — use &#x2049; / &#8265; / type ⁉.
  • CSS: use \2049 inside content for generated text.
  • Meaning: ⁉ ≠ !? ≠ interrobang ‽.

One line: U+2049 → &#x2049; / &#8265; / CSS \2049 (no named form).

Frequently Asked Questions

Use &#x2049; (hex), &#8265; (decimal), type ⁉ directly in UTF-8, or the CSS escape \2049 in content. There is no named HTML entity for U+2049.
U+2049 (EXCLAMATION QUESTION MARK). Hex 2049, decimal 8265. It belongs to the General Punctuation block (U+2000–U+206F).
No. HTML5 does not define a named entity for U+2049. Prefer &#x2049; or &#8265;.
Use it for a single glyph that combines exclamation over question. Prefer separate ! and ? for ordinary punctuation, interrobang (U+203D) for ‽, and question exclamation mark (U+2048) for the reverse stacking.
HTML numeric entities (&#8265; or &#x2049;) go in markup. The CSS escape \2049 goes in stylesheet strings (usually content on ::before/::after).
No. U+2049 is ⁉ (exclamation question mark). U+203D is ‽ (interrobang). Typing !? is two characters, not U+2049.

Did you know?

Exclamation question mark is Unicode U+2049 (decimal 8265) — glyph ⁉ (EXCLAMATION QUESTION MARK) in General Punctuation. There is no HTML5 named entity; use &#x2049; or &#8265;. It stacks ! and ? in one glyph. Related: interrobang (‽) and question exclamation mark (⁈).

Next: Exists

Learn the HTML entity for exists (U+2203).

Exists tutorial →

About the author

Mari Selvan M P
Mari Selvan M P 🔗

Developer, cloud engineer, and technical writer

  • Experience 12 years building web and cloud systems
  • Focus Full Stack Development, AWS, and Developer Education

I write practical tutorials so students and working developers can learn by doing—from databases and APIs to deployment on AWS.

8 people found this page helpful