N2
NanToo
AD
開発者向け

HTMLエスケープ・アンエスケープツール

HTMLの特殊文字(< > & " ')をエスケープ・アンエスケープ。XSS対策やHTMLソースの安全な表示に。数値参照にも対応。

AD

HTMLエスケープ・アンエスケープツールについて

HTMLエスケープとは

HTMLエスケープとは、HTMLで特別な意味を持つ文字をHTMLエンティティ(文字参照)に変換する処理です。

たとえば < はHTMLタグの開始として解釈されるため、テキストとして表示するには &lt; に変換する必要があります。エスケープしないと、ブラウザがHTMLタグとして解釈し、レイアウト崩れやセキュリティ上の問題(XSS)が発生する可能性があります。

逆に、エスケープ済みの文字列を元の文字に戻す処理をアンエスケープ(デコード)と呼びます。

エスケープが必要な5つの特殊文字

HTMLで必ずエスケープすべき特殊文字は以下の5つです。

  • &(アンパサンド) → &amp; — エンティティの開始文字のため
  • <(小なり) → &lt; — HTMLタグの開始として解釈されるため
  • >(大なり) → &gt; — HTMLタグの終了として解釈されるため
  • "(ダブルクォート) → &quot; — 属性値の区切りとして解釈されるため
  • '(シングルクォート) → &#39; — 属性値の区切りとして解釈されるため

特に &< は最も重要で、これらをエスケープしないとHTMLの構文が壊れます。

HTMLエスケープの主な用途

  • Webアプリケーション開発:ユーザー入力をHTMLに埋め込む際のXSS対策
  • ブログ・CMS:HTMLコードをテキストとして表示する場合(コード例の掲載など)
  • メールテンプレート:HTML形式のメールで特殊文字を正しく表示
  • RSS/XMLフィード:コンテンツ内のHTMLタグ文字をエスケープして構文エラーを防止
  • テンプレートエンジン:サーバーサイドでの動的HTML生成時の安全なレンダリング

よくある質問

Q. 入力データはサーバーに送信されますか?
いいえ。すべての変換処理はブラウザ内のJavaScriptで完結しており、データがサーバーに送信されることはありません。
Q. HTMLエスケープはXSS対策になりますか?
HTMLエスケープはXSS(クロスサイトスクリプティング)対策の基本です。ユーザー入力を & < > " ' のエスケープなしにHTMLへ埋め込むと、悪意のあるスクリプトが実行される危険があります。ただし、エスケープだけでは不十分な場合もあり、CSP(Content Security Policy)などと組み合わせることが推奨されます。
Q. &nbsp; とは何ですか?
&nbsp; は「ノーブレークスペース(Non-Breaking Space)」を表すHTMLエンティティです。通常のスペースと異なり、この位置では改行が行われません。また、連続する空白が1つに縮約されないため、複数のスペースを表示したい場合にも使用されます。
Q. 数値文字参照(&#60; や &#x3C;)とは何ですか?
数値文字参照は、文字のUnicodeコードポイントを10進数(&#60;)または16進数(&#x3C;)で指定する方法です。名前付きエンティティ(&lt;)と同じ結果になりますが、すべてのUnicode文字を表現できるため、名前付きエンティティが存在しない文字にも使用できます。
Q. エスケープとエンコードの違いは何ですか?
HTMLエスケープはHTML文書内で特殊文字を安全に表示するための変換です。一方、URLエンコードはURLに使用できない文字を%xx形式に変換する処理です。目的と対象文字が異なるため、用途に応じて使い分ける必要があります。
このツールを評価
(0件)