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

5 つの HTML 特殊文字をエンティティにエンコード、または名前付き・10 進・16 進エンティティをテキストにデコードします。

ツールを読み込み中…

HTML エンティティ エンコード / デコードHTML の予約文字 5 つ(&、<、>、"、')を安全なエンティティにエスケープしたり、名前付き・10 進・16 進エンティティをプレーンテキストに戻したりできます。「すべての非 ASCII をエンコード」を有効にすると、U+007F を超えるすべての文字を数値エンティティに変換します。デコードはブラウザ内蔵の HTML パーサーを使うため、認識できるエンティティはすべて正しく解決され、処理はすべてブラウザ内で完結します。

HTML エンティティ エンコード / デコードとは?

HTML エンティティ エンコード / デコードは、テキストと HTML エンティティを相互に変換できる無料のオンラインツールです。エンコードモードは予約された 5 つの HTML 文字——アンパサンド(&amp;)、小なり(&lt;)、大なり(&gt;)、二重引用符(&quot;)、アポストロフィ(&#39;)——をエスケープし、ページを壊したり XSS の穴を作ったりせずにマークアップや属性の中へ安全に置けるようにします。デコードモードは、&copy; や &nbsp; のような名前付き参照、&#169; のような 10 進参照、&#xA9; のような 16 進参照など、あらゆる形式のエンティティを解決します。Web 開発者、テクニカルライター、CMS の編集者が、コード例を HTML に貼り付けたり、ユーザー入力の文字列をサニタイズしたり、フィードやエクスポートからコピーしたエンティティだらけのスニペットをプレーンテキストとして読んだりするのに使います。セグメントトグルでエンコードとデコードを切り替え、アクセント付き文字・CJK 文字・絵文字も数値エンティティにしたいときは設定で「すべての非 ASCII をエンコード」を有効にできます。

HTML エンティティ エンコード / デコードの使い方

  1. 上部のセグメントトグルで Encode(エンコード)または Decode(デコード)を選びます。
  2. 入力ボックスにテキストを貼り付けるか入力すると、下の読み取り専用の出力ボックスに結果がリアルタイムで表示されます。
  3. エンコード時、U+007F を超えるすべての文字も数値の &#NNN; エンティティにしたい場合は、設定を開いて「すべての非 ASCII をエンコード」をオンにします。
  4. 出力フィールドのコピーボタンをクリックして、エンコードまたはデコードされた結果をコピーします。
  5. Swap をクリックすると出力を入力に移してモードを反転し往復チェックができます。Clear をクリックすると入力をリセットします。

使用例

予約文字 5 つをエンコード

入力

<a href="x">Tom & Jerry's</a>

出力

&lt;a href=&quot;x&quot;&gt;Tom &amp; Jerry&#39;s&lt;/a&gt;

名前付き・10 進・16 進が混在したエンティティをデコード

入力

100&nbsp;&#37; &#x263A; &copy;

出力

100 % ☺ ©

すべての非 ASCII を数値エンティティにエンコード

入力

Café & 日本

出力

Caf&#233; &amp; &#26085;&#26412;

よくある質問

エンコードモードはどの文字をエスケープしますか?
既定では HTML で特別な意味を持つ 5 文字だけをエスケープします。& は &amp;、< は &lt;、> は &gt;、" は &quot;、' は &#39; になります。& を最初に変換するため、生成されたエンティティが二重にエスケープされることはありません。設定で「すべての非 ASCII をエンコード」を有効にすると、U+007F を超えるすべての文字も数値の &#NNN; エンティティに変換されます。
デコードモードはどんな種類のエンティティを解決できますか?
3 つの形式すべてです。&amp;、&nbsp;、&copy;、&mdash; のような名前付き参照、&#169; のような 10 進数値参照、&#xA9; のような 16 進数値参照です。デコードはテキストをブラウザ内蔵の HTML パーサーに渡すため、ブラウザが認識するエンティティは実際のページと同じように解決されます。
エンコードは XSS を防げますか?
&、<、>、"、' のエスケープは、信頼できないテキストを HTML 本文や二重引用符付きの属性値に置く際の中心的な防御であり、本ツールが行うのはまさにこれです。ただし、すべての文脈(引用符なし属性、URL、インラインスクリプトなど)に対応する完全なサニタイザーではないため、標準的な HTML 出力用のエンコードと考え、完全なセキュリティ対策とは見なさないでください。
絵文字や基本多言語面以外の文字も扱えますか?
はい。エンコードは Unicode コードポイント単位でテキストを走査するため、絵文字のようなサロゲートペアも壊れた 2 つの半分ではなく、1 つの正しい &#NNN; エンティティとしてエンコードされ、デコードでは数値エンティティが元の文字に戻されます。
私のテキストはサーバーにアップロードされますか?
いいえ。エンコードもデコードもすべてブラウザ内で実行されます。エンコードは文字マップで、デコードはページに一切追加されない分離した textarea で行われるため、スクリプトは実行されません。何もアップロード・保存・送信されないため、非公開のコード、社内文章、未公開コンテンツにも安全に使えます。

関連ツール