ConvertText.app LogoConvertText.app

HTMLエンティティ エンコーダー / デコーダー

HTMLエンティティをオンラインでエンコード・デコード。このHTMLエンティティ デコーダー&エンコーダーを使えば、HTMLのエスケープを解除(unescape)したり、HTMLエンティティをテキストに変換したり、特殊文字をHTMLの安全な形式にエンコードしたりできます。`&`、`<`、`>`、`"`、`'` などの予約文字を `&amp;`、`&lt;`、`&gt;`、`&quot;`、`&#39;` などのエンティティに変換し、また元に戻す処理も行えます。拡張モードでは、アクセント付き文字・記号・絵文字も数値エンティティに変換できます。

テキスト、エスケープ済みのHTML、またはHTMLエンコードされた文字列を入力欄に貼り付け、エンコードかデコードかを選んでください。このツールはオンラインのHTMLデコーダー・エンコーダーとして、またHTMLエンティティのエスケープ解除用のプライベートなブラウザツールとして動作します。すべてブラウザ内でローカル処理されるため、入力したテキストがデバイス外に送信されることは一切ありません。

変換オプション
エンコードまたはデコードを選択し、エンコード時はエンコードの詳細レベルを指定してください。

5 つの予約済み HTML 文字(& < > " ')のみエンコードします — アクセント付き文字や絵文字はそのまま出力されます。

エンコードするテキスト
エンコードしたいテキストを入力してください。予約済み文字は HTML エンティティに変換されます。
0 文字
エンコード出力
HTML エンティティでエンコードされた結果。HTML ソースへの埋め込みに安全です。
0 文字

🔒 テキストはブラウザ内で処理されます。何もアップロードされません。

このツールはプライベートなブラウザベースのHTMLエンティティ デコーダー&エンコーダーです。HTMLエンコードされたテキストのデコード、HTMLエンティティのエスケープ解除、HTML文字の安全なエンコードを必要とする開発者・ブロガー・CMS利用者・学習者向けのシンプルなHTMLエンティティ コンバーターとして機能します。サーバーへの通信やサードパーティライブラリを一切使わず、純粋なJavaScriptの文字列処理と厳選した名前付きエンティティテーブルによって、すべてデバイス上で処理されます。

HTMLエンティティとは何か

HTMLエンティティとは、HTMLのソースコード中で特定の文字を表す短いテキストシーケンスです。`<` や `>` はHTMLタグの境界を示すため、テキスト内で `<` をそのまま使うと開始タグと誤認されます。そのため `<` のような文字は `&lt;` と書く必要があります。エンティティはこうした曖昧さや構文上の問題を回避するために使われます。

HTMLエンティティには2種類あります。名前付きエンティティは `&` と `;` の間に可読な名前を使います(例:`&amp;` はアンパサンド、`&copy;` は著作権記号、`&mdash;` はemdash)。数値文字参照はUnicodeコードポイントを10進数または16進数で記述します。`&#169;` と `&#xA9;` はどちらも © を表します。

すべての開発者が知っておくべき5つの予約済みHTML文字:

  • `&amp;` – アンパサンド `&`
  • `&lt;` – 小なり記号 `<`
  • `&gt;` – 大なり記号 `>`
  • `&quot;` – ダブルクォート `"`
  • `&#39;` – シングルクォート / アポストロフィ `'`

この5つに加え、HTMLはアクセント付き文字(`&eacute;` = éなど)、ノーブレークスペース(`&nbsp;`)、タイポグラフィ記号(`&mdash;`・`&ldquo;`・`&rdquo;`)、通貨記号(`&euro;` = €)、数学記号、ギリシャ文字など、数百の名前付きエンティティを定義しています。

HTMLエンティティをエンコードするのはどんな場面か

HTMLドキュメントにプレーンテキストを挿入する際、そのテキストにHTMLの予約文字が含まれる可能性がある場合は必ずエンコードしてください。よくあるシーン:

  • ユーザー入力やブログテキストを、生のHTMLを格納するCMSやテンプレートに貼り付ける。
  • ブログ記事やドキュメントにコードサンプルを埋め込む。`<strong>太字</strong>` のようなスニペットは `&lt;strong&gt;太字&lt;/strong&gt;` にエンコードしないと、ブラウザがHTMLとして解釈してしまいます。
  • `<script>` タグ内のJSONペイロードに `<`、`>`、`&` が含まれる場合、周囲のHTML構造が壊れる可能性があります。
  • ダブルクォートを含む可能性がある属性値を格納して、`"..."` の区切りが崩れないようにする。
  • HTMLメールテンプレート向けに特殊文字をエンコードする。

予約済みの5文字だけをエスケープする場合はbasicモードを使用してください。最大限のHTML互換性が必要な場合や、ASCIIのみをサポートするレガシーシステムにはextendedモードが適しています。

HTMLエンティティをデコードするのはどんな場面か

エスケープ済みのテキストを受け取り、元の文字を読み取る・処理する・表示する必要がある場合にデコードします。検索では「HTML decode」「HTML unescape」「HTMLエンコードされたテキストを通常テキストに変換」といった表現で探されることが多いです。主なケース:

  • APIレスポンスの文字列フィールドにHTMLエスケープ済みテキストが含まれている場合。例えば `Tom &amp; Jerry` が返ってきて、期待値は `Tom & Jerry` というケースです。HTMLエンティティをテキストに変換する必要があります。
  • CMSが二重エンコードしてしまい、`&lt;` や `<` ではなく `&amp;lt;` という文字列が生まれている場合。
  • テキストコンテンツがHTMLエンコードされていることが多いRSSやAtomフィードのエントリを読む場合。
  • HTMLエスケープされたクエリパラメーターやエラーメッセージを含むログ行を確認する場合。
  • エンティティとして格納されたHTMLソースから表示テキストをコピーする場合。

このツールは、名前付きエンティティ(`&amp;`、`&copy;`、`&mdash;`、`&nbsp;` など数百種)と、10進数(`&#169;`)および16進数(`&#xA9;`)の数値文字参照の両方をデコードできます。

basicモードとextendedモードの違い

このエンコーダーには2段階のエンコードモードがあります。

basicモードは5つの予約済みHTML文字のみをエンコードします: `&` → `&amp;`、`<` → `&lt;`、`>` → `&gt;`、`"` → `&quot;`、`'` → `&#39;`。アクセント文字(`é`、`ü` など)、記号(`©`、`—` など)、絵文字(😀など)はそのまま出力されます。ターゲット環境がUnicodeをネイティブに扱える場合はbasicモードで十分です。

extendedモードは同じ5文字をエンコードしつつ、ASCII以外のすべての文字を10進数の数値文字参照に変換します。例えば `é` → `&#233;`、`©` → `&#169;`、`—` → `&#8212;`、😀 → `&#128512;` となります。純粋なASCII出力が必要な場合や、レガシーシステム向けにはextendedモードを使用してください。

開発者は同じ処理を htmlDecode、htmlEncode、HTML escape、HTML unescape、HTMLエンコード、HTMLデコードなどの言葉で検索することがあります。呼び方は様々ですが、目的は同じ: 可読文字とHTMLエンティティ表現の間を安全に変換することです。

basicモードの変換例:

  • 入力: `Café & © 😀`
  • エンコード後 (basic): `Café &amp; © 😀`
  • デコード後: `Café & © 😀`

extendedモードの変換例:

  • 入力: `Café & © 😀`
  • エンコード後 (extended): `Caf&#233; &amp; &#169; &#128512;`
  • デコード後: `Café & © 😀`

HTMLエンティティ エンコードとURLエンコードの違い

HTMLエンティティ エンコードとURLエンコード(パーセントエンコーディング)は、目的も出力形式も異なる別々の仕組みです。どちらも特殊文字を別の表現に変換しますが、用途が全く異なります。

HTMLエンティティ エンコードはHTMLドキュメントのためのものです。HTMLマークアップ中で特別な意味を持つ文字をエンティティシーケンスに置き換えます。HTMLパーサーはこれをテキストコンテンツとして扱います。`&amp;` はブラウザ上で `&` として表示されます。

URLエンコード(パーセントエンコーディング)はURLのためのものです。URL中で安全でない文字や予約された文字をパーセント記号とバイト値のシーケンスに置き換えます。スペースは `%20`、`&` は `%26`、`<` は `%3C` になります。

同じ文字の両システムでの対応:

  • `&` – HTML: `&amp;`、URL: `%26`
  • `<` – HTML: `&lt;`、URL: `%3C`
  • `>` – HTML: `&gt;`、URL: `%3E`
  • `"` – HTML: `&quot;`、URL: `%22`
  • `'` – HTML: `&#39;`、URL: `%27`

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サニタイズ(HTMLクリーニング)は別の処理で、HTMLマークアップを削除または書き換えます。不要なタグの除去、属性の正規化、危険なコンテンツの無害化などを行います。例えば `<b onclick="...">太字</b>` を `<b>太字</b>` や単なる `太字` に変換することがあります。

このツールはHTMLをサニタイズしません。エンコーダーに生のHTMLを貼り付けた場合、マークアップ内の山括弧や予約文字がエンコードされます。例えば `<p>こんにちは</p>` は `&lt;p&gt;こんにちは&lt;/p&gt;` になります。要素の検査・削除・再構成は行いません。

また、このツールはテキストクリーナーでもありません。余分なスペースの削除、アクセントの除去、改行コードの正規化なども行いません。HTMLエンティティのエンコードとデコードのみを担います。

よくある質問

HTMLエンティティ デコーダー&エンコーダーとは何ですか?

HTMLエンティティ デコーダーは、`&amp;`、`&lt;`、`&gt;`、`&quot;`、`&#39;` などのエスケープ済みHTMLエンティティを元の文字に戻します。HTMLエンティティ エンコーダーはその逆で、`&`、`<`、`>`、`"`、`'` などHTMLで特別な意味を持つ文字を安全なエンティティシーケンスに変換します。このページはオンラインのHTMLデコードツールとHTMLエンコードツールの両方として機能し、basicモードとextendedモードのどちらも選択できます。すべてブラウザ内で動作します。

HTMLエンティティとは何ですか?

HTMLエンティティは、HTMLのソースコード中で文字を表す特殊なテキストシーケンスです。`&` で始まり `;` で終わります。名前付きエンティティは `&amp;`(アンパサンド)、`&lt;`(小なり)、`&copy;`(著作権記号)、`&mdash;`(emdash)などの可読な名前を使います。数値文字参照は10進数(`&#169;` = ©)または16進数(`&#xA9;` = ©)のUnicodeコードポイントを使います。`<`、`>`、`&` などの文字はHTMLで予約された意味を持つため、エスケープしないとテキストとして正しく表示されません。

HTMLエンティティをエンコードすべきタイミングは?

HTMLドキュメントにプレーンテキストを埋め込む際、HTMLの予約文字が含まれる可能性がある場合は必ずエンコードしてください。主なケース: ユーザー入力をWebページに表示する(予約文字をエスケープすることでHTMLとして解釈されるのを防ぐ)、ブログやドキュメントにコードスニペットを埋め込む、HTMLメールテンプレートを作成する、CMSフィールドにHTMLを含むテキストを保存する。ほとんどのWebコンテンツはbasicモードで十分で、純粋なASCII出力が必要な場合はextendedモードを使用します。

HTMLエンティティをデコードすべきタイミングは?

HTMLエスケープ済みテキストを受け取り、元の文字が必要な場合にデコードします。よくあるケース: `Tom &amp; Jerry` のようなエスケープ済み文字列を返すAPIレスポンス、`&amp;lt;` が `<` になるべきCMSの二重エンコード問題、エンティティエンコードされたテキストを含むRSSやAtomフィード、エスケープされたクエリパラメーターを含むログ。これはオンラインのHTML unescapeツールの利用、またはHTMLエンティティをテキストに変換することとも表現できます。

HTML unescapeとはどういう意味ですか?

HTML unescapeとは、HTMLエンティティを元の可読文字にデコードすることです。例えば `&amp;` は `&` に、`&lt;` は `<` に、`&gt;` は `>` になります。コピーしたテキスト、APIの出力、CMSのコンテンツ、ソースコードなどにHTMLエスケープが含まれていて、通常のテキストとして読みたい場合に便利です。

`&amp;`・`&lt;`・`&gt;`・`&quot;`・`&#39;` の違いは何ですか?

これらはHTMLマークアップで特別な意味を持つ予約文字に対応する5つのHTMLエンティティです。`&amp;` はすべてのHTMLエンティティの始まりである `&` を表します。`&lt;` はHTMLタグを開く `<` を表します。`&gt;` はHTMLタグを閉じる `>` を表します。`&quot;` はHTML属性値を区切る `"` を表します。`&#39;`(HTML5では `&apos;`)はアポストロフィ `'` を表し、属性値でも使われます。これらはテキストコンテンツとして出現する場所ではすべてエスケープが必要です。

名前付きエンティティと数値文字参照の違いは何ですか?

名前付きエンティティは `&amp;`、`&copy;`、`&mdash;` のような可読な名前を使います。数値文字参照は10進数(`&#169;` = ©)または16進数(`&#xA9;` = ©)のUnicodeコードポイントを使います。名前付きエンティティは読み書きがしやすいですが、HTMLが標準化している名前は限られています。数値文字参照は絵文字を含む任意のUnicode文字を表現できます。

HTMLエンティティ エンコードとURLエンコードは同じですか?

いいえ、全く別物です。HTMLエンティティ エンコードはHTMLドキュメント向けに文字をエンティティシーケンスに置き換えます(`&` → `&amp;`)。URLエンコード(パーセントエンコーディング)はURL向けに文字をパーセント記号とバイト値に置き換えます(`&` → `%26`)。それぞれ固有のコンテキストでのみ有効です。適切なコンテキストに適切なツールを使いましょう。

HTMLエンティティ エンコードとHTMLサニタイズは同じですか?

いいえ。HTMLエンティティ エンコード(このツール)は文字をエンティティ表現に変換し元に戻すだけで、HTML要素の追加・削除・再構成は行いません。HTMLサニタイズは不要なタグを削除したり属性を無害化したりマークアップを正規化する別の処理です。このツールはHTML構造を一切検査・変更しません。

このツールはHTMLをレンダリングまたは実行しますか?

しません。デコードされた出力は読み取り専用のテキストエリアにプレーンテキストとして表示されます。innerHTML、dangerouslySetInnerHTML、あるいはブラウザに出力をHTMLとして解析・実行させる仕組みは一切使用しません。例えば `&lt;script&gt;alert(1)&lt;/script&gt;` をデコードしても、表示されるのは `<script>alert(1)</script>` というリテラル文字列のテキストだけで、スクリプトが実行されることはありません。

入力したテキストはサーバーにアップロードされますか?

されません。エンコーダーとデコーダーは純粋なJavaScriptを使用してすべてブラウザ内で動作します。入力内容がサーバーに送信されることも、保存されることも、ログに記録されることもありません。タブを閉じるとすべて消えます。APIキー・社内HTMLテンプレート・個人的なドキュメントなど、外部サービスに貼り付けたくない機密情報にも安心して使えます。

htmldecodeとは何ですか?

`htmldecode` は開発者がHTMLエンティティを通常のテキストにデコードする処理を指すよく使われる呼び方です。JavaScript、PHP、その他のプログラミング環境では、同じ種類の変換を htmlDecode、htmlEncode、HTML escape、HTML unescape などと呼ぶことがあります。このツールを使えばコードを書かずにオンラインでその変換ができます。

その他のテキストツールを探す

テキストの変換、エンコード、加工に使える無料オンラインツール

テキスト変換

テキストの大文字・小文字を変換 — 大文字、小文字、タイトルケースなど

モールス信号変換

テキストをモールス符号に変換、またはその逆

モールス信号オーディオデコーダー

音声ファイルまたはマイクからモールス信号をデコード

バイナリ変換

テキストをバイナリに変換、またはその逆

Base64 エンコーダー/デコーダー

Base64テキストをエンコード・デコード

Hex Converter

テキストを16進数に変換、またはその逆

ROT13 エンコーダー/デコーダー

ROT13暗号を使用してテキストをエンコードおよびデコード

上付き文字ジェネレーター

対応している範囲でテキストを Unicode 上付き文字に変換します。

下付き文字ジェネレーター

対応している場合にテキストをUnicodeの下付き文字に変換します

打ち消し線テキストジェネレーター

コピー・ペースト用の Unicode 打ち消し線テキストを瞬時に生成

画像をBase64に変換

画像をBase64文字列とデータURIに変換します

URL Encoder / Decoder

Encode and decode URL components, query strings, and percent-encoded text