ssecutils

🏷️ HTML Entity Encoder / Decoder

HTMLエンティティとテキストの相互変換。XSS対策の最小エスケープ、名前付きエンティティ、数値参照(10進・16進)の切替に対応。 すべてブラウザ内で処理され、入力データはサーバーに送信されません。

エンコードレベル
45 文字 · 48 bytes
82 bytes

💡 HTMLエンティティについて

  • minimal: XSS対策で必須となる < > & " ' の5文字のみエスケープ。HTMLコンテキストに動的データを埋め込む際の最低ライン。
  • 名前付き: minimal + 記号類(&copy; &trade; &mdash; 等の40種程度)を可読な形にエスケープ。
  • ASCII以外: 印字可能ASCII(0x20〜0x7E)以外をすべて &#数値; に。日本語などをASCIIだけで送信したい場合に。
  • 数値参照: 10進(&#65;)または16進(&#x41;)でUnicodeコードポイントを表記。すべてのHTMLパーサーで安全に扱えます。
  • デコードは名前付きエンティティ約40種、数値参照(10進/16進)に対応します。

📖 関連する解説記事

使い方と解説

HTMLエンティティをエンコード・デコードする

HTML Entity Encoder / Decoder は、HTMLエンティティと通常テキストを相互変換するツールです。HTML表示崩れ、XSS対策のエスケープ確認、CMS入力値の調査に使えます。

入力データの扱い

入力したHTMLやテキストはブラウザ内で変換され、サーバーへ送信されません。

HTML表示の崩れを確認する

&lt;、&gt;、&amp;、&quot; などの文字はHTML内で特別な意味を持ちます。適切にエスケープされているか確認することで、表示崩れや意図しないタグ解釈を防ぎやすくなります。

XSS対策の確認に使う

ユーザー入力をHTMLへ出力する場合、文脈に応じたエスケープが必要です。HTMLエンティティ変換の結果を見ながら、危険な文字がそのまま出ていないか確認できます。

変換の順序で起きる二重エスケープ

自前でエスケープ処理を書くと踏みやすい罠が変換の順序です。エスケープすべき文字は & < > " ' の5つですが、このうち & は他のエンティティ自身の先頭文字でもあります。もし < を &lt; に変換してから & を &amp; に変換すると、さきほど作った &lt; の & まで変換されて &amp;lt; になり、画面には &lt; という文字列がそのまま表示されます。「エスケープしたはずなのに実体参照が画面に見えている」という症状はこれです。&amp; を必ず最初に変換すれば起きません。逆にデコードするときは順序が反対で、&amp; を最後に戻します。このツールで変換前後を見比べると、二重エスケープが起きているかどうかを目視で確認できます。

HTML Entity Encoder / Decoder でできること

  • HTMLエンティティの相互変換
  • XSS対策のエスケープ確認
  • CMSやテンプレートの表示調査に使える
関連ツール

次に使うツール

作業の流れに近いツールへすぐ移動できます。

解説記事

このツールに関連する解説記事

すべての記事 →