ウェブ開発ツール
HTMLエンティティエンコーダー/デコーダー - & < > " 変換
<、>、&、" などのHTML特殊文字をエンティティに変換、またはエンティティを元の文字に戻します。コードの断片やユーザー入力を安全にページに埋め込むときに使います。
HTMLエンティティが必要になるとき
ウェブページの本文に <script> タグをそのまま書くと、ブラウザはそれを文字ではなく実際のタグとして解釈します。そのため、コード例をそのまま表示したり、ユーザーが送信したテキストをそのまま画面に映すには、<、>、&、" などの特殊文字を <、>、&、" に変える必要があります。これをHTMLエスケープと呼びます。
このツールはその変換を一度に行います。エンティティにエンコードボタンが特殊文字を安全な形に変え、逆方向はスクレイピングしたデータに混じったエンティティを読みやすい文字に戻します。
こんな方に特に役立ちます
- ブロガー・テクニカルライター — 記事にHTMLタグやコードの断片を安全に掲載するとき
- ウェブ開発者 — テンプレートエンジンなしで静的ページを直接書くとき
- マーケター・コンテンツライター — メールやPDFから貼り付けた
&だらけのテキストを整理するとき - QAエンジニア・データアナリスト — スクレイピング結果に混じったエンティティを読むとき
使い方
- 左側の入力欄にテキストまたはHTMLを貼り付けます。
- エンティティにエンコードボタンを押すと、特殊文字がエンティティに変換されて右側に表示されます。逆方向はエンティティからデコードボタンを使います。
- 「ASCII以外のすべての文字を数値エンティティに変換」をオンにすると、韓国語・日本語・絵文字まで
&#...形式に変換されます。メールエンコードなど特殊な目的に限って使ってください。
注意点
HTMLエスケープだけではすべてのXSS攻撃を防げるわけではありません。ユーザー入力を属性値やURLに入れるときは、その文脈に応じた追加処理が必要です。このツールは基本的な本文のエスケープとデコードを素早く処理するためのものです。
よくある質問
既定では
<、>、&、"、'(シングルクォート)を変換します。「すべての文字を数値エンティティに」オプションをオンにすると、ASCII範囲外の文字まで &#NNNN; 形式に変換されます。いいえ。エンコードとデコードはブラウザ内だけで行われます。機密性の高いコンテンツも外部に送信されないため、安全に扱えます。
いいえ。本文に置くテキストの基本的なエスケープは処理しますが、属性値やURLに入れる値には文脈に応じた追加エンコードが必要です。セキュリティが重要な場面では、各言語やフレームワークが提供する専用のエスケープ関数を併用してください。
どちらも同じ文字を指します。名前付きエンティティは
& のように名前で表し、数値エンティティはUnicodeのコードポイントで & のように表します。名前付きは対応文字が限られますが、数値エンティティは任意のUnicode文字を表現できるためより汎用的です。Share this page