本工具把文本中的 HTML 特殊字符转换为字符实体(HTML 编码),或把实体还原为原字符(HTML 解码),全程在浏览器本地实时完成,常用于安全输出验证与 XSS 测试。
使用步骤
- 在顶部选择模式:HTML 编码或HTML 解码。
- 在左侧输入框粘贴文本,右侧结果框会实时输出;切换模式时会自动按新模式重新处理,也可点击处理。
- 点击复制复制结果,清空清空两侧内容。
编码处理 &、<、>、"、' 五个字符;解码借助浏览器的 HTML 实体解析能力完成。
浏览器会把 < 开头的内容当作标签解析。如果用户输入的内容未经转义就插入页面,轻则破坏页面结构,重则注入恶意脚本,即 XSS(跨站脚本攻击)。
| 原字符 |
实体写法 |
| < | < |
| > | > |
| & | & |
| " | " |
| ' | ' |
- 渲染用户评论、昵称等不可信文本时必须转义。
- 想在页面上展示 HTML 源码(技术文档、代码示例)时,转义后才会“原样显示”而不被执行。
例如 <script>alert(1)</script> 经编码后变为 <script>alert(1)</script>,页面只显示这段文字,不会执行脚本。
HTML 转义、URL 编码、Base64 解决的是不同层面的问题,不能互相替代。
| 机制 |
使用时机 |
典型形态 |
| HTML 转义 | 把文本输出到 HTML 文档 | < > & " |
| URL 编码 | 把内容放进 URL / 查询参数 | %20、%E4%B8%AD |
| Base64 | 把二进制转为可打印文本传输 | TWFu、aGk= |
- 按输出上下文选择:HTML 正文重点转义
< > &,属性值额外转义引号;写入 JavaScript、URL 上下文则需各自对应的编码(如 encodeURIComponent)。
- 避免重复转义:对已转义内容再次编码会出现
&lt; 这样的双重实体,显示异常。
- 前后端都要做:安全的输出转义应在渲染到页面的那一端完成,前端展示和后端模板都应覆盖。