HTML Escape / Unescape

HTMLエスケープ・アンエスケープ

HTMLの特殊文字を文字参照へ変換したり、文字参照を元の文字へ戻したりできます。

変換結果

テキストを入力して変換してください。

HTMLエスケープとは

HTMLエスケープは、HTMLで特別な意味を持つ文字を文字参照へ置き換える処理です。たとえば小なり記号は <、大なり記号は >、アンパサンドは & のように表現されます。これにより、HTMLタグとして解釈させず、ソースコードや入力文字列を画面上へそのまま表示できます。

アンエスケープはその逆で、< や " などの文字参照を元の記号へ戻します。ログ、テンプレート、CMS、メール本文、APIレスポンスなどに含まれるエスケープ済み文字列の確認に便利です。

このツールは入力内容をサーバへ送信せず、JavaScriptを使ってブラウザ内だけで変換します。機密性のあるテキストを扱う場合でも、通信を伴う変換ツールより安全に利用できます。ただし、変換結果をWebページへ組み込む際は、利用するフレームワークや表示箇所に応じたセキュリティ対策も確認してください。

使い方

  1. 変換するHTMLまたは文字参照を入力欄へ貼り付けます。
  2. 「HTMLをエスケープ」または「HTMLをアンエスケープ」を選びます。
  3. 「変換する」を押すと結果欄へ自動的に移動します。
  4. 必要に応じて結果をコピーするか、入力と結果を入れ替えて逆変換します。

変換例

<div class="message">Tom & Jerry</div>
↓
&lt;div class=&quot;message&quot;&gt;Tom &amp; Jerry&lt;/div&gt;

利用時の注意

  • エスケープは表示用文字列の作成を支援しますが、SQLインジェクション対策やURLエンコードの代替にはなりません。
  • アンエスケープした文字列を innerHTML などへ直接挿入すると、内容によってはスクリプトが実行される危険があります。
  • 本ツールでは &、<、>、ダブルクォート、シングルクォートを主な対象として変換します。

よくある質問

HTMLエスケープとは何ですか?

HTMLで特別な意味を持つ記号を、画面に文字として安全に表示できる文字参照へ変換することです。

HTMLアンエスケープとは何ですか?

&amp;lt; や &amp;amp; などの文字参照を、元の < や & などの文字へ戻す処理です。

入力内容はサーバへ送信されますか?

いいえ。変換処理はブラウザ内のJavaScriptだけで行われます。

どの文字が変換されますか?

主にアンパサンド、小なり記号、大なり記号、ダブルクォート、シングルクォートを変換します。

HTMLタグを画面にそのまま表示できますか?

はい。エスケープした結果を使用すると、タグとして解釈されず文字列として表示できます。

XSS対策として使えますか?

HTML本文へ文字列を表示する際の基本対策の一つですが、属性値やJavaScript、URLなど出力先ごとに適切な対策が必要です。

URLエンコードとは何が違いますか?

HTMLエスケープはHTMLで特別な文字を対象にし、URLエンコードはURLで使用できない文字をパーセント形式へ変換します。

改行や空白も変換されますか?

通常の改行や空白はそのまま維持されます。HTML表示時の改行表現は別途CSSやbrタグなどで調整してください。

二重にエスケープするとどうなりますか?

たとえば &amp;lt; のアンパサンドが再変換され、&amp;amp;lt; のようになります。必要以上の複数回変換に注意してください。

変換結果を元に戻せますか?

はい。入力と結果を入れ替え、反対の変換方法を選ぶことで戻せます。

大量のテキストも変換できますか?

ブラウザの処理能力とメモリの範囲内で変換できます。非常に大きなデータでは動作が遅くなる場合があります。