HTML Entities Reference
HTML entity reference — named, decimal, and hex codes for special characters, currency, math symbols, Greek letters, arrows, and more.
Named, decimal, and hex codes for the HTML entities you actually need — special characters, currency, math, Greek letters, and arrows.
No matches.
HTML entities let you encode characters that are reserved in HTML (like < and &) or simply hard to type. Three forms work in every browser: named (©), decimal (©), and hex (©). Numeric references represent characters without a named form; invalid values have HTML error-recovery behavior, so they do not cover every code point literally; named entities cover only a curated set. Use the HTML Encoder to convert text to entities.
Reserved & Quotes
Characters with special meaning in HTML or that need encoding to display literally.
| Char | Named | Decimal | Hex | Name |
|---|---|---|---|---|
| & | & | & | & | ampersand |
| < | < | < | < | less than |
| > | > | > | > | greater than |
| " | " | " | " | double quote |
| ' | ' | ' | ' | apostrophe |
|   |   | non-breaking space | |
| | ­ | ­ | ­ | soft hyphen |
| | ​ | ​ | ​ | zero-width space |
| – | – | – | – | en dash |
| — | — | — | — | em dash |
| ‘ | ‘ | ‘ | ‘ | left single quote |
| ’ | ’ | ’ | ’ | right single quote |
| “ | “ | “ | “ | left double quote |
| ” | ” | ” | ” | right double quote |
| … | … | … | … | ellipsis |
| · | · | · | · | middle dot |
| ¶ | ¶ | ¶ | ¶ | pilcrow / paragraph |
| § | § | § | § | section sign |
Currency
| Char | Named | Decimal | Hex | Name |
|---|---|---|---|---|
| $ | $ | $ | $ | dollar sign |
| ¢ | ¢ | ¢ | ¢ | cent sign |
| £ | £ | £ | £ | pound sign |
| ¤ | ¤ | ¤ | ¤ | generic currency |
| ¥ | ¥ | ¥ | ¥ | yen sign |
| € | € | € | € | euro sign |
| ₩ | | ₩ | ₩ | won sign |
| ₽ | | ₽ | ₽ | ruble sign |
| ₹ | | ₹ | ₹ | rupee sign |
| ₺ | | ₺ | ₺ | turkish lira |
| ₿ | | ₿ | ₿ | bitcoin sign |
Math Symbols
| Char | Named | Decimal | Hex | Name |
|---|---|---|---|---|
| ± | ± | ± | ± | plus-or-minus |
| × | × | × | × | multiplication sign |
| ÷ | ÷ | ÷ | ÷ | division sign |
| − | − | − | − | minus sign |
| ≠ | ≠ | ≠ | ≠ | not equal |
| ≤ | ≤ | ≤ | ≤ | less than or equal |
| ≥ | ≥ | ≥ | ≥ | greater than or equal |
| ≈ | ≈ | ≈ | ≈ | almost equal |
| ∞ | ∞ | ∞ | ∞ | infinity |
| √ | √ | √ | √ | square root |
| ¼ | ¼ | ¼ | ¼ | one-quarter |
| ½ | ½ | ½ | ½ | one-half |
| ¾ | ¾ | ¾ | ¾ | three-quarters |
| ° | ° | ° | ° | degree sign |
| µ | µ | µ | µ | micro sign |
| ‰ | ‰ | ‰ | ‰ | per mille |
| ∂ | ∂ | ∂ | ∂ | partial differential |
| ∑ | ∑ | ∑ | ∑ | n-ary summation |
| ∏ | ∏ | ∏ | ∏ | n-ary product |
Greek Letters (lowercase)
| Char | Named | Decimal | Hex | Name |
|---|---|---|---|---|
| α | α | α | α | alpha |
| β | β | β | β | beta |
| γ | γ | γ | γ | gamma |
| δ | δ | δ | δ | delta |
| ε | ε | ε | ε | epsilon |
| ζ | ζ | ζ | ζ | zeta |
| η | η | η | η | eta |
| θ | θ | θ | θ | theta |
| ι | ι | ι | ι | iota |
| κ | κ | κ | κ | kappa |
| λ | λ | λ | λ | lambda |
| μ | μ | μ | μ | mu |
| ν | ν | ν | ν | nu |
| ξ | ξ | ξ | ξ | xi |
| ο | ο | ο | ο | omicron |
| π | π | π | π | pi |
| ρ | ρ | ρ | ρ | rho |
| σ | σ | σ | σ | sigma |
| τ | τ | τ | τ | tau |
| υ | υ | υ | υ | upsilon |
| φ | φ | φ | φ | phi |
| χ | χ | χ | χ | chi |
| ψ | ψ | ψ | ψ | psi |
| ω | ω | ω | ω | omega |
Greek Letters (uppercase)
| Char | Named | Decimal | Hex | Name |
|---|---|---|---|---|
| Α | Α | Α | Α | Alpha |
| Β | Β | Β | Β | Beta |
| Γ | Γ | Γ | Γ | Gamma |
| Δ | Δ | Δ | Δ | Delta |
| Ε | Ε | Ε | Ε | Epsilon |
| Π | Π | Π | Π | Pi |
| Σ | Σ | Σ | Σ | Sigma |
| Φ | Φ | Φ | Φ | Phi |
| Ψ | Ψ | Ψ | Ψ | Psi |
| Ω | Ω | Ω | Ω | Omega |
Arrows
| Char | Named | Decimal | Hex | Name |
|---|---|---|---|---|
| ← | ← | ← | ← | left arrow |
| ↑ | ↑ | ↑ | ↑ | up arrow |
| → | → | → | → | right arrow |
| ↓ | ↓ | ↓ | ↓ | down arrow |
| ↔ | ↔ | ↔ | ↔ | left-right arrow |
| ⇐ | ⇐ | ⇐ | ⇐ | left double arrow |
| ⇒ | ⇒ | ⇒ | ⇒ | right double arrow |
| ⇔ | ⇔ | ⇔ | ⇔ | left-right double |
| ↵ | ↵ | ↵ | ↵ | carriage return |
| ↩ | ↩ | ↩ | ↩ | left-hook arrow |
| ↪ | ↪ | ↪ | ↪ | right-hook arrow |
Common Symbols
| Char | Named | Decimal | Hex | Name |
|---|---|---|---|---|
| © | © | © | © | copyright |
| ® | ® | ® | ® | registered |
| ™ | ™ | ™ | ™ | trademark |
| ℠ | | ℠ | ℠ | service mark |
| • | • | • | • | bullet |
| ● | | ● | ● | black circle |
| ◦ | | ◦ | ◦ | white bullet |
| ★ | ★ | ★ | ★ | black star |
| ☆ | ☆ | ☆ | ☆ | white star |
| ♠ | ♠ | ♠ | ♠ | spade suit |
| ♣ | ♣ | ♣ | ♣ | club suit |
| ♥ | ♥ | ♥ | ♥ | heart suit |
| ♦ | ♦ | ♦ | ♦ | diamond suit |
| ✓ | ✓ | ✓ | ✓ | check mark |
| ✗ | ✗ | ✗ | ✗ | ballot X |
| ☠ | | ☠ | ☠ | skull & crossbones |
An HTML entity is a way to write a character in HTML using a named or numeric reference instead of the literal character. The reference table above lists the common ones; this page explains the categories and when each is appropriate.
The structure
& ← named entity
& ← decimal numeric character reference
& ← hex numeric character reference
All three decode to &. They start with &, end with ;, and have a name or #-prefixed number in between.
Which characters need escaping in this context?
For ordinary HTML text, escape & and < when inserting arbitrary text. Encoding > is allowed but is not normally required:
| Character | Entity | Why |
|---|---|---|
& | & | Starts an entity reference; ambiguous if literal |
< | < | Starts a tag |
> | > | Optional in ordinary text; often escaped consistently |
In quoted attributes, also escape the quote that delimits that value:
| Character | Entity | Why |
|---|---|---|
" | " | Closes a double-quoted attribute |
' | ' | Closes a single-quoted attribute |
A double-quoted attribute can contain a literal apostrophe; a single-quoted one can contain a literal double quote. Prefer quoted attributes. These rules do not make an untrusted URL or JavaScript string safe: use the encoding and validation for the destination context.
Common useful named entities
| Entity | Character | Notes |
|---|---|---|
| | Non-breaking space (U+00A0) |
© | © | Copyright |
® | ® | Registered trademark |
™ | ™ | Trademark |
° | ° | Degree |
± | ± | Plus-minus |
× | × | Multiplication |
÷ | ÷ | Division |
— | — | Em dash |
– | – | En dash |
… | … | Ellipsis |
· | · | Middle dot |
« » | « » | Angle quotes (French/European) |
“ ” | “ ” | Curly double quotes |
‘ ’ | ‘ ’ | Curly single quotes / apostrophe |
€ | € | Euro |
£ | £ | Pound sterling |
¥ | ¥ | Yen |
¢ | ¢ | Cent |
Many of these aren’t strictly necessary in modern UTF-8 HTML — you can put © literally and it works. The named forms are conveniences for keyboards that can’t easily type the character.
Math and Greek
α α β β γ γ δ δ
π π σ σ θ θ λ λ
∞ ∞ ≈ ≈ ≠ ≠ ≤ ≤ ≥ ≥
∑ ∑ ∏ ∏ ∫ ∫ ∂ ∂
∈ ∈ ∉ ∉ ∪ ∪ ∩ ∩
The full set covers most of basic math notation. For complex math typesetting, MathML or KaTeX/MathJax are better choices.
Arrows
← ← → → ↑ ↑ ↓ ↓
↔ ↔ ⇐ ⇐ ⇒ ⇒ ⇔ ⇔
Note the case difference: lowercase larr is single-stroke; uppercase lArr is double-stroke.
When to use entities vs literal characters
In a UTF-8 HTML document:
| Context | Recommendation |
|---|---|
| Markup-sensitive characters | Escape for the text or attribute context above |
Common typography (—, …, ', ") | Literal — UTF-8 handles them |
| Math symbols, Greek letters | Either; entities are sometimes preferred for source-readability |
| Emoji | Literal, or numeric references for the required code points |
| Anything else | Literal |
The historical reason for entities — handling characters that an ASCII source file couldn’t include — is mostly gone. Source files are UTF-8; characters can be literal.
Numeric vs named: when each is right
- Named is more readable in source.
—is clearer to a human than—. - Numeric represents many characters without named references; a literal UTF-8 character is another option. Invalid values such as zero or surrogate code points do not produce those characters: HTML parsing applies error-recovery rules.
- Hex numeric matches Unicode documentation conventions.
😀corresponds to Unicode’s “U+1F600 grinning face.” - Decimal numeric is equally valid;
©and©both represent ©.
When in doubt: literal character if possible; named entity if encoding is needed and a name exists; hex numeric otherwise.
What about '?
' was not in HTML 4. It’s part of XHTML and HTML 5. Old HTML 4 parsers rejected it; everything modern accepts it.
If you’re hand-writing HTML for a 2026-era site, ' is fine. If you’re producing HTML for a system that has to be HTML-4-compatible (rare), use ' instead — the numeric form has always been valid.
Common pitfalls
- Forgetting the trailing
;.&(no semicolon) is sometimes accepted by lenient browsers but flagged by validators. Always include;. - Using
for layout. It’s a non-breaking space, not a hard space. Multiple for indentation is the wrong tool — use CSS padding or margin. - Confusing entity names with similar-looking ones.
'(apostrophe) vs′(prime mark) — different characters, different uses. - Assuming entities work everywhere. HTML character-reference parsing applies to text and attribute-value contexts, not script/style source, JSON, or ordinary plain text. XML has its own entity rules; do not assume the full HTML named set is available.
- Confusing entities with HTML. Entities are character references, not markup.
<b>hello</b>displays as the literal text<b>hello</b>, not as bold text.
For encoding/decoding directions, see HTML encode and HTML decode. For ASCII-specific lookups, ASCII table.
Sources and scope
Checked September 27, 2026: WHATWG HTML syntax and OWASP output-encoding contexts. The table is a character lookup, not an HTML sanitizer.