oLoveTools
白名单净化器

HTML 清理器和净化器

粘贴 HTML,选择策略,按下按钮。你会得到清理后的标记,外加每一个被丢弃的标签和属性的明细报告——任何一条判定都可以推翻,无需重新粘贴。

不按按钮就什么都不跑每一项移除都逐条列出绝不离开你的浏览器
原始 HTML 输入
0 B
试一试
清理策略

工作方式

1

把 HTML 拿进来

粘贴它、拖入 .html 文件,或者从另一个工具带过来。它就待在那里:打开文件从不会启动清理。

2

选择策略

四个预设覆盖常见场景。打开手动面板,你可以亲自编辑标签清单、属性清单和接受的 URL 方案。

3

运行

一趟处理就构建出清理后的树,并沿途记录每一个判定。一兆字节的标记只需几毫秒。

4

复核并推翻

报告列出什么被移除、为什么。若不认同某一行,按下「保留」:处理会带着这一个例外重新跑一遍。

它能做什么

真正的白名单策略

标签、属性和 URL 方案是三份由你掌控的独立清单。挡住标签却不管它的属性,算不上净化。

逐条列出的移除报告

每个被丢弃的元素和属性都按次数分组,附上内容样本和被移除的原因。

推翻任何一条判定

在某行按下「保留」,净化就会重跑一遍并恰好放行那一项。你的原文永远不会被改写。

URL 方案逐个检查

href、src、formaction、srcset、xlink:href 中的 javascript:、data:text/html 和 vbscript: 都会被抓出来,包括用空白和实体做的伪装。

沙箱预览

结果渲染在 sandbox 为空且带 no-referrer 的 iframe 中,因此里面的内容无法执行、提交或跳转。

格式化、压缩或原样

同一棵清理后的树可以用三种方式重新输出。<pre> 内部的空白即使其余部分重新缩进也会保留。

交接给下一个工具

把结果直接送到 DiffSnap、CodeCard、WordFlow、Base64Bolt 或 ZipFlow,不必先下载再上传。

什么都不离开标签页

净化器是与页面一起打包的 JavaScript 库。全程没有上传、没有 API 调用,也没有 CDN 请求。

一个把过程摊开给你看的净化器

多数在线 HTML 清理工具丢给你一串字符串,然后指望你相信它。这个保留了判定日志:哪个标签被丢弃、哪个属性被剥掉、哪个 URL 没通过方案检查——而且每一条都能一键推翻,因为清理后的输出是根据你的策略重新生成的,而不是事后打补丁。

白名单,而非黑名单
检查属性,不只是标签
每次移除都有次数和原因
策略层面的撤销与重做

100% 隐私与安全

没有上传,没有 API 密钥,也不会追踪你粘贴了什么。库与页面一起打包,所以也不会从 CDN 拉取任何东西。你的 HTML 留在标签页的内存里,关掉就消失。

什么时候需要它

html 清理工具

把富文本编辑器产出的内容在入库前清干净。把 Word 和 Google 文档的垃圾从 CMS 粘贴里剔掉。让第三方标记在渲染前变得安全。从保存下来的网页里抽出可读正文。检查你即将信任的标记里有没有能执行的东西——已知载荷的示例就在那里,让你看到答案而不是猜测答案。

构建在 DOMPurify 之上

解析和安全判定来自 DOMPurify——浏览器自家安全团队都会引用的那个库——而不是手写的一遍 querySelectorAll 扫描。这里通过它的 hook API 使用,并且要的是中间态 DOM 而非成品字符串,正是这一点让移除报告和逐项例外成为可能。它能应对变异型 XSS、命名空间混淆,以及朴素清理器会漏掉的各种 URL 花招。

常见问题

Q为什么粘贴之后什么都没发生?+

这是刻意设计。粘贴或打开文件只是把 HTML 装进来;净化在你按下「净化」时才运行。这样你会先挑好策略,而不是看工具替你猜,而且大文档不会在每次敲键时都被解析一遍。

Q移除报告到底让我能做什么?+

每一行都是一个可以反悔的判定。按下「保留」会加入这一个例外并把整趟处理重跑一遍——所以把 <iframe> 放回来,并不会连它的 onload 属性一起放行。你的输入文本永远不会被重写,这也是撤销和重做始终很轻的原因。

