HTML 实体转义 / 反转义

文本处理 完全免费 🔒 本地处理不上传 🔁 双向互转 📥 离线可用 🌙 支持黑夜模式

写邮件模板、拼富文本、往页面里输出用户内容时,<、&、引号只要漏转一个,页面结构就乱了。把文本粘进来,一键转义成 HTML 实体,或把实体还原成原始字符,结果随手复制。

类别程序员 · 文本处理
运行方式纯前端 · 离线运行
转换范围& < > 必转;单双引号可选
数据存储无存储,输入内容不上传

🔧 转义 / 反转义

勾选后单双引号也转:" → &quot;,' → &#39;

默认只处理 &、<、> 三个必转字符,其余内容原样保留。

📤 转换结果
输入内容后选择「转义」或「反转义」

📚 常用 HTML 实体对照表

命名实体与十进制数字实体效果相同,浏览器都能解析
HTML 特殊字符、命名实体与数字实体对照表
字符 命名实体 数字实体 说明
& &amp; &#38; 与号:实体自身的起始字符,必须最先转义
< &lt; &#60; 小于号:会被当作标签起始,输出到页面时必须转
> &gt; &#62; 大于号:与小于号成对出现,建议一起转
" &quot; &#34; 双引号:写在属性值里必须转义
' &apos; &#39; 单引号:HTML5 支持 &apos;,兼容老浏览器用数字实体更稳
© &copy; &#169; 版权符号
® &reg; &#174; 注册商标符号
× &times; &#215; 乘号
÷ &divide; &#247; 除号
¥ &yen; &#165; 人民币 / 日元符号
— &mdash; &#8212; 长破折号
→ &rarr; &#8594; 右箭头
° &deg; &#176; 度数符号

补充:不换行空格的命名实体是 &nbsp;,数字实体是 &#160;,它看起来与普通空格几乎一样,但浏览器既不会把它合并,也不会在此处换行。数字实体里的数字是十进制 Unicode 码点,也可写成十六进制,例如 &#x26; 等价于 &#38;。

核心特性

& < > 转义为 &lt; &gt; &amp;
可选连单双引号一起转义
反转义还原原始文本(命名实体与数字实体都支持)
转换结果一键复制、一键回填输入框
实时统计输入与结果的字符数
内置常用 HTML 实体对照表
防止 XSS 输出转义的写法参考
支持黑夜模式与离线使用

为什么需要 HTML 实体转义?

HTML 里 <、>、& 和引号都是有特殊含义的字符:浏览器看到 <div> 会当作标签解析,而不是老老实实显示这几个字符。所谓 HTML 实体转义,就是把这些字符换成对应的实体写法——< 换成 &lt;、& 换成 &amp;,让内容「看起来是文字,而不是代码」。

反过来,从网页源码、数据库字段、接口返回值里复制出来的文本,常常是满屏的 &quot;、&#39;、&amp;,人根本没法读。把整段粘进来点「反转义」,立刻还原成可读的原始文本,手工核对数据、写 SQL 比对时特别省事。

更关键的是安全:把用户输入原样拼进 HTML 是最典型的 XSS 注入来源,正确做法是输出时统一转义。本工具也能当「输出转义」的写法参考:先转 &,再转 <、>(顺序不能反,否则会二次转义),进入属性值或 JSON 字符串时再补上单双引号。

所有转换都在你的浏览器里用原生 JavaScript 完成,粘贴的内容不会上传到服务器;反转义借用浏览器自身的 HTML 解析器,命名实体(&copy;)与数字实体(&#169;、&#xA9;)都能正确还原。

怎么用

  1. 粘贴待处理文本
    把要转义的 HTML 片段,或者铺满实体的原始文本粘进「输入内容」框,中文、Emoji、换行都原样支持。
  2. 选择转换方向
    点 🔒 转义 把特殊字符变成实体,点 🔓 反转义 把实体还原成原始字符,点了立刻出结果。
  3. 按需处理引号
    默认只转 &、<、>;要写进属性值或 JSON 字符串时勾选「连引号一起转义」。
  4. 核对结果并复制
    右侧「转换结果」区展示完整结果,下方统计条给出输入与结果的字符数,点「📋 复制结果」即可取走。
  5. 需要反向验证时
    点「🔁 结果转输入」把结果回填进输入框并自动切到相反方向;转义 → 反转义来回走一遍,能立刻确认没有丢字符。

使用技巧

  • 转义顺序是固定的:先 &,再 <、>。反过来先转 <,后面那一步会把刚生成的 &lt; 里的 & 再转一次,得到 &amp;lt;。
  • 引号放在元素内容里可以不转,但写在属性值里必须转;拿不准时一起转更安全,不会有副作用。
  • 反转义走浏览器解析器,嵌套实体会被逐层解开:&amp;lt; 反转义一次得到 &lt;,再转一次才是 <。
  • 看到 &amp;amp; 这种多层写法,基本可以判定是被转义了多次,多半是模板里又转了一遍。
  • 大段文本建议「先转义再入库、再贴进模板」,比事后排查页面错位省事得多。

更新记录

  • v1.1 2026-09-11 重构页面:补充核心特性、上手步骤、使用技巧与 6 组常见问题,新增常用 HTML 实体对照表、字符数统计与「结果转输入」反向验证。
  • v1.0 2026-08-31 首次上线:转义 / 反转义双向转换,可选连引号一起转义,一键复制与离线下载。

常见问题

HTML 实体转义和反转义有什么区别?
转义是把特殊字符变成实体写法(< → &lt;、& → &amp;),让内容安全地显示在页面上;反转义正好相反,把 &lt;、&#39; 这类实体还原成 <、'。日常场景:准备插入 HTML 用转义,读别人给的源码用反转义。
为什么 <code>&amp;</code> 必须第一个转义?
因为所有实体都以 & 开头。若先把 < 转成 &lt;,再执行 & → &amp;,那一步会连带把刚生成的 &lt; 里的 & 也转掉,变成 &amp;lt;,页面上就会多出一串字符。正确顺序永远是 & → < → > → 引号。
单双引号到底要不要一起转义?
分场景。放在元素内容里的引号不转也能正常显示;但写在属性值、内联 JSON、模板变量里时就必须转,否则可能被提前闭合属性,进而引发 XSS。本工具默认只转 & < >,需要更彻底时勾选「连引号一起转义」。
反转义支持哪些写法?
借助浏览器自身的 HTML 解析器,只要是浏览器认识的写法都能还原:命名实体(&copy;、&nbsp;)、十进制数字实体(&#169;)、十六进制数字实体(&#xA9;)都有效。冷门的 HTML5 实体按当前浏览器的支持情况解析,主流浏览器覆盖已足够全。
转换的内容会被上传或保存吗?
不会。转义、反转义、字符数统计全部在你的浏览器里用 JavaScript 完成,粘贴的文本不会发送到服务器;本工具没有历史记录、也没有任何存储,关闭页面即无痕迹,处理内部数据时也能放心用。
反转义后的文本能直接放进页面吗?
要小心。反转义是把实体还原成原始字符,如果原文含 <script> 之类内容,还原后就变回了可解析的标签,直接输出到页面会带来 XSS 风险。反转义结果请当作纯文本看待,需要展示时再统一转义,或用 textContent 赋值。

💬 留言板 0

全部留言需审核通过后展示
💬

还没有留言,来抢沙发吧!

✍️ 说点什么
0 / 500
图形验证码