HTMLエンティティをオンラインでエンコード・デコード。このHTMLエンティティ デコーダー&エンコーダーを使えば、HTMLのエスケープを解除(unescape)したり、HTMLエンティティをテキストに変換したり、特殊文字をHTMLの安全な形式にエンコードしたりできます。`&`、`<`、`>`、`"`、`'` などの予約文字を `&`、`<`、`>`、`"`、`'` などのエンティティに変換し、また元に戻す処理も行えます。拡張モードでは、アクセント付き文字・記号・絵文字も数値エンティティに変換できます。
テキスト、エスケープ済みのHTML、またはHTMLエンコードされた文字列を入力欄に貼り付け、エンコードかデコードかを選んでください。このツールはオンラインのHTMLデコーダー・エンコーダーとして、またHTMLエンティティのエスケープ解除用のプライベートなブラウザツールとして動作します。すべてブラウザ内でローカル処理されるため、入力したテキストがデバイス外に送信されることは一切ありません。
5 つの予約済み HTML 文字(& < > " ')のみエンコードします — アクセント付き文字や絵文字はそのまま出力されます。
🔒 テキストはブラウザ内で処理されます。何もアップロードされません。
このツールはプライベートなブラウザベースのHTMLエンティティ デコーダー&エンコーダーです。HTMLエンコードされたテキストのデコード、HTMLエンティティのエスケープ解除、HTML文字の安全なエンコードを必要とする開発者・ブロガー・CMS利用者・学習者向けのシンプルなHTMLエンティティ コンバーターとして機能します。サーバーへの通信やサードパーティライブラリを一切使わず、純粋なJavaScriptの文字列処理と厳選した名前付きエンティティテーブルによって、すべてデバイス上で処理されます。
HTMLエンティティとは、HTMLのソースコード中で特定の文字を表す短いテキストシーケンスです。`<` や `>` はHTMLタグの境界を示すため、テキスト内で `<` をそのまま使うと開始タグと誤認されます。そのため `<` のような文字は `<` と書く必要があります。エンティティはこうした曖昧さや構文上の問題を回避するために使われます。
HTMLエンティティには2種類あります。名前付きエンティティは `&` と `;` の間に可読な名前を使います(例:`&` はアンパサンド、`©` は著作権記号、`—` はemdash)。数値文字参照はUnicodeコードポイントを10進数または16進数で記述します。`©` と `©` はどちらも © を表します。
すべての開発者が知っておくべき5つの予約済みHTML文字:
この5つに加え、HTMLはアクセント付き文字(`é` = éなど)、ノーブレークスペース(` `)、タイポグラフィ記号(`—`・`“`・`”`)、通貨記号(`€` = €)、数学記号、ギリシャ文字など、数百の名前付きエンティティを定義しています。
HTMLドキュメントにプレーンテキストを挿入する際、そのテキストにHTMLの予約文字が含まれる可能性がある場合は必ずエンコードしてください。よくあるシーン:
予約済みの5文字だけをエスケープする場合はbasicモードを使用してください。最大限のHTML互換性が必要な場合や、ASCIIのみをサポートするレガシーシステムにはextendedモードが適しています。
エスケープ済みのテキストを受け取り、元の文字を読み取る・処理する・表示する必要がある場合にデコードします。検索では「HTML decode」「HTML unescape」「HTMLエンコードされたテキストを通常テキストに変換」といった表現で探されることが多いです。主なケース:
このツールは、名前付きエンティティ(`&`、`©`、`—`、` ` など数百種)と、10進数(`©`)および16進数(`©`)の数値文字参照の両方をデコードできます。
このエンコーダーには2段階のエンコードモードがあります。
basicモードは5つの予約済みHTML文字のみをエンコードします: `&` → `&`、`<` → `<`、`>` → `>`、`"` → `"`、`'` → `'`。アクセント文字(`é`、`ü` など)、記号(`©`、`—` など)、絵文字(😀など)はそのまま出力されます。ターゲット環境がUnicodeをネイティブに扱える場合はbasicモードで十分です。
extendedモードは同じ5文字をエンコードしつつ、ASCII以外のすべての文字を10進数の数値文字参照に変換します。例えば `é` → `é`、`©` → `©`、`—` → `—`、😀 → `😀` となります。純粋なASCII出力が必要な場合や、レガシーシステム向けにはextendedモードを使用してください。
開発者は同じ処理を htmlDecode、htmlEncode、HTML escape、HTML unescape、HTMLエンコード、HTMLデコードなどの言葉で検索することがあります。呼び方は様々ですが、目的は同じ: 可読文字とHTMLエンティティ表現の間を安全に変換することです。
basicモードの変換例:
extendedモードの変換例:
HTMLエンティティ エンコードとURLエンコード(パーセントエンコーディング)は、目的も出力形式も異なる別々の仕組みです。どちらも特殊文字を別の表現に変換しますが、用途が全く異なります。
HTMLエンティティ エンコードはHTMLドキュメントのためのものです。HTMLマークアップ中で特別な意味を持つ文字をエンティティシーケンスに置き換えます。HTMLパーサーはこれをテキストコンテンツとして扱います。`&` はブラウザ上で `&` として表示されます。
URLエンコード(パーセントエンコーディング)はURLのためのものです。URL中で安全でない文字や予約された文字をパーセント記号とバイト値のシーケンスに置き換えます。スペースは `%20`、`&` は `%26`、`<` は `%3C` になります。
同じ文字の両システムでの対応:
HTMLエンコードされたテキストをURLエンコーダーに貼り付けると、エンティティの記号(`&`、`;`、`#`)自体がエンコードされてしまい、意図した結果になりません。HTMLエンティティのデコード・エンコード、およびHTMLエンコードされたテキストの変換にはこのページをご利用ください。
Need to encode or decode a URL instead of HTML text? Use the URL Encoder / Decoder. Use this page for HTML entity decoding, HTML entity encoding, and converting HTML encoded text back to readable text.
HTMLエンティティ エンコード(このツール)は文字をHTMLエンティティに変換し、またその逆を行います。HTML要素の追加・削除・再構成は一切しません。ドキュメントの構造はそのまま維持され、特殊文字の表現形式のみが変わります。
HTMLサニタイズ(HTMLクリーニング)は別の処理で、HTMLマークアップを削除または書き換えます。不要なタグの除去、属性の正規化、危険なコンテンツの無害化などを行います。例えば `<b onclick="...">太字</b>` を `<b>太字</b>` や単なる `太字` に変換することがあります。
このツールはHTMLをサニタイズしません。エンコーダーに生のHTMLを貼り付けた場合、マークアップ内の山括弧や予約文字がエンコードされます。例えば `<p>こんにちは</p>` は `<p>こんにちは</p>` になります。要素の検査・削除・再構成は行いません。
また、このツールはテキストクリーナーでもありません。余分なスペースの削除、アクセントの除去、改行コードの正規化なども行いません。HTMLエンティティのエンコードとデコードのみを担います。
HTMLエンティティ デコーダーは、`&`、`<`、`>`、`"`、`'` などのエスケープ済みHTMLエンティティを元の文字に戻します。HTMLエンティティ エンコーダーはその逆で、`&`、`<`、`>`、`"`、`'` などHTMLで特別な意味を持つ文字を安全なエンティティシーケンスに変換します。このページはオンラインのHTMLデコードツールとHTMLエンコードツールの両方として機能し、basicモードとextendedモードのどちらも選択できます。すべてブラウザ内で動作します。
HTMLエンティティは、HTMLのソースコード中で文字を表す特殊なテキストシーケンスです。`&` で始まり `;` で終わります。名前付きエンティティは `&`(アンパサンド)、`<`(小なり)、`©`(著作権記号)、`—`(emdash)などの可読な名前を使います。数値文字参照は10進数(`©` = ©)または16進数(`©` = ©)のUnicodeコードポイントを使います。`<`、`>`、`&` などの文字はHTMLで予約された意味を持つため、エスケープしないとテキストとして正しく表示されません。
HTMLドキュメントにプレーンテキストを埋め込む際、HTMLの予約文字が含まれる可能性がある場合は必ずエンコードしてください。主なケース: ユーザー入力をWebページに表示する(予約文字をエスケープすることでHTMLとして解釈されるのを防ぐ)、ブログやドキュメントにコードスニペットを埋め込む、HTMLメールテンプレートを作成する、CMSフィールドにHTMLを含むテキストを保存する。ほとんどのWebコンテンツはbasicモードで十分で、純粋なASCII出力が必要な場合はextendedモードを使用します。
HTMLエスケープ済みテキストを受け取り、元の文字が必要な場合にデコードします。よくあるケース: `Tom & Jerry` のようなエスケープ済み文字列を返すAPIレスポンス、`&lt;` が `<` になるべきCMSの二重エンコード問題、エンティティエンコードされたテキストを含むRSSやAtomフィード、エスケープされたクエリパラメーターを含むログ。これはオンラインのHTML unescapeツールの利用、またはHTMLエンティティをテキストに変換することとも表現できます。
HTML unescapeとは、HTMLエンティティを元の可読文字にデコードすることです。例えば `&` は `&` に、`<` は `<` に、`>` は `>` になります。コピーしたテキスト、APIの出力、CMSのコンテンツ、ソースコードなどにHTMLエスケープが含まれていて、通常のテキストとして読みたい場合に便利です。
これらはHTMLマークアップで特別な意味を持つ予約文字に対応する5つのHTMLエンティティです。`&` はすべてのHTMLエンティティの始まりである `&` を表します。`<` はHTMLタグを開く `<` を表します。`>` はHTMLタグを閉じる `>` を表します。`"` はHTML属性値を区切る `"` を表します。`'`(HTML5では `'`)はアポストロフィ `'` を表し、属性値でも使われます。これらはテキストコンテンツとして出現する場所ではすべてエスケープが必要です。
名前付きエンティティは `&`、`©`、`—` のような可読な名前を使います。数値文字参照は10進数(`©` = ©)または16進数(`©` = ©)のUnicodeコードポイントを使います。名前付きエンティティは読み書きがしやすいですが、HTMLが標準化している名前は限られています。数値文字参照は絵文字を含む任意のUnicode文字を表現できます。
いいえ、全く別物です。HTMLエンティティ エンコードはHTMLドキュメント向けに文字をエンティティシーケンスに置き換えます(`&` → `&`)。URLエンコード(パーセントエンコーディング)はURL向けに文字をパーセント記号とバイト値に置き換えます(`&` → `%26`)。それぞれ固有のコンテキストでのみ有効です。適切なコンテキストに適切なツールを使いましょう。
いいえ。HTMLエンティティ エンコード(このツール)は文字をエンティティ表現に変換し元に戻すだけで、HTML要素の追加・削除・再構成は行いません。HTMLサニタイズは不要なタグを削除したり属性を無害化したりマークアップを正規化する別の処理です。このツールはHTML構造を一切検査・変更しません。
しません。デコードされた出力は読み取り専用のテキストエリアにプレーンテキストとして表示されます。innerHTML、dangerouslySetInnerHTML、あるいはブラウザに出力をHTMLとして解析・実行させる仕組みは一切使用しません。例えば `<script>alert(1)</script>` をデコードしても、表示されるのは `<script>alert(1)</script>` というリテラル文字列のテキストだけで、スクリプトが実行されることはありません。
されません。エンコーダーとデコーダーは純粋なJavaScriptを使用してすべてブラウザ内で動作します。入力内容がサーバーに送信されることも、保存されることも、ログに記録されることもありません。タブを閉じるとすべて消えます。APIキー・社内HTMLテンプレート・個人的なドキュメントなど、外部サービスに貼り付けたくない機密情報にも安心して使えます。
`htmldecode` は開発者がHTMLエンティティを通常のテキストにデコードする処理を指すよく使われる呼び方です。JavaScript、PHP、その他のプログラミング環境では、同じ種類の変換を htmlDecode、htmlEncode、HTML escape、HTML unescape などと呼ぶことがあります。このツールを使えばコードを書かずにオンラインでその変換ができます。
テキストの変換、エンコード、加工に使える無料オンラインツール
テキストの大文字・小文字を変換 — 大文字、小文字、タイトルケースなど
テキストをモールス符号に変換、またはその逆
音声ファイルまたはマイクからモールス信号をデコード
テキストをバイナリに変換、またはその逆
Base64テキストをエンコード・デコード
テキストを16進数に変換、またはその逆
ROT13暗号を使用してテキストをエンコードおよびデコード
対応している範囲でテキストを Unicode 上付き文字に変換します。
対応している場合にテキストをUnicodeの下付き文字に変換します
コピー・ペースト用の Unicode 打ち消し線テキストを瞬時に生成
画像をBase64文字列とデータURIに変換します
Encode and decode URL components, query strings, and percent-encoded text