HTMLエンコーダー/デコーダー
HTMLエンティティと特殊文字をエンコード・デコード
One escape per context
The right escaping depends on where the string lands:
- Element text needs < & > entities; quoted attribute values additionally need quotes escaped.
- Inside a URL or a JavaScript string, HTML entities are wrong twice over — they double-encode and can even reintroduce injection holes.
- This tool keeps the contexts separate so a value safe for an attribute does not silently get reused inside script.
Half-escaped is worse than not escaped
双方向・両スタイル
1クリックでエンコードまたはデコード。名前式(&)と数値式(&)の両方を出力でき、ターゲット形式に合わせて選べます。
必須5文字を超えて
オプションで全非ASCII文字をエンコードし、メールやレガシーシステムでも同一に表示されるフォント非依存のASCII出力を保証します。
ブラウザ内で完結するプライバシー
エンコード/デコードはすべてローカルで動作します。ライセンスキー・個人データ・サーバーに送りたくないテキストに最適です。
よくある質問
なぜHTMLエンコードが必要なのですか?
HTMLでは"<"がタグを開始し、"&"がエンティティを開始します。エスケープせずにユーザーコンテンツを挿入すると、引用符や括弧がレイアウトを崩したりインジェクションを可能にしたりします。エンコードはそれらの文字を中和し、テキストをそのまま表示させます。
名前式と数値式の違いは?
&のような名前式参照は読みやすいですが、一般的な集合しかカバーしません。&のような数値式(または16進の&)はすべてのUnicodeコードポイントで機能します。非ASCIIテキストを普遍的にエンコードする必要がある場合は数値式を使います。
テキストはどこかにアップロードされますか?
いいえ。すべてブラウザ内で純粋なJavaScriptにより動作します。転送も保存もされません。
関連ツール
HTMLエンコーダー/デコーダーとは?
ユーザー入力をWebページへ挿入する際、& < > の文字は危険です。"<"はタグを開始し、"&"はエンティティを開始し、一文字の逸脱でレイアウトが崩れたりインジェクションが可能になったりします。HTMLエンコードはこれらの文字をエンティティ形式に置き換え、テキストがマークアップとして解釈されるのではなく、書かれた通りに表示されるようにします。逆のデコードは、エンティティ文字列を読みやすい文字に戻します。
できること
- & < > " ' をエンコード、オプションで全非ASCII文字も
- 名前付きエンティティ(amp、lt、gt、quot、apos、copy、nbspなど)をデコード
- 10進・16進の数値参照(&、&)をデコード
- 1クリックで名前式と数値式エンティティを切替
- 完全にローカル処理。ライセンスキーや秘密テキストにも対応
- 入力・出力のサイズを表示
使う場面
- HTMLやテンプレートへ挿入する前にユーザー入力をエスケープ
- CMSやHTMLメール用のコンテンツを準備
- フィードやスクレイピング元のエンティティ化テキストをデコード
- ブラウザが文字列を解析するときに何を見るかを理解
プライバシー:エンコードはすべてブラウザ内で行われ、貼り付けた内容がアップロードされることはありません。