基本ガイド

HTMLエスケープとは:< や &amp; に置き換える5つの文字

更新日:2026-09-17

HTMLの中に < をそのまま書くと、そこからタグが始まったと解釈されます。文字として表示したいときは置き換えが必要です。

対象になる5つの文字

文字置き換え後なぜ必要か
&&amp;実体参照の開始とみなされる
<&lt;タグの開始とみなされる
>&gt;タグの終了とみなされる
"&quot;属性値の区切りとみなされる
'&#39;同上(シングルクォート)

本文中では & < > の3つで足りますが、属性値の中に入れる場合は引用符も置き換えが必要になります。

実際に変換すると

変換の例

もとの文字列
<a href="x">A&B</a>

エスケープ後
&lt;a href=&quot;x&quot;&gt;A&amp;B&lt;/a&gt;

エスケープ後の文字列をHTMLに書くと、画面には元の文字列がそのまま表示されます。タグとしては解釈されません。

& を最初に置き換える

順番を間違えると二重に置き換わります

< を先に &lt; に変えると、そこに & が現れます。そのあとで & を置き換えると &amp;lt; になり、画面には &lt; と表示されてしまいます。& を最初に処理するのが決まりです。

実体参照と数値文字参照

置き換え先の書き方には2通りあります。

種類書き方例(あ)
名前付き実体参照&名前;(「あ」には名前がない)
数値文字参照(10進)&#番号;&#12354;
数値文字参照(16進)&#x番号;&#x3042;

名前付きは &lt; &nbsp; &copy; など、決まった文字にだけ用意されています。数値文字参照はどの文字にも使えます。

日本語をすべて数値文字参照にすれば、文字コードに関係なく表示できます。ただし文字数が大幅に増えるため、UTF-8 が標準になった現在では使う場面が減っています。

どこで使うか

  • ユーザーが入力した文字列を画面に表示するとき
  • HTMLのソースコードを記事の中で見せるとき
  • データベースから取り出した値をページに埋め込むとき

とくに1つ目は重要です。入力された文字列をそのままHTMLに埋め込むと、<script> のようなタグが動いてしまうことがあります。エスケープは、この種の問題を防ぐ基本的な処理として使われます。

戻すとき

&lt; のような文字列を元の記号に戻すのがアンエスケープです。ログやメールに含まれるHTMLの断片を読むときに使います。

戻すときは逆に、&amp; を最後に処理します。先に戻すと、生まれた & が別の実体参照の一部として再解釈されるためです。

まとめ

  • HTMLで意味を持つ記号は、実体参照に置き換えて文字として表示する
  • 対象は & < > " ' の5つ
  • エスケープでは & を最初に、アンエスケープでは最後に処理する
  • 数値文字参照はどの文字にも使えるが、文字数は増える

貼り付けるだけで変換できます。形式がわからない文字列は自動で判定します。入力内容はサーバーに送信されません。

テキスト変換で試す →

登録不要・完全無料/入力内容はサーバーに送信されません

この記事を書いた人

都内在住。Web制作・デザインに20年以上携わり、現在はインハウスでWeb制作や改善業務に関わっています。文字コードまわりの不具合に何度も当たってきたので、調べ直した内容を手元のメモとしてまとめ直したものを発信しています。

この記事の位置づけ

仕様と一般的な動作を整理したものです。実際の挙動はブラウザやアプリの実装、受け取り側のシステムによって変わることがあります。業務で使う場合は、実際のデータで往復して確かめておくと安全です。

参考・出典

※2026年9月時点の仕様と、主要なブラウザでの動作にもとづいています。