本文へ移動
ZEKILO Dev

HTMLエスケープ

HTMLの特殊文字を実体参照に変換し、実体参照を元の文字に戻します。

入力はブラウザの外に出ませんHTML Living Standard基準日 2026.10.03

テキスト

Escを押してからTabを押すと、入力欄から移動できます。

エスケープ結果

HTMLエスケープの使い方

  1. 1方向(エンコード・デコード)を選び、入力欄にテキストを貼り付けるか「例を入れる」を押します。
  2. 2エンコードの場合は、範囲(最小・非ASCIIも変換)と数値の形式を選びます。結果はすぐに変わります。
  3. 3「コピー」で結果をコピーするか、「ダウンロード」で保存します。「入れ替え」を押すと、結果が入力に移り、方向が逆になります。

HTMLエスケープのオプション

方向
エンコード(エスケープ)は特殊文字を実体参照に変換し、デコードは実体参照を元の文字に戻します。
範囲
最小(既定)は & < > とダブルクォート・シングルクォートの5文字だけを変換します。「非ASCIIも変換」は、日本語・韓国語・絵文字などASCII以外の文字も数値参照に変換します。エンコードにだけ適用されます。
数値の形式
非ASCII文字の書き方です。16進(既定)は &#xC81C; のように、10進は &#51228; のように書きます。

HTMLの実体参照とこのツールの動作

HTMLでは &、<、> は構文に使う文字なので、文章の内容として書くには &amp;、&lt;、&gt; のような文字参照(実体参照)にします。属性値の中では、クォート("、')も &quot;、&#39; に変換します。エンコードの「最小」はこの5文字だけを変換し、「非ASCIIも変換」は日本語・韓国語・絵文字などASCII以外の文字も &#xC81C; のような数値参照に変換します。数値参照はUTF-16のサロゲートペアではなく、Unicodeコードポイント1つで書きます。

デコードは、HTML標準の名前付き文字参照の一覧にあるすべての名前と、10進・16進の数値参照を読み取ります。ブラウザが本文を読むときと同じ規則なので、&copy のようにセミコロンのない古い名前もデコードし、一覧にない &unknown; はそのまま残します。

デコードは1回だけです

&amp;lt; をデコードすると &lt; になります。&amp; が & に戻り、残った文字はもう一度デコードしないためです。何度もエスケープされた文章を扱っていると、あと何回戻せばよいのか分かりにくくなりますが、このツールは1回につき、ちょうど1段階だけ戻します。

HTMLエスケープの例

  • HTMLタグのエスケープ(既定:エンコード、最小)

    入力

    <a href="x">Tom & Jerry's</a>

    出力

    &lt;a href=&quot;x&quot;&gt;Tom &amp; Jerry&#39;s&lt;/a&gt;
  • 実体参照のデコード

    方向:デコード。デコードは1回だけなので、&amp;lt; は < ではなく &lt; になります。

    入力

    &copy; &#x1F600; &amp;lt;

    出力

    © 😀 &lt;
  • 韓国語を数値参照に(非ASCIIも変換、16進)

    入力

    제킬로

    出力

    &#xC81C;&#xD0AC;&#xB85C;

例は、このツールを検証している基準ケースの値です。

HTMLエスケープのよくある質問

入力したデータはサーバーに送信されますか?

いいえ。入力と結果はこのブラウザ内だけで処理され、保存もしません。再読み込みすると消えます。

HTMLで必ずエスケープする文字はどれですか?

& < > と、属性値の中のダブルクォート・シングルクォートです。「最小」の範囲では、この5文字を &amp; &lt; &gt; &quot; &#39; に変換します。ユーザーが入力した文章をHTMLに入れるときにこれらを変換しないと、文章がタグや属性として解釈されることがあります。

名前付きの実体参照と数値参照は何が違いますか?

名前付きの実体参照は &copy; のように名前で、数値参照は &#169;(10進)や &#xA9;(16進)のようにUnicodeコードポイントで文字を指します。表示される文字は同じです。数値参照はすべての文字に使え、XMLでも使えます。

&amp;lt; をデコードすると、なぜ < ではなく &lt; になるのですか?

デコードは1回だけ行います。&amp; が & に戻ると &lt; という文字が残り、残った文字はもう一度デコードしません。ブラウザがHTMLを読むときと同じ動作です。もう1段階戻すには、結果を入力に入れ直してください。

デコードした結果がHTMLとして実行されることはありますか?

ありません。結果はテキスト欄に文字のまま表示するだけで、タグとして解釈したり、スクリプトを実行したりしません。タグの形をした文字が入っていても、文字として表示されます。

処理方法・標準

  • 処理する場所:このブラウザ(お使いの端末)。送信も保存もしません。
  • 標準: HTML Living Standard
  • エンジン: ZEKILO Dev エスケープ処理(エンコード) (自社実装) · entities 8.1.0(デコード) (BSD-2-Clause)
  • シングルクォートは、数値の形式に関係なく &#39; に変換します。
  • デコードはHTML標準に従い、セミコロンのない古い名前(&copy、&amp など)も読み取ります。
  • 基準日 2026.10.03
  • 変更履歴: 2026.10.03 公開
オープンソースライセンス →
結果がおかしい場合は、エラーを報告する(入力内容は添付されません)