HTML ESCAPE / UNESCAPE

HTMLエスケープ・アンエスケープ|特殊文字・HTMLエンティティ変換

HTMLの特殊文字を文字参照へ変換し、名前付き・10進・16進の文字参照を元の文字へ戻します。

入力したテキストはブラウザ内だけで処理され、外部へ送信・保存されません。

変換モード

入力

HTMLとして実行せず文字列のまま扱います。

入力:0文字変換対象:0か所
エスケープの出力形式

基本5文字の出力表記を選べます。

結果

安全なtextareaへ文字列として表示します。

結果:0文字

HTMLエスケープとは

HTMLで特別な意味を持つ文字を、文字として安全に表示できるHTML文字参照へ置き換える処理です。標準設定では&<>・ダブルクォート・シングルクォートの5文字を変換します。

HTMLアンエスケープとは

&lt;<へ戻すように、HTML文字参照を文字へデコードする処理です。このツールは1回だけデコードし、結果をHTMLとして描画せずtextareaの文字列として表示します。

HTMLエンティティ・文字参照とは

HTML文字参照は、特殊文字やUnicode文字をアンパサンドから始まる表記で記述する仕組みです。一般にHTMLエンティティとも呼ばれます。名前付き参照と数値文字参照があります。

&lt; &gt; &amp;とは

&lt;は小なり記号、&gt;は大なり記号、&amp;はアンパサンドを表す名前付き文字参照です。

HTMLコードを文字として表示する方法

たとえば入力<div class="test">A & B</div>をエスケープすると、&lt;div class=&quot;test&quot;&gt;A &amp; B&lt;/div&gt;になります。タグとして実行せず、コード例として表示できます。

数値文字参照とは

Unicodeコードポイントを10進または16進で示す表記です。&#60;&#x3C;はいずれも小なり記号を表します。本ツールの数値出力形式は基本5文字だけを変換し、日本語や絵文字はそのまま保持します。

HTMLエスケープとURLエンコードの違い

HTMLでは小なり記号を&lt;、URLのpercent encodingでは%3Cと表します。用途は異なります。URLにはURLエンコード・デコードをご利用ください。

XSS対策とHTMLエスケープ

HTMLエスケープだけで全種類のXSSを防げるわけではありません。HTML本文、HTML属性、JavaScript、CSS、URLのどこへ値を挿入するかによって必要なエンコードや検証が異なります。実際のアプリでは利用文脈に合った安全な出力処理と、必要に応じたHTMLサニタイズを行ってください。

変換例

エスケープ
<div class="test">A & B</div>

&lt;div class=&quot;test&quot;&gt;A &amp; B&lt;/div&gt;

アンエスケープ
&lt;p&gt;こんにちは&lt;/p&gt;

<p>こんにちは</p>(文字列として表示)

10進数値参照
&#60;div&#62;

<div>

16進数値参照
&#x3C;div&#x3E;

<div>

よくある質問

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

HTMLで特別な意味を持つ文字を、HTML文字参照へ置き換える処理です。

<をHTMLで文字として表示するには?

&lt;を使用します。

&をHTMLで表示するには?

&amp;を使用します。

ダブルクォートはどう変換しますか?

&quot;へ変換します。

シングルクォートはどう変換しますか?

一般HTML表記では&#39;へ変換します。

&#60;とは何ですか?

小なり記号の10進数値文字参照です。

&copy;もデコードできますか?

はい。ブラウザが対応するHTMLの名前付き文字参照としてデコードします。

HTMLエスケープとURLエンコードは同じですか?

異なります。HTMLの文字参照とURLのpercent encodingは用途も表記も別です。

HTMLエスケープすればXSSは必ず防げますか?

いいえ。HTML本文・属性・JavaScript・CSS・URLなど、利用文脈に合った対策が必要です。

入力したHTMLは実行されますか?

実行しません。画像・script・iframe等を生成せず、文字列として処理・表示します。

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

送信しません。入力、変換、コピー用整形はブラウザ内だけで行います。