Web & HTML

名前付き文字参照

人間が読みやすい名前を使うHTMLエンティティ:© → ©、— → —。HTML5は2,231個の名前付き参照を定義しており、大文字・小文字を区別します。

· Updated

What Are Named Character References?

Named character references (also called named HTML entities) are predefined shorthand sequences that represent specific Unicode characters in HTML. They follow the pattern &name; where name is a case-sensitive keyword registered in the HTML specification. Examples include & for the ampersand character, < for the less-than sign, and © for the copyright symbol ©.

The HTML5 specification defines 2,231 named references, covering characters across many Unicode blocks: Latin letters with diacritics, Greek and Cyrillic letters, mathematical symbols, arrows, currency signs, playing card suits, and more.

History and Design

Named references were introduced early in HTML to help authors write documents using only ASCII source files while displaying richer character sets. Before UTF-8 became universal, a document might be saved in Latin-1 but still need to display Greek letters or typographic dashes. Named entities provided a portable solution.

HTML4 borrowed many entities from ISO character sets and SGML. HTML5 dramatically expanded the list by adding all characters from MathML and a large portion of common Unicode symbols.

The Five Essential Entities

Five named references are special because they escape HTML syntax characters:

&lt;    → <   (less-than, starts tags)
&gt;    → >   (greater-than, ends tags)
&amp;   → &   (ampersand, starts entities)
&quot;  → "   (double quote, used in attributes)
&apos;  → '   (apostrophe, HTML5 only; use &#39; for HTML4)

Forgetting to escape these — especially & and < in user-generated content — is the root cause of many XSS vulnerabilities.

Commonly Used Named References

<!-- Typography -->
&nbsp;    → non-breaking space (U+00A0)
&mdash;   → — (em dash, U+2014)
&ndash;   → – (en dash, U+2013)
&ldquo;   → " (left double quote)
&rdquo;   → " (right double quote)
&lsquo;   → ' (left single quote)
&rsquo;   → ' (right single quote, apostrophe)
&hellip;  → … (ellipsis)

<!-- Currency -->
&euro;    → € (U+20AC)
&pound;   → £ (U+00A3)
&yen;     → ¥ (U+00A5)
&cent;    → ¢ (U+00A2)

<!-- Math and science -->
&times;   → × (U+00D7)
&divide;  → ÷ (U+00F7)
&plusmn;  → ± (U+00B1)
&infin;   → ∞ (U+221E)
&sum;     → ∑ (U+2211)
&radic;   → √ (U+221A)
&pi;      → π (U+03C0)

<!-- Arrows -->
&larr;    → ← (U+2190)
&rarr;    → → (U+2192)
&uarr;    → ↑ (U+2191)
&darr;    → ↓ (U+2193)

Case Sensitivity

Named references are case-sensitive. &copy; works, &COPY; and &Copy; do not. A few names have uppercase variants that mean something different: &Alpha; is Α (Greek capital Alpha), while &alpha; is α (Greek small alpha).

Verifying Named References

// Decode a named entity by injecting into DOM
function decodeEntity(entity) {
  const el = document.createElement("textarea");
  el.innerHTML = entity;
  return el.value;
}

decodeEntity("&mdash;");   // "—"
decodeEntity("&hellip;");  // "…"
decodeEntity("&notaref;"); // "&notaref;" — unknown entities are left as-is

When to Use Named References Today

With UTF-8 encoding, you can paste ©, , and directly into HTML source. Named references are mainly useful for: code samples that must remain plain ASCII, generated HTML in environments where the encoding might shift, and developer readability when the intent matters (&nbsp; is clearer than a bare invisible space character).

Quick Facts

Property Value
Total defined in HTML5 2,231 named references
Case sensitivity Case-sensitive (&amp; valid, &AMP; invalid)
Must always escape &amp; &lt; &gt; &quot;
Trailing semicolon Required in most contexts; optional legacy exceptions exist
XML compatibility Only &amp; &lt; &gt; &quot; &apos; are predefined in XML
Browser behavior Unknown named references displayed as literal text

関連用語

Web & HTML のその他の用語

Content-Type 文字セット

レスポンスの文字エンコーディングを宣言するHTTPヘッダーパラメータ(Content-Type: text/html; charset=utf-8)。ドキュメント内のエンコーディング宣言より優先されます。

CSS content プロパティ

::beforeおよび::after疑似要素でUnicodeエスケープを使って生成コンテンツを挿入するCSSプロパティ:content: '\2713'は✓を挿入します。

CSS Text Direction

CSS properties (direction, writing-mode, unicode-bidi) controlling text layout direction. Works with Unicode …

HTML エンティティ

HTMLで文字をテキスト表現する方式。3つの形式:名前(&amp;)・十進数(&#38;)・16進数(&#x26;)。HTMLの構文と衝突する文字に必須です。

JavaScript Intl API

ECMAScript Internationalization API providing locale-aware string comparison (Collator), number formatting (NumberFormat), date …

Punycode

Unicode ドメイン名をxn--プレフィックス付きのASCII文字列に変換するASCII互換エンコーディング。münchen.de → xn--mnchen-3ya.de。

Unicode in CSS

CSS supports Unicode via escape sequences (\2713 for ✓), the content property …

XML 文字参照

XMLバージョンの数値文字参照:&#x2713;または&#10003;。XMLには名前付きエンティティが5個(&amp; &lt; &gt; &quot; &apos;)しかありませんが、HTML5は2,231個あります。

テキスト表示

デフォルトの絵文字表示の代わりに、通常は異体字セレクター15(U+FE0E)を使って文字をモノクロのテキストグリフでレンダリングすること。

パーセントエンコーディング (URL エンコーディング)

URLの非ASCII文字と予約文字を各バイトを%XXで置き換えてエンコードします。まずUTF-8に変換し、各バイトをパーセントエンコードします:é → %C3%A9。