HTML文字参照

文字そのもの、名前(copy)、コード(169 または U+00A9)、または単語(矢印)を入力してください。

次へ: 文字を見る

©と入力して本当に©が表示されるのか確かめたり、エヌダッシュや改行しないスペース、ギリシャ文字に対応するエンティティを探したりするたびに、数分が無駄になります。この検索可能なリファレンスには、句読点や通貨記号から数学記号や矢印まで、よく使われる名前付きエンティティと数値エンティティが一覧化されており、瞬時に検索してワンタップでコピーできます。

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

  1. 1

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

    `©`、`copy`、`169`、`U+00A9`、`著作権` のいずれを入力しても、著作権記号が見つかります。

  2. 2

    表から選択

    各行には、文字、名前付き形式、数値コードが表示されます。

  3. 3

    ワンタップでコピー

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

  4. 4

    カテゴリでフィルター

    一般記号、矢印、数学記号、句読点で絞り込みます。

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

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

3つの形式

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

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

  • 名前付きエンティティはソースコード内で読みやすい(&mdash;は一目でエムダッシュだとわかる)反面、HTMLが定義する名前は2,125個(うち252個はHTML 4.01から引き継がれたもの)しかなく、ほとんどのUnicode文字には名前がありません。それ以外の文字はすべて数値形式で書く必要があります。
  • 10進数値は、128~159のコードを除くすべてのUnicode文字で使えます。この範囲のコードはブラウザーがWindows-1252の文字として読み取るためです(&#150;はエンダッシュになります)。(多くは早見表などで)10進数の値がわかっているときに使いましょう。
  • 16進数値はUnicode自身が使う表記(U+2014)と一致します。U+NNNNは先頭に&#xを付けて変換します。

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

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

  • <、<pre>内であっても&lt;としてエスケープします。
  • >、&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ファイルでは、絵文字をそのまま貼り付ければ十分です。エンティティ形式が役立つのは、メールやエンコーディングに制限のあるシステムだけです。

関連ツール

このツールは他の言語でも利用できます