HTML 实体

编解码

将保留 HTML 字符编码为实体,或将 HTML 实体解码为可读文本,适用于片段、CMS 内容和模板。

HTML 实体转义不是完整的 XSS 清理器——只改变表示形式。处理仅在浏览器中进行。

命名使用 & / < / > / ";数字使用 & / < / > / "。解码两者都接受。转义不是完整的 XSS 清理。

  • 输入0
  • 输出0
  • 选项命名 (&)

输入

输出

这个工具是什么?

将保留字符(&<>"')编码为 HTML 实体,或将实体解码为可读文本。编码时可选择 命名&amp;&lt;)或 数字&#38;&#60;);解码两者都接受。

文本、属性、脚本、CSS、XML 规则并不相同。适合检查片段、CMS 与订阅源;不可信 HTML 仍需框架转义与可信 sanitizer。转换仅在浏览器中运行。

常见用途

  • 在文档或博客中按字面显示标记,避免被当成标签解析
  • 检查或修复 CMS/WYSIWYG 的双重编码(&amp;amp;
  • 为 RSS/Atom 等订阅源准备需转义 & 的标题或描述

如何使用

  1. 选择 Encode 或 Decode。输入时结果即时更新。
  2. Encode 时关闭 Numeric 使用命名实体,开启则使用十进制引用。
  3. 粘贴文本或实体。用 Sample 查看 <div>&lt;div&gt;
  4. 复制输出。仅靠实体转义不能当作完整 XSS 防护。

Named vs numeric

输入命名编码数字编码
<div>&lt;div&gt;&#60;div&#62;
Tom & JerryTom &amp; JerryTom &#38; Jerry
"quote"&quot;quote&quot;&#34;quote&#34;

示例

输入 / 设置输出说明
<div> → 命名&lt;div&gt;标记显示为文本
&lt;div&gt; → 解码<div>示例往返
Tom & Jerry → 命名Tom &amp; JerryHTML/XML 文本中的 &
A > B → 数字A &#62; B解码后与 &gt; 相同

实践中的常见误区

  • 转义文本 ≠ 清理 HTML。属性、javascript: URL、SVG/脚本需要其他防护。
  • CMS 往返后常见双重编码(&amp;lt;);先解码一次再判断是否还需一轮。
  • 只转义五个保留字符,不会把所有 Unicode 变成实体(请用 Unicode 工具)。

参考资料

最后审阅: 2026-07-26

常见问题

什么时候需要编码 HTML 实体?
当文本必须在 HTML 中按字面显示时——代码示例、CMS 字段、RSS/Atom 标题或用户片段——以免 `<`、`>`、`&` 被当成标记解析。
这能防止 XSS 吗?
不能。它只改变文本语境下的表示形式,不是完整 HTML 清理器,也不覆盖属性、URL、脚本、CSS。对不可信 HTML 请使用框架转义与可信 sanitizer。
命名实体和数字实体有何区别?
命名如 `&amp;`、`&lt;`;数字(十进制)如 `&#38;`、`&#60;`。解码两者都接受;编码时可选择偏好样式。
输入会上传到服务器吗?
不会。编解码仅在浏览器中运行。