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

ひとつのワークスペースで HTML エンティティをエンコードまたはデコード

入力

エスケープする HTML を入力
0 文字

設定

名前付き:< | 10進数:< | 16進数:<

出力

HTML エンティティの結果
0 文字
このツールについて

これは汎用の HTML エンティティワークスペースです——<、>、&、"、' などの特殊文字を対応するエンティティにエスケープしたり、&amp;、&lt;、&#39;、&#x27; などのエンティティをプレーンテキストにデコードしたりを、ワンクリックで切り替えられます。どちらの方向が必要かまだ分からないときや、行き来する必要があるとき——たとえば公開用にコードサンプルをエスケープし、その後 CMS のエクスポートをアンエスケープして実際に保存されている内容を確認するとき——に最適な出発点です。専用ページがお好みですか?HTML エスケープと HTML アンエスケープのページは、それぞれの方向に特化したガイダンス付きで、最初から一方向に固定されています。

使い方

上部のタブでエスケープまたはアンエスケープを選択します。エスケープでは、生のテキストや HTML を貼り付けると、入力と同時にエンティティエンコードされた出力が表示され、名前付き・10進数・16進数のエンティティ形式を選択できます。アンエスケープでは、エンティティエンコードされたテキストを貼り付けると、名前付きと数値が混在していても元の文字を復元します。「改行を保持」を切り替えて改行を保持するかどうかを制御し、エスケープモードでは「すべての文字をエンコード」を使うと互換性を最大化した出力が得られます。エスケープモードが有効なとき、ツールはすでにエンティティエンコードされているように見える入力を検知し、ワンクリックでアンエスケープに切り替えるオプションを提示します。

一般的なユースケース

作業途中での切り替え

Web ページに安全に公開するためにコードサンプルをエスケープし、その後 CMS のエクスポートを貼り付けてアンエスケープに切り替え、実際に保存されている HTML を確認します。

XSS 防止ワークフロー

表示前にユーザー生成の入力をエスケープし、セキュリティ監査中に保存された値をアンエスケープして二重エンコードが紛れ込んでいないか確認します。

テンプレートのデバッグ

スニペットをエスケープしてその文字どおりの HTML 表現を確認したり、レンダリング済みテンプレートの出力をアンエスケープして実際に生成されたタグを確認したりします。

データパイプラインの往復

HTML フラグメントを JSON や XML に保存する前にエスケープし、データを読み戻す際に再度アンエスケープします。

制限事項と重要な注意

HTML エンティティのエスケープは完全な HTML サニタイズの代替にはなりません——文字がマークアップと誤解されるのを防ぎますが、制御できない HTML から危険な属性やスクリプトを除去するわけではありません。すべての処理はクライアント側で行われるため、非常に大きな文書はブラウザで利用可能なメモリに制限されます。二重エスケープ(すでにエスケープされたテキストに再度エスケープを適用すること)と二重アンエスケープ(すでにプレーンなテキストをデコードすること)はどちらも技術的には無害ですが、誤って適用すると予期しない見た目の出力になることがあります——方向を選ぶ前に入力の現在の状態を確認してください。