切换工具

HTML 实体

在普通文本与 HTML 实体之间互转:编码可选命名实体或十进制 / 十六进制数字引用,支持仅转义不安全字符或全部非 ASCII;解码识别 &name; / &#NN; / &#xNN; 并还原(含 Emoji 等增补字符)。

模式
格式

命名:优先用命名实体,无对应名时回退数字实体。

原文
0 字符
编码结果
0 字符

使用说明

用途

HTML 实体在线编码解码工具,把 < > & " ' 等 HTML 特殊字符转成实体形式(&lt; &gt; &amp; &quot; &#39;),反之亦然。同时支持命名实体(&copy; &nbsp; &mdash;)和数字实体(&#160; &#x00A0;)双向转换。常用于在 HTML 文档里安全嵌入用户输入(XSS 防御)、生成代码片段在博客展示、邮件 HTML 兼容性处理。所有转换在浏览器本地完成。

操作步骤

  1. 粘贴 HTML / 含特殊字符的字符串到编辑器
  2. 点「编码」把 < > & " ' 等转为实体形式
  3. 反向:粘贴含实体的文本点「解码」还原
  4. 模式:基本(仅 5 个核心字符)/ 全部(所有非 ASCII 都转)/ 命名实体(用 &copy; 而不是 &#169;)
  5. 数字实体格式:十进制 &#169; 或十六进制 &#x00A9;
  6. 保留 / 转换换行:可选把 \n 转为 <br /> 标签
  7. 常用实体速查:&nbsp;(不换行空格)/ &emsp;(全角空格)/ &mdash;(破折号)/ &hellip;(省略号)

常见问题

哪些字符必须转 HTML 实体?
**核心 5 个**: < (&lt;) > (&gt;) & (&amp;) " (&quot;) ' (&#39; 或 &apos;)。**其他字符**(中文、数字、空格)在 UTF-8 文档里直接写不需要转义。不转这 5 个会导致 HTML 解析破坏或 XSS 漏洞。
XSS 防御是不是用 HTML 实体编码就够了?
**不够**。HTML 实体只能防御在 HTML 文本区域注入。属性值、JavaScript 上下文、URL、CSS 各自有自己的编码规则。**完整 XSS 防御**:1) HTML 文本用 HTML 实体;2) HTML 属性用属性专属编码;3) JS 字符串用 \uXXXX;4) URL 用 percent encoding。库(如 DOMPurify)会自动做。
&nbsp; 和普通空格有什么区别?
**&nbsp; 是不可断空格**(non-breaking space, U+00A0)。普通空格在长行末尾会自动换行,&nbsp; 不会。用途:1) 防止数字+单位被换行("10 km"用 &nbsp;);2) 强制保留多个空格(HTML 会折叠连续空格,多个 &nbsp; 不会);3) 排版微调。
命名实体(&copy;)和数字实体(&#169;)哪个好?
**现代 HTML5 推荐直接写 © 符号**(UTF-8 文档支持)。如果一定要用实体:命名实体可读性好但只有约 250 个有命名;数字实体覆盖所有 Unicode 但难读。**XML / 严格场景用数字实体**(&#xA9; 十六进制更标准)。
为什么我代码片段里的 <script> 在博客展示成执行了?
博客平台没有正确转义你的代码。**展示代码必须把 < > 转为 &lt; &gt;**。本工具的「编码」按钮就是干这个的。或者用 Markdown 代码块(```),渲染器会自动转义。富文本编辑器(CKEditor / TinyMCE)粘代码时容易丢转义,要选「插入代码块」而不是普通段落。

应用场景

  • XSS 防御:用户输入插入 HTML 前先做实体编码
  • 博客展示代码:把 <html> 这种代码字符串转 &lt;html&gt; 才不会被浏览器执行
  • HTML 邮件:把中文 / 特殊字符转实体提高邮件客户端兼容
  • 抓取网页清理:抓到含实体的文本反向解码恢复可读内容
  • 生成 RSS / Atom:XML 标准里 & 必须转 &amp;,否则解析失败

适用场景

XSS 防御、博客展示代码片段、HTML 邮件、网页抓取清理、RSS / Atom 生成。前端、后端、爬虫、邮件营销、技术博主常用。基本/全部/命名实体多模式、数字实体十进制 / 十六进制可选是关键差异点。