HTML Special Characters Cheat Sheet — Every Entity Code, Symbol & Arrow in One Place
Last updated: April 202610 min readEncode & Decode Tools
HTML special characters are characters that must be encoded as entities to display correctly in web pages. An ampersand becomes &, a less-than becomes <, and a heart becomes ♥ or ♥. This cheat sheet covers every entity you will actually use — organized by category with copy-paste codes.
If you have ever seen & or < in HTML source code and wondered what they mean, this is the complete reference. Every essential entity, its name, numeric code, and the rendered symbol.
The 5 Must-Escape Characters
These characters must always be encoded in HTML. Skipping even one can break your page or create security vulnerabilities:
| Character | Entity Name | Numeric Code | Why It Must Be Escaped |
|---|
| & | & | & | Starts entity references. Raw & confuses the HTML parser. |
| < | < | < | Opens HTML tags. Raw < makes the parser think a tag is starting. |
| > | > | > | Closes HTML tags. Should be escaped for consistency and XSS prevention. |
| " | " | " | Closes attribute values. Must escape inside double-quoted attributes. |
| \' | ' or ' | ' | Closes attribute values. Must escape inside single-quoted attributes. |
Spacing & Invisible Characters
| Symbol | Entity Name | Numeric Code | Description |
|---|
| (non-breaking space) | |   | Prevents line break; keeps words together |
| (en space) |   |   | Width of letter "n" |
| (em space) |   |   | Width of letter "M" |
| (thin space) |   |   | Narrow space, used around dashes |
| (zero-width space) | — | ​ | Invisible break opportunity |
| (soft hyphen) | ­ | ­ | Invisible unless line breaks there |
Arrows
| Symbol | Entity Name | Numeric Code | Description |
|---|
| \u2190 | ← | ← | Left arrow |
| \u2191 | ↑ | ↑ | Up arrow |
| \u2192 | → | → | Right arrow |
| \u2193 | ↓ | ↓ | Down arrow |
| \u2194 | ↔ | ↔ | Left-right arrow |
| \u21D0 | ⇐ | ⇐ | Double left arrow |
| \u21D2 | ⇒ | ⇒ | Double right arrow (implies) |
| \u21D4 | ⇔ | ⇔ | Double left-right arrow |
| \u25B2 | — | ▲ | Up triangle / caret |
| \u25BC | — | ▼ | Down triangle / caret |
| \u25C0 | — | ◀ | Left triangle |
| \u25B6 | — | ▶ | Right triangle / play button |
Checkmarks, Stars & Hearts
| Symbol | Entity Name | Numeric Code | Description |
|---|
| \u2713 | — | ✓ | Check mark |
| \u2714 | — | ✔ | Heavy check mark |
| \u2717 | — | ✗ | Ballot X / cross mark |
| \u2718 | — | ✘ | Heavy ballot X |
| \u2665 | ♥ | ♥ | Black heart |
| \u2764 | — | ❤ | Heavy red heart |
| \u2605 | — | ★ | Black star (filled) |
| \u2606 | — | ☆ | White star (outline) |
| \u2022 | • | • | Bullet point |
| \u25CF | — | ● | Black circle |
| \u25CB | — | ○ | White circle |
Currency Symbols
| Symbol | Entity Name | Numeric Code | Description |
|---|
| $ | — | $ | Dollar sign |
| \u20AC | € | € | Euro sign |
| \u00A3 | £ | £ | British pound |
| \u00A5 | ¥ | ¥ | Japanese yen / Chinese yuan |
| \u00A2 | ¢ | ¢ | Cent sign |
| \u20B9 | — | ₹ | Indian rupee |
| \u20A9 | — | ₩ | Korean won |
| \u20BF | — | ₿ | Bitcoin symbol |
Math & Technical Symbols
| Symbol | Entity Name | Numeric Code | Description |
|---|
| \u00D7 | × | × | Multiplication sign |
| \u00F7 | ÷ | ÷ | Division sign |
| \u00B1 | ± | ± | Plus-minus sign |
| \u2260 | ≠ | ≠ | Not equal to |
| \u2264 | ≤ | ≤ | Less than or equal to |
| \u2265 | ≥ | ≥ | Greater than or equal to |
| \u221A | √ | √ | Square root |
| \u221E | ∞ | ∞ | Infinity |
| \u00B0 | ° | ° | Degree symbol |
| \u00B2 | ² | ² | Superscript 2 (squared) |
| \u00B3 | ³ | ³ | Superscript 3 (cubed) |
| \u00BC | ¼ | ¼ | One quarter |
| \u00BD | ½ | ½ | One half |
| \u00BE | ¾ | ¾ | Three quarters |
Legal & Trademark Symbols
| Symbol | Entity Name | Numeric Code | Description |
|---|
| \u00A9 | © | © | Copyright |
| \u00AE | ® | ® | Registered trademark |
| \u2122 | ™ | ™ | Trademark |
| \u00A7 | § | § | Section sign |
| \u00B6 | ¶ | ¶ | Pilcrow / paragraph sign |
| \u2020 | † | † | Dagger (footnote) |
| \u2021 | ‡ | ‡ | Double dagger |
Punctuation & Typography
| Symbol | Entity Name | Numeric Code | Description |
|---|
| \u2014 | — | — | Em dash — long dash |
| \u2013 | – | – | En dash \u2013 medium dash |
| \u2026 | … | … | Horizontal ellipsis |
| \u201C | “ | “ | Left double quotation mark |
| \u201D | ” | ” | Right double quotation mark |
| \u2018 | ‘ | ‘ | Left single quotation mark |
| \u2019 | ’ | ’ | Right single quotation mark / apostrophe |
| \u00AB | « | « | Left double angle quote |
| \u00BB | » | » | Right double angle quote |
| \u00B7 | · | · | Middle dot / interpunct |
When to Use Entity Names vs Numeric Codes
- Entity names (
♥) — easier to read in source code, self-documenting, but not available for every character. Only about 250 named entities exist.
- Numeric codes (
♥) — work for any Unicode character (over 140,000 characters). Necessary for emoji, rare symbols, and characters without named entities.
- Hex codes (
♥) — same as numeric but using hexadecimal. Useful if you already know the Unicode hex code point.
Practical rule: Use named entities for the common 5 (& < > " ') and for well-known symbols (♥ © —). Use numeric codes for everything else.
Pair These Tools Together
Honest Limitations
This cheat sheet covers the most commonly used HTML entities. The full HTML5 specification defines over 2,000 named character references, and Unicode has over 140,000 characters. For obscure mathematical notation, ancient scripts, or specialized technical symbols, check the full Unicode character table. For emoji, modern browsers support them directly in UTF-8 encoded HTML files without entity encoding — though entity codes work as a fallback.