An HTML entity is a short code that represents a character which is either reserved by HTML, hard to type on a keyboard, or invisible. Instead of writing the raw character, you write its entity and the browser renders the symbol. This reference lists the entities you actually reach for, grouped by category, with all three notations side by side.
Every entity has up to three forms:
- Named — a human-readable code like
©. Easy to remember, but only defined for a known set of characters. - Decimal — a numeric code like
©, where the number is the Unicode code point in base 10. - Hexadecimal — the same code point in base 16, like
©. Thexis what signals hex.
All three render identically. Named entities read better in source; numeric entities always work, even for characters that have no name. When in doubt, paste any of them into the HTML entity encoder and decoder to see the character instantly.
Reserved Characters (must always be encoded)
These five characters have structural meaning in HTML. If you want them to appear as literal text — not be parsed as markup — you must encode them. This is also the front line of XSS prevention.
| Char | Named | Decimal | Hex | Name |
|---|---|---|---|---|
& |
& |
& |
& |
Ampersand |
< |
< |
< |
< |
Less-than sign |
> |
> |
> |
> |
Greater-than sign |
" |
" |
" |
" |
Double quotation mark |
' |
' |
' |
' |
Apostrophe |
A note on ': it is valid in HTML5 but was not defined in HTML4. For maximum compatibility in attribute values, the numeric ' is the safer choice. The ampersand is the most important of the five — see the dedicated section on encoding & for why getting it wrong leads to double-encoding bugs.
Spaces and Invisible Characters
| Char | Named | Decimal | Hex | Name |
|---|---|---|---|---|
| (space) | |
  |
  |
Non-breaking space |
| (space) |   |
  |
  |
En space |
| (space) |   |
  |
  |
Em space |
| (space) |   |
  |
  |
