HTMLエスケープ・文字参照変換(エンティティ)

< > & " ' などをHTMLの文字参照(&lt; や &#60; など)にエスケープし、文字参照を元の文字に戻します。名前・10進数・16進数の3形式に対応しています。

処理
形式

名前のない文字(絵文字など)は10進数の参照にします。

変換する文字

よく使う文字参照の一覧
文字名前10進数16進数
HTMLの特殊文字
&&amp;&#38;&#x26;
<&lt;&#60;&#x3C;
>&gt;&#62;&#x3E;
"&quot;&#34;&#x22;
'&apos;&#39;&#x27;
空白
ノーブレークスペース&nbsp;&#160;&#xA0;
enスペース&ensp;&#8194;&#x2002;
emスペース&emsp;&#8195;&#x2003;
細いスペース&thinsp;&#8201;&#x2009;
ゼロ幅スペース&ZeroWidthSpace;&#8203;&#x200B;
句読点・引用符
–&ndash;&#8211;&#x2013;
—&mdash;&#8212;&#x2014;
‘&lsquo;&#8216;&#x2018;
’&rsquo;&#8217;&#x2019;
“&ldquo;&#8220;&#x201C;
”&rdquo;&#8221;&#x201D;
…&mldr;&#8230;&#x2026;
«&laquo;&#171;&#xAB;
»&raquo;&#187;&#xBB;
·&middot;&#183;&#xB7;
•&bull;&#8226;&#x2022;
記号
©&copy;&#169;&#xA9;
®&reg;&#174;&#xAE;
™&trade;&#8482;&#x2122;
§&sect;&#167;&#xA7;
&para;&#182;&#xB6;
°&deg;&#176;&#xB0;
†&dagger;&#8224;&#x2020;
✓&check;&#10003;&#x2713;
通貨
€&euro;&#8364;&#x20AC;
£&pound;&#163;&#xA3;
¥&yen;&#165;&#xA5;
¢&cent;&#162;&#xA2;
¤&curren;&#164;&#xA4;
矢印
←&larr;&#8592;&#x2190;
↑&uarr;&#8593;&#x2191;
→&rarr;&#8594;&#x2192;
↓&darr;&#8595;&#x2193;
↔&harr;&#8596;&#x2194;
⇒&rArr;&#8658;&#x21D2;
数学
×&times;&#215;&#xD7;
÷&div;&#247;&#xF7;
±&pm;&#177;&#xB1;
≠&ne;&#8800;&#x2260;
≤&le;&#8804;&#x2264;
≥&ge;&#8805;&#x2265;
∞&infin;&#8734;&#x221E;
≈&ap;&#8776;&#x2248;

使い方

  1. 「エンコード」または「デコード」を選びます。
  2. エンコードでは形式(名前・10進数・16進数)と、変換する文字(HTMLの特殊文字だけ、またはASCII以外も含めたすべて)を選びます。
  3. 文字列を入力して「エンコードする」または「デコードする」を押します。デコードは名前・10進数・16進数が混在していても読み取ります。
  4. 結果を「コピー」します。「結果を入力に戻す」で逆方向の変換を続けられます。ページ下の一覧で、よく使う文字参照を確認できます。

注意事項

  • 入力は2MBまでです。
  • 名前の形式で、名前のない文字(絵文字など)は10進数の参照にします。
  • 存在しない名前(&foo; など)、0・サロゲート・U+10FFFFを超える番号の参照は変換せず、そのまま残して件数を表示します。
  • デコードはHTML本文での読み方に合わせています。属性値の中では、セミコロンのない参照の扱いがブラウザと異なる場合があります。
  • 結果はHTMLとして表示せず、常に文字のまま表示します。HTMLタグの除去やサニタイズ(安全化)をする機能ではありません。

計算・変換の仕組み

名前付き文字参照の一覧は、WHATWG HTML Living Standard が公開している entities.json(2,231件)から生成しています。

デコードはブラウザのHTML解析に入力を渡さず、独自の解析で1つずつ読み取ります。&amp や &copy のように古くからある一部の名前はセミコロンなしでも読み取り、&#65 のような数値参照もセミコロンを省略できます。

数値参照の128〜159は、ブラウザと同じくWindows-1252の文字(例:&#150; → –)として読みます。

絵文字などU+FFFFを超える文字は、サロゲートペアの片割れではなく1つのコードポイントとして &#x1F600; のように変換します。

よくある質問

どの文字をエスケープすればよいですか?

HTMLの本文や属性値に文字列を入れるなら、& < > " ' の5つで十分です。古いシステムや文字コードが限られる場所に渡す場合は「ASCII以外のすべて」を選びます。

名前・10進数・16進数のどれを使えばよいですか?

どれもブラウザでは同じ文字になります。読みやすさなら名前(&copy;)、すべての文字に使える点では数値(&#169; / &#xA9;)が便利です。

&nbsp; はどう表示されますか?

デコード結果では改行されない空白(U+00A0)になります。見た目は普通の空白と同じですが、別の文字です。

入力した内容は送信されますか?

いいえ。変換はすべてブラウザ内で行い、入力内容を保存・送信しません。

最終更新日: