b2KIT

HTML Character Reference

Browse and search HTML character entities with name, number, and Unicode code point for special characters.

Tested tool guide Tested browser tools Checked August 16, 2026

What HTML Character Reference does, with a checked example

HTML gives you three ways to write a character you cannot type: a named reference like ©, a decimal number like ©, or a hexadecimal number like ©. This tool is a searchable table covering all of them: enter any one form and it returns the character, its official name, the other two reference forms, and its Unicode code point. The surprise most people hit: names are case-sensitive and usually require the trailing semicolon. © renders ©, while © and &mdash without its semicolon stay as literal text.

Worked example

A concrete input and expected output from the current implementation.

Input

copyright

Expected output

© - COPYRIGHT SIGN - © - © - © - U+00A9

These are all one character: the named reference © maps to code point U+00A9, and decimal 169 is exactly hexadecimal A9. One search returns every equivalent form on a single row, so it answers both what the character is and how to write it in HTML.

How the result is produced

1

One row per character, searchable four ways

The reference data is the named character reference table from the HTML standard, which maps each name such as — to a Unicode code point. Every entry also has numeric forms: decimal, as in —, and hexadecimal, as in —. Searching the name, either number, or the code point U+2014 lands on the same row, which shows all four forms and the character itself.

2

Matching follows the HTML rules

Lookups are exact and case-sensitive, because the standard defines one spelling per name: © exists, while &Copy; and © do not. Numbers follow the standard's rules too: a numeric reference to 0, to a surrogate, or to a value above U+10FFFF decodes to the replacement character U+FFFD, so such an input has no valid entry to return.

Good uses

  • You are writing HTML, a template, or an email and need the entity for a character your keyboard lacks - a curly quote, the euro sign, a math operator - and want the exact case-sensitive name confirmed before publishing, since a misspelling renders as literal text.
  • You find a numeric reference such as — in scraped text, an RSS feed, or exported data and need to know which character it is and whether a named form exists, to convert the data into plain text, markdown, or another format.
  • You have a symbol and need its Unicode code point for a non-HTML context - a CSS content rule like '\2014', a JavaScript string, or a JSON document - and want to start from the HTML reference you already have rather than guessing the hex value.

Limits and checks

  • Case is absolute. The table stores one exact spelling per name, so © works but © does not: the uppercase form is simply absent from the standard, and a browser renders it as literal text.
  • The semicolon is part of the name, not decoration. A fixed legacy set - amp, lt, gt, quot, nbsp, copy, and the classic Latin-1 names - may omit it, but only when the next character is not a letter, digit, or equals sign: &copy 2026 renders as ©, while &copy2026 stays literal.
  • The table describes references, not rendering. A valid code point still needs a font containing the glyph: the same entity may show correctly on one device and as a hollow box on another, depending on installed fonts. The tool's answer is about what the reference means, not a promise about how it will look.

Common questions

Why does © work while my © or my semicolon-less entity stays as literal text?

Because HTML defines named references with exact case and, in the standard's table, always with the trailing semicolon. A fixed legacy list (amp, lt, gt, quot, nbsp, copy, and the classic Latin-1 names) may omit the semicolon, but only when no letter, digit, or equals sign follows immediately. Every other spelling is literal text by design - standard-compliant behavior, not a bug in your page.

Should I write © or © - is one form better than the other?

They are the same character: decimal 169 equals hexadecimal A9, and both decode to U+00A9 COPYRIGHT SIGN. Decimal is the older, more common style; hexadecimal is shorter for large code points, like 😀 for the grinning face emoji instead of 😀. Browsers treat both forms identically, so pick one style and stay consistent.

References and verification

The example and behavioral notes were checked against the browser implementation. Standards and primary references below define the relevant format, formula, or platform behavior.

Related Tools