HTMLエンティティ変換
特殊文字のエンコード・デコード。XSS対策やソースコードのWeb表示に。
よく使うHTMLエンティティ一覧
| 文字 | 名前 | 10進数 | 16進数 | 説明 |
|---|---|---|---|---|
| & | & | & | & | アンパサンド |
| < | < | < | < | 小なり |
| > | > | > | > | 大なり |
| " | " | " | " | ダブルクォート |
| ' | ' | ' | ' | シングルクォート |
| |   |   | ノンブレーキングスペース | |
| © | © | © | © | 著作権 |
| ® | ® | ® | ® | 登録商標 |
| ™ | ™ | ™ | ™ | 商標 |
このツールについて
「HTMLエンティティ変換」は、テキスト内の特殊文字(`< > & " '` など)をHTMLで安全に表示可能な文字参照(エンティティ)に一括エンコードしたり、逆にエンコードされた文字列を元のテキストにデコードするWeb開発者向けのユーティリティです。
エンコード機能では、分かりやすい「名前付けエンティティ」、数値を用いた「10進数エンティティ」、および「16進数エンティティ」の3種類を同時に生成します。
使い方
タブを選択
「エンコード」タブまたは「デコード」タブを選択します。テキストをHTML安全に変換する場合はエンコード、HTMLエンティティを元に戻す場合はデコードを選びます。
テキストを入力
入力エリアにテキストを貼り付けます。エンコードでは文字を入力するたびに、名前付け・10進数・16進数の3種類のエンティティが自動生成されます。デコードでは `©` や `©` のような文字列を貼り付けます。
結果をコピー
変換結果が即座に表示されます。各出力ボックスの「コピー」ボタンをクリックして、必要な形式のエンティティをクリップボードにコピーできます。
用語集
- HTMLエンティティ (文字参照)
- アンパサンド(`&`)で始まりセミコロン(`;`)で終わる文字列のこと。HTMLパーサーがタグとして誤認してしまう文字を、ブラウザ上で正しく表示させるために使用されます。
- 名前付けエンティティ (Named Entity)
- `©`(©)のように、人間が覚えやすい名前が付けられた形式です。最も一般的に使用されます。
- 10進数・16進数エンティティ
- その文字に割り当てられたUnicodeの文字コードを数値で直接指定する方式です。すべてのUnicode文字(絵文字含む)を確実に表現できます。
- XSS (クロスサイトスクリプティング)
- 攻撃者が悪意のあるスクリプトをWebページに注入するサイバー攻撃。ユーザーの入力値を正しくHTMLエンティティにエスケープすることが、XSSを防ぐ最も基本的な対策です。
よくある質問
- Q.どの文字がエスケープされますか?
- HTMLで特別な意味を持つ5つの必須文字(`&`, `<`, `>`, `"`, `'`)が名前付きエンティティに変換されます。また、ASCII範囲外の文字(日本語、絵文字など)は自動的に数値参照に変換されます。
- Q.HTMLソースコード全体を変換できますか?
- はい。HTMLドキュメント全体を「エンコード」タブに貼り付けることで、すべてのタグが安全にエスケープされ、Webサイト上でソースコードとして表示できる状態(`<pre><code>`用)になります。
- Q.JavaScriptのエスケープシーケンス(\u00A9など)には対応していますか?
- いいえ。このツールはHTMLエンティティ(`&...;` の形式)専用です。
活用シーン
技術ブログへのソースコード掲載
HTMLソースコードの断片をブラウザに解釈させず、そのまま画面に表示させたい場合の事前変換に利用します。
XSS脆弱性のテストと確認
ユーザーからの入力値が正しくサニタイズ(無害化)されているか、エスケープ後の文字列がどうなるかを確認する用途で役立ちます。
メールマガジンの作成
古いメーラーや制限の厳しい環境ではUnicode文字が文字化けすることがあるため、事前に10進数エンティティに変換して送信する際に利用します。
フィードバックを送信
ツールをより良くするためのご意見をお聞かせください。
現在、フィードバックの受付を一時停止しています
サーバーが混み合っているか、スパム防止のための安全装置が作動しています。しばらく経ってから再度アクセスしてください。