HTMLエスケープ変換ツール
HTMLの特殊文字をエンティティに変換・逆変換。リアルタイム変換でXSS対策にも役立ちます。
テキスト入力
ヒント: 入力すると自動で変換されます。Ctrl+Enterでも変換を実行できます。
変換結果
HTMLプレビュー
プレビューがここに表示されます
アンエスケープ結果をHTMLとして描画します(XSS注意)
このツールの使い方
- 「エスケープ」または「アンエスケープ」モードを選択します
- テキストエリアにテキストを入力すると自動で変換されます
- 「コピー」ボタンで結果をクリップボードにコピーできます
- 「ダウンロード」ボタンでテキストファイルとして保存できます
- 「HTMLプレビュー」でアンエスケープ結果を実際にHTMLとして確認できます
このツールの特徴
- リアルタイム変換: 入力と同時に自動で変換結果を表示
- 双方向変換: エスケープとアンエスケープの両方に対応
- HTMLプレビュー: アンエスケープ結果を実際のHTMLとして確認可能
- 統計情報: 変換前後の文字数や特殊文字の数を表示
- 主要な特殊文字対応: <、>、&、"、'などを自動変換
- サンプル読込: 典型的な例をワンクリックで確認
- コピー機能: ワンクリックでクリップボードにコピー
- ダウンロード機能: 変換結果をテキストファイルで保存
- キーボードショートカット: Ctrl+Enterで変換を実行
- XSS対策: Webページに表示する前のテキスト処理に活用
- ブラウザ内完結: データはサーバーに送信されません
- レスポンシブ対応: スマホ・タブレットでも快適に操作
- 完全無料: 登録不要で今すぐ使えます
こんな時に便利
- HTMLコードをブログやWebページに表示する際のエスケープ
- ユーザー入力データをWebページに安全に表示する処理
- HTMLメールのコンテンツ作成
- プログラミングコードのサンプル表示
- XMLやSVGファイルのテキスト処理
- データベースに保存する前のテキスト処理
- Web開発時のXSS対策確認
- CMSやブログシステムでのコード入力
HTMLエスケープとは
HTMLエスケープとは、HTML内で特別な意味を持つ文字(<、>、&など)を、ブラウザが文字として認識する形式(HTMLエンティティ)に変換することです。これにより、HTMLタグとして解釈されずに、テキストとして表示できるようになります。
例えば、<script>というテキストをそのままHTMLに記述すると、ブラウザはこれをJavaScriptのタグとして解釈しようとします。しかし、<script>とエスケープすることで、タグではなく文字列として表示されます。
変換対応表
| 元の文字 | 変換後(HTMLエンティティ) | 説明 |
|---|---|---|
< |
< |
小なり記号(タグの開始) |
> |
> |
大なり記号(タグの終了) |
& |
& |
アンパサンド |
" |
" |
ダブルクォート |
' |
' または ' |
シングルクォート |
セキュリティ上の重要性
HTMLエスケープは、クロスサイトスクリプティング(XSS)攻撃を防ぐための重要な対策です。ユーザーからの入力をWebページに表示する際は、必ずエスケープ処理を行うことが推奨されます。
XSS攻撃の例:
悪意のあるユーザーが<script>alert('XSS')</script>というテキストを入力した場合、エスケープせずに表示すると、このスクリプトが実行されてしまいます。しかし、エスケープすることで、単なるテキストとして表示され、スクリプトは実行されません。
対策のポイント:
- ユーザー入力は常に信頼しない
- HTML内に表示する前に必ずエスケープ
- HTMLタグとして扱いたい場合は、許可リストベースのサニタイズを使用
- JavaScriptのコンテキストでは追加の対策が必要
エスケープとサニタイズの違い
エスケープ:特殊文字を無害な形式に変換。すべての文字を文字列として扱う。
サニタイズ:危険なタグやスクリプトを除去しつつ、安全なHTMLタグは許可する。
基本的にはエスケープが推奨されます。HTMLタグを許可したい場合のみ、ホワイトリスト方式のサニタイズを使用してください。
注意点
- 入力したテキストはブラウザ上でのみ処理され、サーバーには保存されません
- 「HTMLプレビュー」機能は、アンエスケープされたコードを実際に実行します。信頼できないコードのプレビューには注意してください
- このツールは基本的な5つの特殊文字をエスケープします。より詳細な制御が必要な場合は、プログラム内でのエスケープ処理を検討してください
- 非常に大きなテキスト(数MB以上)の場合、ブラウザの性能により処理に時間がかかる場合があります
- エスケープは文字列を安全にする一つの手段ですが、完全なセキュリティを保証するものではありません