Thin space |
| (none) | ‌ |
‌ |
‌ |
Zero-width non-joiner |
| (none) | ‍ |
‍ |
‍ |
Zero-width joiner |
|
­ |
­ |
­ |
Soft hyphen |
The non-breaking space is by far the most-used entity here. It renders as a space but stops the browser from wrapping or collapsing at that point. We cover it in depth in What Is ?.
Punctuation and Quotation Marks
| Char | Named | Decimal | Hex | Name |
|---|---|---|---|---|
– |
– |
– |
– |
En dash |
— |
— |
— |
— |
Em dash |
… |
… |
… |
… |
Horizontal ellipsis |
‘ |
‘ |
‘ |
‘ |
Left single quote |
’ |
’ |
’ |
’ |
Right single quote |
“ |
“ |
“ |
“ |
Left double quote |
” |
” |
” |
” |
Right double quote |
« |
« |
« |
« |
Left angle quote |
» |
» |
» |
» |
Right angle quote |
· |
· |
· |
· |
Middle dot |
• |
• |
• |
• |
Bullet |
† |
† |
† |
† |
Dagger |
§ |
§ |
§ |
§ |
Section sign |
¶ |
¶ |
¶ |
¶ |
Pilcrow (paragraph) sign |
¡ |
¡ |
¡ |
¡ |
Inverted exclamation mark |
¿ |
¿ |
¿ |
¿ |
Inverted question mark |
"Smart" quotes (‘ … ”) are where most copy-paste-from-Word problems start. When a CMS converts straight quotes to curly ones and then double-encodes them, you get the classic garbled output covered in How to Fix Double-Encoded HTML Entities.
Currency Symbols
| Char | Named | Decimal | Hex | Name |
|---|---|---|---|---|
$ |
(none) | $ |
$ |
Dollar sign |
¢ |
¢ |
¢ |
¢ |
Cent sign |
£ |
£ |
£ |
£ |
Pound sterling |
¤ |
¤ |
¤ |
¤ |
Generic currency sign |
¥ |
¥ |
¥ |
¥ |
Yen / Yuan sign |
€ |
€ |
€ |
€ |
Euro sign |
₹ |
(none) | ₹ |
₹ |
Indian rupee sign |
₽ |
(none) | ₽ |
₽ |
Russian ruble sign |
The dollar sign has no named entity because it was never a reserved character — you can type $ directly. The same is true for most ASCII punctuation.
Mathematical Symbols
| Char | Named | Decimal | Hex | Name |
|---|---|---|---|---|
× |
× |
× |
× |
Multiplication sign |
÷ |
÷ |
÷ |
÷ |
Division sign |
± |
± |
± |
± |
Plus-minus sign |
− |
− |
− |
− |
Minus sign (true) |
≈ |
≈ |
≈ |
≈ |
Almost equal to |
≠ |
≠ |
≠ |
≠ |
Not equal to |
≤ |
≤ |
≤ |
≤ |
Less-than or equal to |
≥ |
≥ |
≥ |
≥ |
Greater-than or equal to |
∞ |
∞ |
∞ |
∞ |
Infinity |
∑ |
∑ |
∑ |
∑ |
N-ary summation |
√ |
√ |
√ |
√ |
Square root |
∫ |
∫ |
∫ |
∫ |
Integral |
° |
° |
° |
° |
Degree sign |
½ |
½ |
½ |
½ |
Fraction one half |
¼ |
¼ |
¼ |
¼ |
Fraction one quarter |
¾ |
¾ |
¾ |
¾ |
Fraction three quarters |
The true minus sign − (U+2212) is wider and visually centered compared to the ASCII hyphen-minus -. For prose it usually does not matter; for typeset math it does.
Arrows
| Char | Named | Decimal | Hex | Name |
|---|---|---|---|---|
← |
← |
← |
← |
Leftward arrow |
↑ |
↑ |
↑ |
↑ |
Upward arrow |
→ |
→ |
→ |
→ |
Rightward arrow |
↓ |
↓ |
↓ |
↓ |
Downward arrow |
↔ |
↔ |
↔ |
↔ |
Left-right arrow |
⇐ |
⇐ |
⇐ |
⇐ |
Leftward double arrow |
⇒ |
⇒ |
⇒ |
⇒ |
Rightward double arrow |
⇔ |
⇔ |
⇔ |
⇔ |
Left-right double arrow |
Entity names are case-sensitive: ← is a single arrow, ⇐ is a double arrow. Get the casing wrong and the entity either renders the wrong glyph or fails to parse.
Greek Letters
| Char | Named | Decimal | Hex | Name |
|---|---|---|---|---|
α |
α |
α |
α |
Small alpha |
β |
β |
β |
β |
Small beta |
γ |
γ |
γ |
γ |
Small gamma |
δ |
δ |
δ |
δ |
Small delta |
π |
π |
π |
π |
Small pi |
σ |
σ |
σ |
σ |
Small sigma |
φ |
φ |
φ |
φ |
Small phi |
ω |
ω |
ω |
ω |
Small omega |
Δ |
Δ |
Δ |
Δ |
Capital delta |
Σ |
Σ |
Σ |
Σ |
Capital sigma |
Ω |
Ω |
Ω |
Ω |
Capital omega |
Capital and lowercase Greek letters are separate entities (Π vs π). The full alphabet is available; the table above shows the letters that come up most in equations and scientific notation.
Common Symbols
| Char | Named | Decimal | Hex | Name |
|---|---|---|---|---|
© |
© |
© |
© |
Copyright sign |
® |
® |
® |
® |
Registered trademark |
™ |
™ |
™ |
™ |
Trademark sign |
° |
° |
° |
° |
Degree sign |
µ |
µ |
µ |
µ |
Micro sign |
¬ |
¬ |
¬ |
¬ |
Not sign |
★ |
(none) | ★ |
★ |
Black star |
☆ |
(none) | ☆ |
☆ |
White star |
♥ |
♥ |
♥ |
♥ |
Heart suit |
♦ |
♦ |
♦ |
♦ |
Diamond suit |
✓ |
(none) | ✓ |
✓ |
Check mark |
✗ |
(none) | ✗ |
✗ |
Ballot X |
Note that ©, ®, and ™ can be typed directly in a UTF-8 document. Encoding them as entities is a portability habit from the days when files were often saved in legacy single-byte encodings, where the raw bytes could be misread.
Named vs. Numeric: Which Should You Use?
For day-to-day HTML, prefer named entities for the reserved five (& < > " ') because they are self-documenting, and type every other character directly in your UTF-8 file. Reach for numeric entities only when:
- The character has no named entity (e.g. the rupee sign, a check mark).
- You are generating output for a context where the source encoding is uncertain.
- You are escaping control or invisible characters that would otherwise be impossible to see in source.
One rule never changes: inside an HTML document, an unescaped & is always a bug waiting to happen, because the parser will try to read whatever follows it as an entity.
FAQ
How many HTML entities are there?
The HTML5 specification defines over 2,000 named character references, many of which are aliases (with and without the trailing semicolon, or different spellings for the same glyph). In practice, fewer than 100 come up in everyday work, which is why this list focuses on the ones you will actually use rather than dumping the entire spec.
Do HTML entities need a semicolon?
You should always include it. A handful of legacy named entities like & and © render without a semicolon for backwards compatibility, but this behavior is inconsistent and can swallow following text. Numeric entities such as © strictly require the semicolon. Make © your habit, never ©.
What is the difference between decimal and hex entities?
Nothing, except the number base. © (decimal) and © (hex) both point to Unicode code point 169, the copyright sign. The x after &# is what tells the browser to read the digits as hexadecimal. Use whichever matches the source you are copying from.
Why does my entity show as literal text instead of a symbol?
Either the entity is malformed (a missing semicolon, a typo, wrong letter casing) or the surrounding text has been double-encoded, so the leading & was itself turned into &. The decoder on the home page will show you exactly which it is. For the double-encoding case, see How to Fix Double-Encoded HTML Entities.
Can I use entities in CSS or JavaScript?
Not the HTML form. CSS uses its own escape syntax (\00A9 for the copyright sign in a content property), and JavaScript strings use ©. HTML entities like © only work in HTML text and attribute values. To convert between these notations, paste your text into the encoder/decoder tool.
Is ' safe to use?
In HTML5, yes. In older HTML4 documents and in some XML-to-HTML pipelines it was not defined, so it could render literally. If you need to escape a single quote in an attribute and want zero risk, use the numeric ' instead, which is universally supported.