Skip to content

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.

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 (&copy;), decimal (&#169;), and hex (&#xA9;). 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.

CharNamedDecimalHexName
& &amp; &#38; &#x26; ampersand
< &lt; &#60; &#x3C; less than
> &gt; &#62; &#x3E; greater than
" &quot; &#34; &#x22; double quote
' &apos; &#39; &#x27; apostrophe
  &nbsp; &#160; &#xA0; non-breaking space
­ &shy; &#173; &#xAD; soft hyphen
​ &ZeroWidthSpace; &#8203; &#x200B; zero-width space
– &ndash; &#8211; &#x2013; en dash
— &mdash; &#8212; &#x2014; em dash
‘ &lsquo; &#8216; &#x2018; left single quote
’ &rsquo; &#8217; &#x2019; right single quote
“ &ldquo; &#8220; &#x201C; left double quote
” &rdquo; &#8221; &#x201D; right double quote
… &hellip; &#8230; &#x2026; ellipsis
· &middot; &#183; &#xB7; middle dot
&para; &#182; &#xB6; pilcrow / paragraph
§ &sect; &#167; &#xA7; section sign

Currency

CharNamedDecimalHexName
$ &dollar; &#36; &#x24; dollar sign
¢ &cent; &#162; &#xA2; cent sign
£ &pound; &#163; &#xA3; pound sign
¤ &curren; &#164; &#xA4; generic currency
¥ &yen; &#165; &#xA5; yen sign
€ &euro; &#8364; &#x20AC; euro sign
₩ &#8361; &#x20A9; won sign
₽ &#8381; &#x20BD; ruble sign
₹ &#8377; &#x20B9; rupee sign
₺ &#8378; &#x20BA; turkish lira
₿ &#8383; &#x20BF; bitcoin sign

Math Symbols

CharNamedDecimalHexName
± &plusmn; &#177; &#xB1; plus-or-minus
× &times; &#215; &#xD7; multiplication sign
÷ &divide; &#247; &#xF7; division sign
− &minus; &#8722; &#x2212; minus sign
≠ &ne; &#8800; &#x2260; not equal
≤ &le; &#8804; &#x2264; less than or equal
≥ &ge; &#8805; &#x2265; greater than or equal
≈ &asymp; &#8776; &#x2248; almost equal
∞ &infin; &#8734; &#x221E; infinity
√ &radic; &#8730; &#x221A; square root
¼ &frac14; &#188; &#xBC; one-quarter
½ &frac12; &#189; &#xBD; one-half
¾ &frac34; &#190; &#xBE; three-quarters
° &deg; &#176; &#xB0; degree sign
µ &micro; &#181; &#xB5; micro sign
‰ &permil; &#8240; &#x2030; per mille
∂ &part; &#8706; &#x2202; partial differential
∑ &sum; &#8721; &#x2211; n-ary summation
∏ &prod; &#8719; &#x220F; n-ary product

Greek Letters (lowercase)

CharNamedDecimalHexName
α &alpha; &#945; &#x3B1; alpha
β &beta; &#946; &#x3B2; beta
γ &gamma; &#947; &#x3B3; gamma
δ &delta; &#948; &#x3B4; delta
ε &epsilon; &#949; &#x3B5; epsilon
ζ &zeta; &#950; &#x3B6; zeta
η &eta; &#951; &#x3B7; eta
θ &theta; &#952; &#x3B8; theta
ι &iota; &#953; &#x3B9; iota
κ &kappa; &#954; &#x3BA; kappa
λ &lambda; &#955; &#x3BB; lambda
μ &mu; &#956; &#x3BC; mu
ν &nu; &#957; &#x3BD; nu
ξ &xi; &#958; &#x3BE; xi
ο &omicron; &#959; &#x3BF; omicron
π &pi; &#960; &#x3C0; pi
ρ &rho; &#961; &#x3C1; rho
σ &sigma; &#963; &#x3C3; sigma
τ &tau; &#964; &#x3C4; tau
υ &upsilon; &#965; &#x3C5; upsilon
φ &phi; &#966; &#x3C6; phi
χ &chi; &#967; &#x3C7; chi
ψ &psi; &#968; &#x3C8; psi
ω &omega; &#969; &#x3C9; omega

Greek Letters (uppercase)

CharNamedDecimalHexName
Α &Alpha; &#913; &#x391; Alpha
Β &Beta; &#914; &#x392; Beta
Γ &Gamma; &#915; &#x393; Gamma
Δ &Delta; &#916; &#x394; Delta
Ε &Epsilon; &#917; &#x395; Epsilon
Π &Pi; &#928; &#x3A0; Pi
Σ &Sigma; &#931; &#x3A3; Sigma
Φ &Phi; &#934; &#x3A6; Phi
Ψ &Psi; &#936; &#x3A8; Psi
Ω &Omega; &#937; &#x3A9; Omega

Arrows

CharNamedDecimalHexName
← &larr; &#8592; &#x2190; left arrow
↑ &uarr; &#8593; &#x2191; up arrow
→ &rarr; &#8594; &#x2192; right arrow
↓ &darr; &#8595; &#x2193; down arrow
↔ &harr; &#8596; &#x2194; left-right arrow
⇐ &lArr; &#8656; &#x21D0; left double arrow
⇒ &rArr; &#8658; &#x21D2; right double arrow
⇔ &hArr; &#8660; &#x21D4; left-right double
↵ &crarr; &#8629; &#x21B5; carriage return
↩ &larrhk; &#8617; &#x21A9; left-hook arrow
↪ &rarrhk; &#8618; &#x21AA; right-hook arrow

Common Symbols

CharNamedDecimalHexName
© &copy; &#169; &#xA9; copyright
® &reg; &#174; &#xAE; registered
™ &trade; &#8482; &#x2122; trademark
℠ &#8480; &#x2120; service mark
• &bull; &#8226; &#x2022; bullet
● &#9679; &#x25CF; black circle
◦ &#9702; &#x25E6; white bullet
★ &starf; &#9733; &#x2605; black star
☆ &star; &#9734; &#x2606; white star
♠ &spades; &#9824; &#x2660; spade suit
♣ &clubs; &#9827; &#x2663; club suit
♥ &hearts; &#9829; &#x2665; heart suit
♦ &diams; &#9830; &#x2666; diamond suit
✓ &check; &#10003; &#x2713; check mark
✗ &cross; &#10007; &#x2717; ballot X
☠ &#9760; &#x2620; 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

&amp;        ← named entity
&#38;        ← decimal numeric character reference
&#x26;       ← 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:

CharacterEntityWhy
&&amp;Starts an entity reference; ambiguous if literal
<&lt;Starts a tag
>&gt;Optional in ordinary text; often escaped consistently

In quoted attributes, also escape the quote that delimits that value:

CharacterEntityWhy
"&quot;Closes a double-quoted attribute
'&apos;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

EntityCharacterNotes
&nbsp; Non-breaking space (U+00A0)
&copy;©Copyright
&reg;®Registered trademark
&trade;™Trademark
&deg;°Degree
&plusmn;±Plus-minus
&times;×Multiplication
&divide;÷Division
&mdash;—Em dash
&ndash;–En dash
&hellip;…Ellipsis
&middot;·Middle dot
&laquo; &raquo;« »Angle quotes (French/European)
&ldquo; &rdquo;“ ”Curly double quotes
&lsquo; &rsquo;‘ ’Curly single quotes / apostrophe
&euro;€Euro
&pound;£Pound sterling
&yen;¥Yen
&cent;¢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

&alpha; α    &beta;  β    &gamma;  γ    &delta;  δ
&pi;    π    &sigma; σ    &theta;  θ    &lambda; λ
&infin; ∞    &asymp; ≈    &ne;     ≠    &le;     ≤    &ge; ≥
&sum;   ∑    &prod;  ∏    &int;    ∫    &part;   ∂
&isin;  ∈    &notin; ∉    &cup;    ∪    &cap;    ∩

The full set covers most of basic math notation. For complex math typesetting, MathML or KaTeX/MathJax are better choices.

Arrows

&larr; ←    &rarr; →    &uarr; ↑    &darr; ↓
&harr; ↔    &lArr; ⇐    &rArr; ⇒    &hArr; ⇔

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:

ContextRecommendation
Markup-sensitive charactersEscape for the text or attribute context above
Common typography (—, …, ', ")Literal — UTF-8 handles them
Math symbols, Greek lettersEither; entities are sometimes preferred for source-readability
EmojiLiteral, or numeric references for the required code points
Anything elseLiteral

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. &mdash; is clearer to a human than &#x2014;.
  • 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. &#x1F600; corresponds to Unicode’s “U+1F600 grinning face.”
  • Decimal numeric is equally valid; &#169; and &#xA9; both represent ©.

When in doubt: literal character if possible; named entity if encoding is needed and a name exists; hex numeric otherwise.

What about &apos;?

&apos; 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, &apos; is fine. If you’re producing HTML for a system that has to be HTML-4-compatible (rare), use &#39; instead — the numeric form has always been valid.

Common pitfalls

  • Forgetting the trailing ;. &amp (no semicolon) is sometimes accepted by lenient browsers but flagged by validators. Always include ;.
  • Using &nbsp; for layout. It’s a non-breaking space, not a hard space. Multiple &nbsp; for indentation is the wrong tool — use CSS padding or margin.
  • Confusing entity names with similar-looking ones. &apos; (apostrophe) vs &prime; (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. &lt;b&gt;hello&lt;/b&gt; 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.