HTMLエスケープ・アンエスケープ
HTMLの特殊文字(& < > " ')をエスケープ文字に置き換えるHTMLエスケープ(エスケープ処理)と、元のテキストに戻すアンエスケープができるツールです。数値参照への変換にも対応しています。
ツール
0文字
モード
形式
HTMLのソースに文字列を安全に埋め込むときに使います(& < > " ' の5文字だけを変換します)。
仕様
本ツールの仕様は以下の通りです:
- 対応形式: HTMLエスケープ(文字参照への変換)とアンエスケープ
- 文字コード: Unicode(日本語や絵文字を含むテキストに対応)
- 入力文字数制限: 100,000文字まで(絵文字などは2文字分として数えます)。超えた場合は変換しません
- 出力形式: テキスト
- 自動変換: 入力、モード、形式を変えると、ボタンを押さずに結果を更新します。変換できない場合は、入力が止まってから約0.6秒後にエラーを表示します(空欄のときはエラーにしません)
- エスケープ: HTMLの特殊文字をエスケープ文字(文字参照)に置き換えるエスケープ処理を行います。「形式」で変換の仕方を選択
- 最小(既定):
&<>"'の5文字だけを&<>"'に変換。日本語・絵文字・改行はそのまま。'は古いブラウザでも使える'に変換 - 最小+改行を
<br>: 最小の5文字に加えて、改行(LF・CRLF・CR)を<br>に変換 - 英数字以外をすべて数値参照: 英数字(A〜Z、a〜z、0〜9)以外の文字を、スペース・記号・改行・日本語・絵文字も含めて
あのような10進数の数値参照に変換。絵文字は1つの数値参照になります &も変換するため、エスケープ処理済みの文字列を再度HTMLエスケープすると&amp;のように二重に変換されます- 数値参照にできない文字(単独のサロゲート)がある場合は、その位置(何文字目か)を表示
- 最小(既定):
- アンエスケープ:
- 名前付きのエスケープ文字(
<>&" ©などHTML 4.01の252種類と')を元の文字に変換 - 10進数(
<)と16進数(<)の数値参照を元の文字に変換 - 1回の走査で変換するため、
&lt;は<になります(二重には変換しません) - 名前の大文字・小文字は区別し、末尾の「;」がない参照や未知の名前はそのまま残します
�、サロゲートの範囲、U+10FFFFを超える値の数値参照は置換文字(U+FFFD)に変換。€〜Ÿはブラウザと同じくWindows-1252の文字に変換します(例:€→ €、“→ “)- 入力にある
<br><br/><br />(大文字・小文字は区別しません)は改行に戻します。「最小+改行を<br>」の結果を元の文章に戻すためです。それ以外のタグはそのまま残します
- 名前付きのエスケープ文字(
- 注意事項:
- HTMLエスケープはXSS対策を保証するものではありません。属性値やスクリプト内など、埋め込む場所に応じた対策が必要です
- HTMLの解析、タグの除去、整形には対応していません
- HTML5で追加された名前付きのエスケープ文字(

など)は変換せず、そのまま残します - 入力欄の改行はLFとして扱われます
- 処理方式: ブラウザ内で処理し、入力内容はサーバーに送信しません
使い方
本ツールの使い方は以下の通りです:
- テキストボックスにHTMLエスケープしたいテキスト(アンエスケープの場合はエスケープ文字を含むHTML文字列)を入力します。
- モード(エスケープ・アンエスケープ)を選択します。
- エスケープ時は、形式を選択します。選択中の形式の用途が下に表示されます。
- 「最小」:HTMLのソースに文字列を安全に埋め込むときのエスケープ処理です。5文字だけをエスケープ文字に変換します(既定)。
- 「最小+改行を
<br>」:ブログなど、文章をそのままHTMLに貼るときに使います。 - 「英数字以外をすべて数値参照」:文字化けを避けたいときに使います。
- アンエスケープ時は形式を選択しません。
- 下部に変換結果が自動で表示されます。
- モードや形式を変えると、結果もすぐに更新されます。
- 変換できない場合は、入力が止まってから少し後に、エラーの原因が表示されます。数値参照にできない文字は、その位置も表示されます。
- 必要に応じて以下を選択することができます。
- 「クリップボードにコピーする」ボタン
- 変換結果をクリップボードにコピーできます。
- 「リセットする」ボタン
- 入力内容と結果を消去し、モードと形式を初期値に戻します。
- 「クリップボードにコピーする」ボタン
※ HTMLエスケープはXSS対策を保証するものではありません。エスケープ処理の結果は、埋め込む場所に応じて確認してください。
※ 入力したテキストはブラウザ内で処理され、サーバーには送信されません。