Q只把标签列入白名单,输出就安全了吗?+

不安全,而这正是多数只看标签的清理工具犯的错。任何白名单里的 <a> 仍可能带着 href="javascript:…",所以这里的属性和 URL 方案是分开检查的。挡住标签却放任它的属性,算不上净化。

Q哪些 URL 方案能通过?+

只有你勾选的那些。其余一律从 href、src、srcset、action、formaction、poster、cite 和 xlink:href 中剔除,包括藏在制表符、换行或 HTML 实体后面的值。data: 仅限位图:SVG 数据 URL 被直接打开时会执行自己的脚本,因此永远不允许。

Q实时预览安全吗?+

安全。它渲染在 sandbox 属性为空字符串的 iframe 中,脚本、表单、弹窗和跳转全部被阻止,另外还有 no-referrer 策略,让任何幸存的图片都无法泄露你是从哪个页面来的。

Q我的 HTML 会被发送到哪里吗?+

不会。净化器是与本页一起打包的 JavaScript,在你的标签页里运行。没有上传、没有 API 调用、也没有 CDN 请求——你可以开着网络面板自己核对。

Q它能处理多大的文档?+

解析大致是线性的,因此几兆字节的标记在普通笔记本上远远用不到一秒;每次运行后都会显示实测耗时。输出面板的语法高亮在超过 200 KB 时会关闭,因为到那个体量,着色的代价超过了它带来的好处。

也叫作

html 净化器html 清理工具从 html 移除脚本在线清理 htmlhtml 消毒去除标签dompurify 在线xss 过滤器html 白名单
oLoveTools 套件的一部分
oLoveTools

一个带有真正白名单策略、并且移除报告可供你质疑的 HTML 净化器——在你的浏览器里 100% 本地运行。

© 2026 oLoveTools关于

HTML Sanitizer | 免费在线 HTML 清理工具,附移除报告

用真正的白名单策略清理 HTML:移除脚本、事件处理器、javascript: 链接和多余标签,并准确看到移除了什么、把需要的放回来。全部在浏览器内完成。

常见问题

为什么粘贴之后什么都没发生?

这是刻意设计。粘贴或打开文件只是把 HTML 装进来;净化在你按下「净化」时才运行。这样你会先挑好策略,而不是看工具替你猜,而且大文档不会在每次敲键时都被解析一遍。

移除报告到底让我能做什么?

每一行都是一个可以反悔的判定。按下「保留」会加入这一个例外并把整趟处理重跑一遍——所以把 <iframe> 放回来,并不会连它的 onload 属性一起放行。你的输入文本永远不会被重写,这也是撤销和重做始终很轻的原因。

只把标签列入白名单,输出就安全了吗?

不安全,而这正是多数只看标签的清理工具犯的错。任何白名单里的 <a> 仍可能带着 href="javascript:…",所以这里的属性和 URL 方案是分开检查的。挡住标签却放任它的属性,算不上净化。

哪些 URL 方案能通过?

只有你勾选的那些。其余一律从 href、src、srcset、action、formaction、poster、cite 和 xlink:href 中剔除,包括藏在制表符、换行或 HTML 实体后面的值。data: 仅限位图:SVG 数据 URL 被直接打开时会执行自己的脚本,因此永远不允许。

实时预览安全吗?

安全。它渲染在 sandbox 属性为空字符串的 iframe 中,脚本、表单、弹窗和跳转全部被阻止,另外还有 no-referrer 策略,让任何幸存的图片都无法泄露你是从哪个页面来的。

我的 HTML 会被发送到哪里吗?

不会。净化器是与本页一起打包的 JavaScript,在你的标签页里运行。没有上传、没有 API 调用、也没有 CDN 请求——你可以开着网络面板自己核对。

它能处理多大的文档?

解析大致是线性的,因此几兆字节的标记在普通笔记本上远远用不到一秒;每次运行后都会显示实测耗时。输出面板的语法高亮在超过 200 KB 时会关闭,因为到那个体量,着色的代价超过了它带来的好处。

也叫作

html 净化器, html 清理工具, 从 html 移除脚本, 在线清理 html, html 消毒, 去除标签, dompurify 在线, xss 过滤器, html 白名单