HTML 实体
编解码
将保留 HTML 字符编码为实体,或将 HTML 实体解码为可读文本,适用于片段、CMS 内容和模板。
HTML 实体转义不是完整的 XSS 清理器——只改变表示形式。处理仅在浏览器中进行。
命名使用 & / < / > / ";数字使用 & / < / > / "。解码两者都接受。转义不是完整的 XSS 清理。
- 输入0
- 输出0
- 选项命名 (&)
输入
输出
这个工具是什么?
将保留字符(&、<、>、"、')编码为 HTML 实体,或将实体解码为可读文本。编码时可选择 命名(&、<)或 数字(&、<);解码两者都接受。
文本、属性、脚本、CSS、XML 规则并不相同。适合检查片段、CMS 与订阅源;不可信 HTML 仍需框架转义与可信 sanitizer。转换仅在浏览器中运行。
常见用途
- 在文档或博客中按字面显示标记,避免被当成标签解析
- 检查或修复 CMS/WYSIWYG 的双重编码(
&amp;) - 为 RSS/Atom 等订阅源准备需转义
&的标题或描述
如何使用
- 选择 Encode 或 Decode。输入时结果即时更新。
- Encode 时关闭 Numeric 使用命名实体,开启则使用十进制引用。
- 粘贴文本或实体。用 Sample 查看
<div>↔<div>。 - 复制输出。仅靠实体转义不能当作完整 XSS 防护。
Named vs numeric
| 输入 | 命名编码 | 数字编码 |
|---|---|---|
<div> | <div> | <div> |
Tom & Jerry | Tom & Jerry | Tom & Jerry |
"quote" | "quote" | "quote" |
示例
| 输入 / 设置 | 输出 | 说明 |
|---|---|---|
<div> → 命名 | <div> | 标记显示为文本 |
<div> → 解码 | <div> | 示例往返 |
Tom & Jerry → 命名 | Tom & Jerry | HTML/XML 文本中的 & |
A > B → 数字 | A > B | 解码后与 > 相同 |
实践中的常见误区
- 转义文本 ≠ 清理 HTML。属性、
javascript:URL、SVG/脚本需要其他防护。 - CMS 往返后常见双重编码(
&lt;);先解码一次再判断是否还需一轮。 - 只转义五个保留字符,不会把所有 Unicode 变成实体(请用 Unicode 工具)。
参考资料
最后审阅: 2026-07-26
常见问题
- 什么时候需要编码 HTML 实体?
- 当文本必须在 HTML 中按字面显示时——代码示例、CMS 字段、RSS/Atom 标题或用户片段——以免 `<`、`>`、`&` 被当成标记解析。
- 这能防止 XSS 吗?
- 不能。它只改变文本语境下的表示形式,不是完整 HTML 清理器,也不覆盖属性、URL、脚本、CSS。对不可信 HTML 请使用框架转义与可信 sanitizer。
- 命名实体和数字实体有何区别?
- 命名如 `&`、`<`;数字(十进制)如 `&`、`<`。解码两者都接受;编码时可选择偏好样式。
- 输入会上传到服务器吗?
- 不会。编解码仅在浏览器中运行。