HTML エンティティ変換 — HTML のエスケープとアンエスケープ
テキストを名前付きまたは数値の文字参照で HTML 用にエスケープし、& のような参照を文字に戻し、エンティティの一覧表を検索できます。
<p class="note">Fish & chips — £4.50 at Café "Ōshima" 🐟</p>
HTML エンティティ一覧
| 文字 | 名前付き | 10 進数 | 16 進数 | |
|---|---|---|---|---|
| " | " | " | " | |
| & | & | & | & | |
| ' | ' | ' | ' | |
| < | < | < | < | |
| > | > | > | > | |
| · | |   |   | |
| ¡ | ¡ | ¡ | ¡ | |
| ¢ | ¢ | ¢ | ¢ | |
| £ | £ | £ | £ | |
| ¤ | ¤ | ¤ | ¤ | |
| ¥ | ¥ | ¥ | ¥ | |
| ¦ | ¦ | ¦ | ¦ | |
| § | § | § | § | |
| ¨ | ¨ | ¨ | ¨ | |
| © | © | © | © | |
| ª | ª | ª | ª | |
| « | « | « | « | |
| ¬ | ¬ | ¬ | ¬ | |
| · | ­ | ­ | ­ | |
| ® | ® | ® | ® | |
| ¯ | ¯ | ¯ | ¯ | |
| ° | ° | ° | ° | |
| ± | ± | ± | ± | |
| ² | ² | ² | ² | |
| ³ | ³ | ³ | ³ | |
| ´ | ´ | ´ | ´ | |
| µ | µ | µ | µ | |
| ¶ | ¶ | ¶ | ¶ | |
| · | · | · | · | |
| ¸ | ¸ | ¸ | ¸ | |
| ¹ | ¹ | ¹ | ¹ | |
| º | º | º | º | |
| » | » | » | » | |
| ¼ | ¼ | ¼ | ¼ | |
| ½ | ½ | ½ | ½ | |
| ¾ | ¾ | ¾ | ¾ | |
| ¿ | ¿ | ¿ | ¿ | |
| À | À | À | À | |
| Á | Á | Á | Á | |
| Â | Â | Â | Â | |
| Ã | Ã | Ã | Ã | |
| Ä | Ä | Ä | Ä | |
| Å | Å | Å | Å | |
| Æ | Æ | Æ | Æ | |
| Ç | Ç | Ç | Ç | |
| È | È | È | È | |
| É | É | É | É | |
| Ê | Ê | Ê | Ê | |
| Ë | Ë | Ë | Ë | |
| Ì | Ì | Ì | Ì | |
| Í | Í | Í | Í | |
| Î | Î | Î | Î | |
| Ï | Ï | Ï | Ï | |
| Ð | Ð | Ð | Ð | |
| Ñ | Ñ | Ñ | Ñ | |
| Ò | Ò | Ò | Ò | |
| Ó | Ó | Ó | Ó | |
| Ô | Ô | Ô | Ô | |
| Õ | Õ | Õ | Õ | |
| Ö | Ö | Ö | Ö | |
| × | × | × | × | |
| Ø | Ø | Ø | Ø | |
| Ù | Ù | Ù | Ù | |
| Ú | Ú | Ú | Ú | |
| Û | Û | Û | Û | |
| Ü | Ü | Ü | Ü | |
| Ý | Ý | Ý | Ý | |
| Þ | Þ | Þ | Þ | |
| ß | ß | ß | ß | |
| à | à | à | à | |
| á | á | á | á | |
| â | â | â | â | |
| ã | ã | ã | ã | |
| ä | ä | ä | ä | |
| å | å | å | å | |
| æ | æ | æ | æ | |
| ç | ç | ç | ç | |
| è | è | è | è | |
| é | é | é | é | |
| ê | ê | ê | ê | |
| ë | ë | ë | ë | |
| ì | ì | ì | ì | |
| í | í | í | í | |
| î | î | î | î | |
| ï | ï | ï | ï | |
| ð | ð | ð | ð | |
| ñ | ñ | ñ | ñ | |
| ò | ò | ò | ò | |
| ó | ó | ó | ó | |
| ô | ô | ô | ô | |
| õ | õ | õ | õ | |
| ö | ö | ö | ö | |
| ÷ | ÷ | ÷ | ÷ | |
| ø | ø | ø | ø | |
| ù | ù | ù | ù | |
| ú | ú | ú | ú | |
| û | û | û | û | |
| ü | ü | ü | ü | |
| ý | ý | ý | ý | |
| þ | þ | þ | þ | |
| ÿ | ÿ | ÿ | ÿ | |
| Α | Α | Α | Α | |
| Β | Β | Β | Β | |
| Γ | Γ | Γ | Γ | |
| Δ | Δ | Δ | Δ | |
| Ε | Ε | Ε | Ε | |
| Ζ | Ζ | Ζ | Ζ | |
| Η | Η | Η | Η | |
| Θ | Θ | Θ | Θ | |
| Ι | Ι | Ι | Ι | |
| Κ | Κ | Κ | Κ | |
| Λ | Λ | Λ | Λ | |
| Μ | Μ | Μ | Μ | |
| Ν | Ν | Ν | Ν | |
| Ξ | Ξ | Ξ | Ξ | |
| Ο | Ο | Ο | Ο | |
| Π | Π | Π | Π | |
| Ρ | Ρ | Ρ | Ρ | |
| Σ | Σ | Σ | Σ | |
| Τ | Τ | Τ | Τ | |
| Υ | Υ | Υ | Υ | |
| Φ | Φ | Φ | Φ | |
| Χ | Χ | Χ | Χ | |
| Ψ | Ψ | Ψ | Ψ | |
| Ω | Ω | Ω | Ω | |
| α | α | α | α | |
| β | β | β | β | |
| γ | γ | γ | γ | |
| δ | δ | δ | δ | |
| ε | ε | ε | ε | |
| ζ | ζ | ζ | ζ | |
| η | η | η | η | |
| θ | θ | θ | θ | |
| ι | ι | ι | ι | |
| κ | κ | κ | κ | |
| λ | λ | λ | λ | |
| μ | μ | μ | μ | |
| ν | ν | ν | ν | |
| ξ | ξ | ξ | ξ | |
| ο | ο | ο | ο | |
| π | π | π | π | |
| ρ | ρ | ρ | ρ | |
| ς | ς | ς | ς | |
| σ | σ | σ | σ | |
| τ | τ | τ | τ | |
| υ | υ | υ | υ | |
| φ | φ | φ | φ | |
| χ | χ | χ | χ | |
| ψ | ψ | ψ | ψ | |
| ω | ω | ω | ω | |
| Œ | Œ | Œ | Œ | |
| œ | œ | œ | œ | |
| Š | Š | Š | Š | |
| š | š | š | š | |
| Ÿ | Ÿ | Ÿ | Ÿ | |
| ƒ | ƒ | ƒ | ƒ | |
| ˆ | ˆ | ˆ | ˆ | |
| ˜ | ˜ | ˜ | ˜ | |
| ϑ | ϑ | ϑ | ϑ | |
| ϒ | ϒ | ϒ | ϒ | |
| ϖ | ϖ | ϖ | ϖ | |
| · |   |   |   | |
| · |   |   |   | |
| · |   |   |   | |
| · | ‌ | ‌ | ‌ | |
| · | ‍ | ‍ | ‍ | |
| · | ‎ | ‎ | ‎ | |
| · | ‏ | ‏ | ‏ | |
| – | – | – | – | |
| — | — | — | — | |
| ‘ | ‘ | ‘ | ‘ | |
| ’ | ’ | ’ | ’ | |
| ‚ | ‚ | ‚ | ‚ | |
| “ | “ | “ | “ | |
| ” | ” | ” | ” | |
| „ | „ | „ | „ | |
| † | † | † | † | |
| ‡ | ‡ | ‡ | ‡ | |
| • | • | • | • | |
| … | … | … | … | |
| ‰ | ‰ | ‰ | ‰ | |
| ′ | ′ | ′ | ′ | |
| ″ | ″ | ″ | ″ | |
| ‹ | ‹ | ‹ | ‹ | |
| › | › | › | › | |
| ‾ | ‾ | ‾ | ‾ | |
| ⁄ | ⁄ | ⁄ | ⁄ | |
| € | € | € | € | |
| ℑ | ℑ | ℑ | ℑ | |
| ℘ | ℘ | ℘ | ℘ | |
| ℜ | ℜ | ℜ | ℜ | |
| ™ | ™ | ™ | ™ | |
| ℵ | ℵ | ℵ | ℵ | |
| ← | ← | ← | ← | |
| ↑ | ↑ | ↑ | ↑ | |
| → | → | → | → | |
| ↓ | ↓ | ↓ | ↓ | |
| ↔ | ↔ | ↔ | ↔ | |
| ↵ | ↵ | ↵ | ↵ | |
| ⇐ | ⇐ | ⇐ | ⇐ | |
| ⇑ | ⇑ | ⇑ | ⇑ | |
| ⇒ | ⇒ | ⇒ | ⇒ | |
| ⇓ | ⇓ | ⇓ | ⇓ | |
| ⇔ | ⇔ | ⇔ | ⇔ | |
| ∀ | ∀ | ∀ | ∀ | |
| ∂ | ∂ | ∂ | ∂ | |
| ∃ | ∃ | ∃ | ∃ | |
| ∅ | ∅ | ∅ | ∅ | |
| ∇ | ∇ | ∇ | ∇ | |
| ∈ | ∈ | ∈ | ∈ | |
| ∉ | ∉ | ∉ | ∉ | |
| ∋ | ∋ | ∋ | ∋ | |
| ∏ | ∏ | ∏ | ∏ | |
| ∑ | ∑ | ∑ | ∑ | |
| − | − | − | − | |
| ∗ | ∗ | ∗ | ∗ | |
| √ | √ | √ | √ | |
| ∝ | ∝ | ∝ | ∝ | |
| ∞ | ∞ | ∞ | ∞ | |
| ∠ | ∠ | ∠ | ∠ | |
| ∧ | ∧ | ∧ | ∧ | |
| ∨ | ∨ | ∨ | ∨ | |
| ∩ | ∩ | ∩ | ∩ | |
| ∪ | ∪ | ∪ | ∪ | |
| ∫ | ∫ | ∫ | ∫ | |
| ∴ | ∴ | ∴ | ∴ | |
| ∼ | ∼ | ∼ | ∼ | |
| ≅ | ≅ | ≅ | ≅ | |
| ≈ | ≈ | ≈ | ≈ | |
| ≠ | ≠ | ≠ | ≠ | |
| ≡ | ≡ | ≡ | ≡ | |
| ≤ | ≤ | ≤ | ≤ | |
| ≥ | ≥ | ≥ | ≥ | |
| ⊂ | ⊂ | ⊂ | ⊂ | |
| ⊃ | ⊃ | ⊃ | ⊃ | |
| ⊄ | ⊄ | ⊄ | ⊄ | |
| ⊆ | ⊆ | ⊆ | ⊆ | |
| ⊇ | ⊇ | ⊇ | ⊇ | |
| ⊕ | ⊕ | ⊕ | ⊕ | |
| ⊗ | ⊗ | ⊗ | ⊗ | |
| ⊥ | ⊥ | ⊥ | ⊥ | |
| ⋅ | ⋅ | ⋅ | ⋅ | |
| ⌈ | ⌈ | ⌈ | ⌈ | |
| ⌉ | ⌉ | ⌉ | ⌉ | |
| ⌊ | ⌊ | ⌊ | ⌊ | |
| ⌋ | ⌋ | ⌋ | ⌋ | |
| ⟨ | ⟨ | ⟨ | ⟨ | |
| ⟩ | ⟩ | ⟩ | ⟩ | |
| ◊ | ◊ | ◊ | ◊ | |
| ♠ | ♠ | ♠ | ♠ | |
| ♣ | ♣ | ♣ | ♣ | |
| ♥ | ♥ | ♥ | ♥ | |
| ♦ | ♦ | ♦ | ♦ |
253 個中 253 個のエンティティ。不可視文字(スペース、結合子、ソフトハイフン)は · で表示されます。
すべてブラウザ内で動作します。入力内容が送信・保存されることはありません。 すべての無料ツールを見る.
不具合や改善できそうな点を見つけましたか?いただいたメッセージはすべて読み、すぐに対応します。
この HTML エンティティ変換ツールは、文字と HTML の文字参照を相互に変換します。エンコードでは、マークアップで特別な意味を持つ 5 つの文字(< > & " ')を < > & " ' に変換するので、テキストを HTML として解釈させずにページに表示したり、属性に入れたりできます。すべての非 ASCII 文字をエンコードすることもでき、テンプレート、メール、古いシステムが UTF-8 を文字化けさせる場合に役立ちます。
デコードは、é や … のような名前付きエンティティ、é のような 10 進の参照、é のような 16 進の参照に対応し、無効なコードポイントの扱いといった癖も含め、HTML5 パーサー自体のルールに従います。組み込みの 253 項目の表にない名前はブラウザの HTML パーサーで調べるので、HTML5 の 2,000 以上の名前をすべてデコードできます。不明な名前は黙って消えるのではなく、そのまま残して一覧表示します。このツールはテキストを変換するもので、HTML のサニタイザーではありません。
使い方
- 「エンコード」か「デコード」を選びます。
- エンコードの場合は範囲を選びます。危険な 5 文字だけ(通常の HTML ならこれで十分)、すべての非 ASCII 文字、または英字・数字・スペース以外のすべてです。
- 名前付き、10 進、16 進の参照から選びます。名前付きモードでは、名前のない文字は 10 進になります。
- 入力するか貼り付けます。出力は入力に合わせて更新されます。「入れ替え」を押すと出力が入力に戻されるので、往復変換を確認できます。
- 一覧表を名前、文字、10 進のコード、グループ(たとえば「arrow」や「greek」)で検索し、エンティティをコピーします。
よくある質問
HTML でエスケープが必要な文字は?
テキストの中では、< と & はタグやエンティティの始まりになるため、エスケープが必要です。属性値の中では、属性を囲む引用符もエスケープします。" なら "、' なら ' です。> を > にエスケープすることは厳密には必須ではありませんが、慣例であり、害もありません。それ以外の文字は、アクセント付きの文字や絵文字も含め、UTF-8 のページならそのまま書けます。
と通常のスペースの違いは何ですか?
は U+00A0、ノーブレークスペースです。通常のスペースと違い、ブラウザはそこで改行せず、複数並んでも 1 つにまとめません。「10 kg」や「Mr. Smith」を 1 行にまとめておきたいときに便利です。レイアウトのために を何個も並べているなら、それは CSS で行うべき作業です。
' と ' のどちらを使うべきですか?
' は XML と HTML5 では定義されていますが、HTML 4 では定義されていないため、ごく古いブラウザや一部のメールクライアントでは認識されません。' はどこでも使えるので、このエンコーダーは名前付きモードでもアポストロフィには ' を使います。最新の HTML5 のページなら、どちらでも問題ありません。
HTML エンコードで XSS は防げますか?
< > & " ' をエスケープすれば、HTML のテキストや引用符で囲んだ属性値へのインジェクションを防げ、最もよくあるケースはカバーできます。しかし、<script> ブロック、style 属性、引用符で囲んでいない属性、href="javascript:..." のような URL の中では、値は安全になりません。それぞれの文脈に応じたエンコードや検証が必要です。デフォルトでエスケープするテンプレートエンジンを使い、ユーザーの HTML を受け付ける必要がある場合は DOMPurify などのサニタイザーを使ってください。
テキストに &amp; や é が表示されるのはなぜですか?
&amp; は、テキストが 2 回 HTML エンコードされたことを意味します。& が & になり、その & がもう一度エンコードされたのです。余分な層ごとに 1 回デコードしてください。é が é になるのはエンティティの問題ではなく、文字コードの不一致です。UTF-8 のバイトが Windows-1252 や Latin-1 として読まれています。charset の宣言やデータベース接続の文字コードを修正してください。エンティティでは症状を隠すだけです。
名前付き、10 進、16 進の参照
HTML には同じ文字を書く方法が 3 つあります。© のような名前付き参照は読みやすいものの、HTML が名前を定義している文字にしかありません。© のような 10 進の参照と © のような 16 進の参照は、絵文字も含め、すべての Unicode のコードポイントに使えます。🌲 は 🌲 または 🌲 で、UTF-16 の 2 つの半分ごとに 2 つではなく、文字全体で 1 つの参照になります。
このツールの表にある 253 個の名前は、HTML 4 のセットに ' を加えたものです。どのブラウザ、メールクライアント、HTML ライブラリでもサポートされています。HTML5 ではさらに約 2,000 個が追加されました。その多くは数学記号(≂̸、⨂)で、最新のブラウザではデコードされますが、古いツールがコンテンツを扱う場合は、そのままの UTF-8 か数値参照で書いたほうが安全です。
名前は大文字と小文字を区別します。É は É、é は é です。© や & のように、歴史的な理由で大文字の形も存在するものがいくつかありますが、標準は小文字の形です。
エンコードすべきとき、すべきでないとき
• ユーザーの入力をページに表示する:データベースへの保存時ではなく、出力時にテンプレートで危険な 5 文字をエスケープします。
• ブログ記事やドキュメントのコード例:タグがテキストとして表示されるよう、< と & をエスケープします。
• UTF-8 の扱いが不安定なメールテンプレートや古いシステム:すべての非 ASCII 文字を数値参照にエンコードすれば、どの文字コードでもコンテンツが壊れません。
• 最新の UTF-8 のページ:アクセント付きの文字、曲がった引用符、絵文字はエンコードしません。そのままの文字のほうが小さく、検索でき、編集もしやすくなります。
• JSON、URL、JavaScript の文字列:HTML エンティティは意味を持ちません。それぞれ JSON のエスケープ、パーセントエンコーディング、JavaScript の文字列エスケープを使います。
数値参照のデコード方法
HTML5 の仕様は、変わった数値参照をパーサーがどう扱うべきかを定めており、このデコーダーもそれに従います。�、サロゲートのコードポイントへの参照(�)、U+10FFFF を超える値は、置換文字 U+FFFD になります。€〜Ÿ の範囲の参照は Windows-1252 として読まれるので、– は en ダッシュ、€ はユーロ記号になります。古いページがそれらを書いたとき、意図していたのがその文字だったからです。
名前付き参照は、セミコロンで終わっている場合にのみデコードされます。ブラウザは、テキスト中の © や & のようにセミコロンのない古い名前もいくつか受け付けますが、その動作は後に続く文字に左右されるので、コンテンツには常にセミコロンを付けるべきです。
関連する無料ツール
- URL エンコーダー / デコーダー — URL 用のテキストをコンポーネント、URL 全体、フォームの各モードでパーセントエンコード・デコードし、URL のクエリパラメーターを表で編集できます。
- Base64 エンコーダー / デコーダー — テキストやファイルを Base64 にエンコードし、画像を CSS や <img> のコード付きでデータ URI に変換、Base64 をプレビュー可能なファイルにデコードできます。データはブラウザの外に出ません。
- メタタグ生成 — ページのタイトル、ディスクリプション、SNS カードの情報を入力すると、文字数カウンター付きで、正しくエスケープされた完全な <head> ブロックを生成します。
- JSON 整形 — JSON を整形、圧縮(minify)、検証し、解析エラーは行と列で位置を示します。ブラウザ上で動作、アップロード不要。