HTML エンティティエンコードツール

HTMLエンティティ文字をオンライン変換、エンコード・デコード対応、XSS攻撃を効果的に防止

テキスト入力
文字数: 0
バイト数: 0
変換結果
文字数: 0
バイト数: 0

変換方法を選択

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

HTMLエンティティエンコードは、特殊文字をHTMLエンティティ参照に変換するメカニズムです。HTMLでは、特定の文字が特別な意味を持つ(<、>、&など)。これらの文字をページに表示するには、エンティティエンコードを使用する必要があります。エンティティエンコードには2つの形式があります:名前付きエンティティ(&lt;など)と数値エンティティ(&#60;など)。名前付きエンティティは読みやすく、数値エンティティは任意のUnicode文字を表現できます。

HTMLエンティティエンコードの主な用途

  • XSS攻撃防止: ユーザー入力の特殊文字をエスケープし、悪意あるスクリプト注入を防止
  • 特殊文字の表示: HTMLで < > & " ' などの予約文字を表示
  • 国際化サポート: 数値エンティティを使用して様々な言語の特殊文字を表示
  • コード表示: Webページで安全にHTMLコードを表示

使用方法

基本操作

  1. 左側の入力ボックスに変換するテキストを入力または貼り付け
  2. 対応する変換ボタンをクリックしてエンコードまたはデコード方法を選択
  3. 右側に変換結果が自動表示
  4. 「コピー」ボタンで結果をクリップボードにコピー

変換方法説明

  • HTML エンティティエンコード: < > & " ' を名前付きエンティティに変換、XSS防止に適しています
  • HTML エンティティデコード: 名前付きエンティティを元の文字に復元
  • 数値エンティティエンコード: 特殊文字を数値エンティティ形式に変換(&#60;など)
  • 完全エンコード: すべての非ASCII文字をエンコード、国際化シーンに適しています
  • 完全デコード: すべての形式のHTMLエンティティを復元

ショートカット

  • Ctrl + E - HTMLエンティティエンコード
  • Ctrl + D - HTMLエンティティデコード

よく使うHTMLエンティティ文字表

文字名前付きエンティティ数値エンティティ説明
<&lt;&#60;小なり記号
>&gt;&#62;大なり記号
&&amp;&#38;アンパサンド
"&quot;&#34;ダブルクォート
'&apos;&#39;シングルクォート
空白&nbsp;&#160;ノーブレークスペース
©&copy;&#169;コピーライト記号
®&reg;&#174;登録商標
&trade;&#8482;商標記号
&euro;&#8364;ユーロ記号
¥&yen;&#165;円記号

よくある質問 (FAQ)

Q: HTMLエンティティエンコードとURLエンコードの違いは?

A: HTMLエンティティエンコードはHTML文書で使用し、特殊文字を&xxx;または&#xxx;形式に変換;URLエンコードはURLで使用し、特殊文字を%XX形式に変換。両者は用途が異なり、HTMLエンコードはページ内容、URLエンコードはリンクアドレスに使用します。

Q: エンコード後に & が &amp; と表示されるのはなぜ?

A: & はエンティティエンコードのプレフィックスそのものなので、エンコード時に先に処理する必要があります。最初のエンコードで & は &amp; になります。これは正しい動作です。デコード時に &amp; が & に復元されます。

Q: 名前付きエンティティと数値エンティティはどちらが良いですか?

A: 名前付きエンティティ(&lt;など)は読みやすくメンテナンスしやすい;数値エンティティ(&#60;など)は任意のUnicode文字を表現でき、互換性が良い。よく使う文字には名前付き、特殊文字には数値をお勧めします。

Q: XSS攻撃を防ぐには?

A: ユーザー入力の内容をHTMLページに出力する前に、HTMLエンティティエンコードで < > & " ' などの文字をエスケープします。これにより、ユーザーが悪意あるスクリプトを入力しても、普通のテキストとして表示され、実行されません。

Q: データは安全ですか?

A: 完全に安全です。本ツールのすべての処理はブラウザでローカル完了し、データはサーバーにアップロードされません。データは常にデバイス上に残ります。