入力

モード:

出力

HTMLエスケープとは?

HTMLアンエスケープはHTMLエンティティシーケンスを元の文字に変換します。REST APIからコンテンツを取得したり、CMSからデータをスクレイピングして&<"だらけになった経験があるなら、その苦痛をご存じでしょう。これらのエンティティは安全なHTML表示に必要ですが(HTML Living Standardで定義)、生テキストを読みにくくします。

このツールには2つのモードがあります:エスケープとアンエスケープ。どちらもブラウザで完全に動作し、サーバーにデータは送信されません。

このツールの使い方

1

モードを選択

エスケープを選択して特殊文字をHTMLエンティティに変換するか、アンエスケープを選択してエンティティを元の文字に戻します。

2

テキストを貼り付けまたはアップロード

左のエディタにテキストやHTMLを貼り付けるか、アップロードを使ってファイルを読み込みます。

3

結果をコピーまたはダウンロード

右のパネルが自動的に更新されます。HTMLを整形するには、HTMLフォーマッターツールをお試しください。

HTMLエスケープ例

エスケープは特殊文字をHTMLエンティティに変換します:

生の入力(特殊文字あり)

入力

エスケープ後の出力(HTMLエンティティ)

出力

HTMLエスケープが重要な場面

ユーザー提供のコンテンツをHTMLで表示する場合、XSS攻撃を防ぐために最初にエスケープする必要があります。

アンエスケープは、HTMLエスケープされたコンテンツを受け取って元のテキストを表示したい場合に役立ちます。アンエスケープモードで起動するHTMLエスケープもご覧ください。

よくある質問

このツールはどのHTMLエンティティをデコードしますか?

すべての名前付きエンティティ(&<>"')と数値エンティティをデコードします。完全なリストはHTML Living Standardで定義されています。

データはサーバーに送信されますか?

いいえ。すべてJavaScriptでブラウザ内で実行されます。データは外部に送信されません。

アンエスケープとエスケープはいつ使い分けますか?

元のテキストを読む必要がある場合はアンエスケープを使用します(APIレスポンスやデータベースエクスポートなど)。HTMLにユーザーコンテンツを挿入する場合は、XSS攻撃を防ぐためにエスケープを使用します。

大量のテキスト処理に使用できますか?

はい。HTMLエンティティを含む任意の量のテキストを貼り付けると、ツールがすべてを一度にデコードします。非常に大きなテキスト(100MB以上)の場合は、PHPのhtml_entity_decodeまたはPythonのhtml.unescape()などのコマンドラインツールの方が実用的かもしれません。

関連ツール

HTML Living Standardの文字参照を参照してください。