開発者向け

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

HTMLの特殊文字(< > & " ')をエスケープ・アンエスケープ。XSS対策やHTMLソースの安全な表示に。数値参照にも対応。

登録不要

エスケープ入力100000文字、アンエスケープ入力・結果600000文字まで(UTF-16単位)。形式を切り替えても入力を保持します。

エスケープは & < > " ' の5文字を変換します。HTMLの通常の本文や引用符付きの通常属性値向けで、JavaScript・CSS・URL・イベント属性・引用符なし属性の安全化やHTMLサニタイズには使えません。

アンエスケープはセミコロン付きの名前付き2125種と10進・16進の数値文字参照を1回だけ変換します。不明な名前・セミコロンなしは保持します。数値の0・サロゲート・範囲外はU+FFFDに置換し、一部の制御番号はHTML標準の対応文字へ変換します。復元後の文字列を安全なHTMLとして扱わないでください。

入力 0文字(UTF-16単位)

結果を移す操作は、現在の結果を入力へ移し、変換方向も切り替えます。

HTMLエスケープ・アンエスケープツールについて

5文字のエスケープ

&、<、>、"、'を、それぞれ&amp;、&lt;、&gt;、&quot;、&#39;へ1回変換します。既存の文字参照にある&も変換するため、&lt;は&amp;lt;になります。その他の文字や空白を勝手に正規化しません。

復元する文字参照の範囲

セミコロン付きの名前付き文字参照2125種と、10進の&#60;、16進の&#x3C;・&#X3C;等を1回だけ復元します。名前の大小文字は区別し、複数コードポイントの参照も扱います。不明な名前やセミコロンなしは保持します。HTML文書・属性のパーサーではなく、セミコロンを省略できるHTMLの全規則には対応しません。

数値参照の0、サロゲート、U+10FFFF超過はU+FFFDへ置換し、128等の一部の制御番号はHTML標準の対応文字へ変換します。孤立したサロゲートを含む入力文字列自体は拒否します。XMLの復元規則とは異なります。

安全に使える文脈と限界

5文字のエスケープはHTMLの通常本文や引用符付きの通常属性値向けです。JavaScript、CSS、イベント属性、URL、引用符なし属性、タグ名、コメントの安全化には使えません。URLのスキームやリンク先、XMLで許される文字も検証しません。HTMLサニタイズや暗号化の代用にはなりません。

アンエスケープした結果をinnerHTML等へ渡すとタグやスクリプトとして解釈され得ます。この画面ではテキストとして表示し、HTMLとして実行しません。

入力上限と出力の保持

エスケープ入力100000文字、アンエスケープ入力と結果600000文字まで(UTF-16単位)です。最大のエスケープ結果も逆側で受理できます。形式切替は入力を保持し、結果の入替は方向も切り替えます。逆側の入力上限を超える結果は移さず、コピーや保存で取り出せます。変換した文字参照の件数は未知の名前を含めません。

改行は画面・コピー先でLFやCRLFへ変わる場合があります。正確な改行コードはUTF-8保存で保持できます。BOMは追加せず、元データにあるBOMは保持します。コピーの未完了処理は遅れて以前の内容を書き込む場合があります。

変換用テキストをこのツールからサーバーへ送る処理はありません。ページには広告やアクセス計測等の通信があります。

よくある質問

Q. HTMLのすべての文字参照に対応しますか?
セミコロン付きの名前付き2125種と10進・16進の数値文字参照に対応します。セミコロンなしは保持するため、HTMLパーサーの全規則と同じではありません。
Q. 二重エスケープはどうなりますか?
1回だけ変換します。&amp;lt;のアンエスケープ結果は&lt;です。続けて復元するかは元データの契約に従って判断してください。
Q. XSS対策としてそのまま使えますか?
HTMLの通常本文や引用符付きの通常属性値向けです。JavaScript・CSS・URL・イベント属性・引用符なし属性の安全化やHTMLサニタイズには使えません。復元した結果を安全なHTMLとして扱わないでください。
Q. 不正な数値文字参照はどうなりますか?
数値の0・サロゲート・U+10FFFF超過はU+FFFDに置換します。一部の制御番号はHTML標準の対応文字へ変換します。名前の大小文字は区別し、不明な名前は保持します。
Q. 入力上限とデータの扱いは?
エスケープ入力100000文字、アンエスケープ入力と結果600000文字まで(UTF-16単位)です。形式切替では入力を保持します。変換テキストをサーバーへ送る処理はありませんが、ページの広告・アクセス計測等には通信があります。
このツールを評価
—(0件)