HTML Character Reference

Typing © and wondering if it actually renders the © glyph, or looking for the entity for the en dash, a non-breaking space, or a Greek letter, wastes minutes every time. This searchable reference lists every HTML named and numeric entity defined by the WHATWG HTML standard, with instant search and one-tap copy.

How to find an HTML entity

  1. 1

    Search by name or character

    Type `copy`, `©`, `8212`, or `em dash`: all match the same entity.

  2. 2

    Pick from the grid

    Each entity shows its named form, decimal code and hex code.

  3. 3

    Copy with one tap

    Tap to copy the character, the named entity or the numeric entity.

  4. 4

    Filter by category

    Narrow by currency, maths, arrows, Latin supplements, Greek, or punctuation.

Three ways to write the same character

HTML lets you write a special character three ways. Pick the one that reads best and is guaranteed to render.

The three forms

Character Named entity Decimal numeric Hex numeric
© © © ©
® ® ® ®
™ ™ ™
€ € €
- — — —
– – –
… … …
       
< &lt; &#60; &#x3C;
> &gt; &#62; &#x3E;
& &amp; &#38; &#x26;
&quot; &#34; &#x22;

When to use each form

  • Named entities are readable in source (&mdash; is obviously an em-dash) but only about 250 named entities exist, anything exotic needs numeric form.
  • Decimal numeric works for every Unicode code point; use when you know the decimal (often from a reference card).
  • Hex numeric matches the notation Unicode itself uses (U+2014). Convert U+NNNN by prefixing with &#x.

Characters that must be escaped

These five characters break HTML if left raw in content:

  • <, escape as &lt; or character data inside <pre>.
  • >, escape as &gt; (only required inside attributes).
  • &, escape as &amp; in every context.
  • ", escape as &quot; inside attribute values.
  • ', escape as &#39; or &apos; inside single-quoted attributes.

Everything else is optional in UTF-8 HTML5, the raw Unicode character is legal.

Frequently Asked Questions

Yes, because the character is invisible in source. Using &nbsp; is self-documenting, another developer reading your code immediately sees your intent to prevent a line break there.

No, &apos; is defined in XML and HTML5 but not in HTML4. Use &#39; if you need the apostrophe in a strictly-conforming HTML4 document, though all modern browsers render both correctly anyway.

U+0020 is a regular space that browsers may break lines on. U+00A0 (non-breaking space, &nbsp;) prevents a line break and is not collapsed with adjacent whitespace. Use it for “10 km” so the value and unit stay together.

Emoji have Unicode code points and can be written as numeric entities (&#128512; = 😀), but in modern HTML files in UTF-8 you just paste the emoji directly. Entity form is only useful for emails or systems with encoding limits.

Related Tools