HTML 压缩工具

粘贴 HTML,即可删除注释和多余空白,并压缩内联的 CSS 和 JavaScript。<pre> 和 <textarea> 中的内容会原样保留。

在浏览器中运行无需注册不上传任何数据

压缩结果

如何使用HTML 压缩工具

  1. 粘贴 HTML 文档或片段,或打开一个 .html 文件。
  2. 选择要删除的内容:注释、空白,以及是否同时压缩内联的 <style> 和 <script> 块。
  3. 查看警告行:存在语法错误的内联脚本会保持原样,而不会破坏你的页面。
  4. 复制压缩后的 HTML 或下载它。

会删除哪些内容?

  • 注释:<!-- … --> 会被删除,但 Internet Explorer 条件注释和以 <!--! 开头的注释除外。
  • 块级元素之间的空白:<div>、<li> 或 <head> 等标签之间的换行和缩进永远不会被渲染,因此会被完全删除。
  • 文本中的连续空格:会合并为一个空格,这与浏览器的渲染方式完全一致。
  • 标签内的空白:<p class = "a"> 会变成 <p class="a">。

会保留哪些内容?

在某些地方空白是有意义的,压缩工具会尊重这一点。<pre> 和 <textarea> 的内容会逐字节保留。行内元素之间的单个空格(如 <b>bold</b> text)会被保留,因为删除它会让单词连在一起。属性值和引号永远不会被修改。

内联 CSS 和 JavaScript

内联的 <style> 块使用 CSSO 优化,内联的 <script> 块使用 Terser 优化,与 CSS 压缩工具和 JavaScript 压缩工具页面使用的引擎相同。JSON-LD 及其他 JSON 脚本块会被紧凑化,未知类型的脚本(例如模板)则保持不变。

HTML 压缩值得做吗?

对于服务端渲染页面和静态网站,HTML 文档是浏览器最先下载的内容,所以每节省一个字节都能缩短首次渲染的时间。在压缩传输之前节省 10–25% 很常见,对于缩进很多的模板和含有大量内联脚本的页面,节省得更多。

常见问题

压缩 HTML 会改变页面的外观吗?
不会。只会删除浏览器本来就会合并的空白,<pre>/<textarea> 的内容不会被改动。如果你在 CSS 中使用 white-space: pre 设置了元素样式,请关闭合并空白。
会压缩内联的 JavaScript 和 CSS 吗?
会,前提是启用了相应选项。如果某个内联块有语法错误,它会保持原样并显示警告,因此页面永远不会被破坏。
可以压缩 Handlebars、Jinja 或 Blade 等模板文件吗?
通常可以,只要模板标签出现在文本或属性值中即可。如果模板把逻辑放在标签名中或属性之间,可能需要手动检查。
我的 HTML 会被发送到任何地方吗?
不会。所有内容都在你的浏览器本地处理。

相关工具