HTML エンティティ エンコーダー / デコーダー

HTML の特殊文字を名前付き・10進数・16進数のエンティティにエスケープし、エンティティをテキストに戻します。絵文字も正しく処理。すべてブラウザ内で動作。

入力内容とファイルはブラウザ内に留まります

エスケープする HTML やテキストを入力するか、< などのエンティティを貼り付けてデコードします。

エスケープまたはデコードされたテキストがここに表示されます。

このページの内容

アンパサンド、山括弧、引用符、非 ASCII 文字を HTML エンティティにエスケープしたり、エンティティをプレーンテキストに戻したりできます。ブラウザ内で動くシンプルな JavaScript なので、貼り付けたマークアップはどこにも送信されません。

詳細な機能

3 つのエンコードモードで一般的な用途をカバーします。既定の特殊文字モードは、HTML のマークアップと属性で意味を持つ 5 文字 &、<、>、"、' をエスケープします。非 ASCII モードはマークアップに触れず、アクセント付き文字・記号・絵文字を変換するので、テンプレートやメールを純粋な ASCII に保ちたいときに便利です。すべての文字モードはその両方を行います。

エンティティは 名前付き(&amp;、&copy;)、10進数(&#169;)、16進数(&#xA9;)の参照で書けます。このツールで名前を持つのは &copy;、&mdash;、&euro;、&nbsp; など約 30 個のよく使う記号だけで、それ以外の文字は名前付き形式でも 16 進数の参照になります。絵文字など基本多言語面の外にある文字は、&#x1F600; のような 1 つの参照になります。

デコードは同じ名前付きエンティティと 10 進数・16 進数の参照(&#169;、&#xA9;、&#XA9;)を理解し、1 回のパスで処理します。そのため &amp;lt; は < ではなく正しく &lt; になります。&hearts; のような未知の名前や末尾のセミコロンがない参照はそのまま残ります。

実用例

マークアップのエスケープ: 既定の設定では <a href="x">Tom & Jerry</a> が &lt;a href=&quot;x&quot;&gt;Tom &amp; Jerry&lt;/a&gt; になります。

非 ASCII のみ: © 2026 — café <b> は &copy; 2026 &mdash; caf&#xE9; <b> になります。タグはそのままで、リストに名前のない é は 16 進数で書かれます。

絵文字: すべての文字モードでは、😀 © は 10 進数形式で &#128512; &#169;、16 進数形式で &#x1F600; &#xA9; になります。

デコード: &lt;p&gt; &#169; &#x1F600; &euro; は <p> © 😀 € に、&amp;lt; は &lt; になります。

このツールの使い方

  1. テキストを貼り付ける

    エンコード/デコードするテキスト にプレーンテキストか HTML を入力または貼り付けます。

  2. モードと形式を選ぶ

    エンコードモード で 特殊文字のみ (& < > " ')、非 ASCII 文字のみ、すべての文字(特殊文字 + 非 ASCII) のいずれかを選びます。エンティティ形式 では 名前付き (&amp;)、10進数 (&#38;)、16進数 (&#x26;) から選びます。これらの設定はエンコードにだけ影響します。

  3. エンコードまたはデコードする

    HTML にエンコード でテキストをエスケープし、HTML からデコード でエンティティを文字に戻します。

  4. 結果をコピーする

    コピー で出力をクリップボードに入れます。入れ替え は出力を入力欄に戻すので、2 層目をデコードしたいときに使えます。

ヒントとベストプラクティス

  • HTML 要素の中や引用符で囲んだ属性に入れるテキストなら、5 つの特殊文字をエスケープすれば十分です。ページを UTF-8 で配信していれば、非 ASCII テキストをエンティティにする必要はありません。
  • エスケープは XSS の完全な対策ではありません。href や <script> の中、CSS に入れる値には、URL の検証や JSON エンコードなど文脈に合った処理が必要です。
  • アポストロフィは HTML 4 で定義されていなかった &apos; ではなく、&#x27;(10 進数形式では &#39;)としてエンコードされます。
  • デコードは 1 回のパスです。&amp;amp; のように二重にエスケープされたテキストはまず &amp; になるので、入れ替え を押してもう一度デコードしてください。
  • デコードされる名前付きエンティティは組み込みリストにあるものだけです。数値参照はあらゆる Unicode 文字に使えます。