HTML文字参照

©と入力して本当に©が表示されるのか確かめたり、エヌダッシュや改行しないスペース、ギリシャ文字に対応するエンティティを探したりするたびに、数分が無駄になります。この検索可能なリファレンスには、WHATWG HTML標準が定義するすべての名前付きエンティティと数値エンティティが一覧化されており、瞬時に検索してワンタップでコピーできます。

HTMLエンティティをどのように見つけるか

  1. 1

    名前または文字で検索します

    `copy`、`©`、`8212`、または`em dash`のいずれかを入力してください。これらはすべて同じエンティティに該当します。

  2. 2

    グリッドから選択

    各エンティティに、名前付き形式・10進コード・16進コードが表示されます。

  3. 3

    ワンタップでコピー

    タップして、文字、名前付きエンティティまたは数値エンティティをコピーします。

  4. 4

    カテゴリでフィルター

    通貨、数式、矢印、ラテン語補助記号、ギリシャ語、または句読点で絞り込みます。

同じ文字を書く3つの方法

HTMLでは、特殊文字を3つの方法で記述できます。最も読みやすく、確実に表示される方法を選択してください。

3つの形式

文字 名前付きエンティティ 10進数値 16進数値
© © © ©
® ® ® ®
™ ™ ™
€ € €
- — — —
– – –
… … …
       
< &lt; &#60; &#x3C;
> &gt; &#62; &#x3E;
& &amp; &#38; &#x26;
&quot; &#34; &#x22;

それぞれの形式を使うタイミング

  • 名前付きエンティティはソースコード内で読みやすい(&mdash;は一目でエムダッシュだとわかる)反面、名前付きエンティティは約250種類しか存在せず、珍しい文字はすべて数値形式が必要になります。
  • 10進数値はすべてのUnicodeコードポイントで使えます。(多くは早見表などで)10進数の値がわかっているときに使いましょう。
  • 16進数値はUnicode自身が使う表記(U+2014)と一致します。U+NNNNは先頭に&#xを付けて変換します。

エスケープ処理が必要な文字

これら5つの文字は、コンテンツとしてそのまま使用するとHTMLが破損します:

  • <&lt;としてエスケープするか、<pre>内の文字データとして扱います。
  • >&gt;としてエスケープします(属性内でのみ必要)。
  • &、あらゆる文脈で&amp;としてエスケープします。
  • "、属性値内で&quot;としてエスケープします。
  • '、シングルクォートで囲んだ属性内で&#39;または&apos;としてエスケープします。

UTF-8のHTML5では、それ以外はすべて任意です。生のUnicode文字をそのまま使っても問題ありません。

よくある質問

はい。その文字はソースコード上では目に見えないからです。&nbsp;を使えばコード自体が意図を語ってくれるので、コードを読む他の開発者はその位置で改行させたくないという意図をすぐに理解できます。

いいえ、&apos;はXMLおよびHTML5では定義されていますが、HTML4では定義されていません。厳密にコンフォーマントなHTML4ドキュメントでアポストロフィが必要な場合は&#39;を使用してください。ただし、すべての現代ブラウザではいずれの場合も両方を正しくレンダリングします。

U+0020はブラウザが改行位置に選ぶことのある通常のスペースです。U+00A0(改行しないスペース、&nbsp;)は改行を防ぎ、隣接する空白と結合されません。「10 km」のように値と単位をひとまとまりに保ちたいときに使います。

絵文字にはUnicodeコードポイントがあり、数値エンティティとして書くこともできます(&#128512; = 😀)。ただし、UTF-8で保存された最近のHTMLファイルでは、絵文字をそのまま貼り付ければ十分です。エンティティ形式が役立つのは、メールやエンコーディングに制限のあるシステムだけです。

関連ツール