跳到主要内容

JS 压缩工具:在线压缩、去注释、去空白

JavaScript 压缩,去注释、空白、可选变量名缩短。体积小 40-70%。

  • 本地处理
  • 分类 格式转换
  • 适合 把粘贴内容或本地文件转成更适合交付的格式。
空白压缩,不是 Terser 替代品本工具只去注释、去空白。**不做**变量名 mangling 或死代码消除。生产构建请用 Terser 或 esbuild。
选项:
输入
输出
压缩结果显示在这里。

这个工具能做什么

在线 JavaScript 压缩工具。粘贴任意 JS 文件(原生 JS、ES 模块、JSON-P 片段、想内联进 HTML 属性的单个函数),得到去空白的输出,通常比原文小 40-70%。本工具做的是 **空白压缩**:去掉单行 / 多行注释、折叠连续空 白、去掉行尾空格、可选移除 debugger 语句。tokenizer 完全识别 JS 字面 量:模板字符串(含 ${表达式})、正则字面量(所以 `/abc /g` 里的空白不 会被折掉)、单引号 / 双引号字符串、除法 vs 正则歧义都能正确区分, 这是朴素 "regex 替换式压缩器" 会悄悄改坏代码的三大重灾区。**刻意不做** 变量名缩短、死代码消除(DCE)、AST 级重写,那些是 Terser / esbuild / SWC 的领域,必须有完整 parser 才能保证安全。适用场景:30 秒 内压一段 200 行的小脚本、把 JS 处理函数压扁后内联到 HTML 属性、给 CodePen demo 减肥。如果是真正的生产构建,请用 Terser 或 esbuild。输出 下方实时显示压缩前 / 后 / 节省百分比。100% 浏览器本地运行,未发布 的脚本、内部逻辑都不离开标签页。配合我们的 CSS Minifier、HTML Minifier 做完整的发布前压缩。

工具细节

输入
文本
页面会根据工具类型展示文本框、数值控件、文件选择或结构化输入。
输出
即时结果 + 复制 + 下载
结果区优先给出可操作结果,支持项会显示复制、下载或可视化预览。
隐私
浏览器本地处理
主工具逻辑未发现外部 API 调用,输入通常留在当前标签页内处理。
保存 / 分享
免账号使用
打开页面即可使用;刷新后是否保留结果取决于具体工具。
性能预算
首屏 JS ≤ 14 KB
没有声明 WASM 依赖,适合快速打开和移动端使用。
适用场景
格式转换 · 程序员
分类和职业标签用于推荐相关工具、组织内链,并帮助用户快速判断是否适合当前任务。

怎么用

  1. 1. 输入

    把内容粘贴或拖入工具面板。

  2. 2. 处理

    点击按钮,在浏览器内本地处理,文件不上传。

  3. 3. 复制 / 下载

    一键复制结果或下载到本地。

JS 压缩工具 适合怎么用

适合把内容从一种实际格式转成另一种可用格式。

适合转换的任务

  • 把粘贴内容或本地文件转成更适合交付的格式。
  • 放进大流程前,先预览转换结果是否可靠。
  • 修正常见格式不匹配,不用打开完整编辑器。

转换检查项

  • 源格式比较乱时,先拿一小段试转。
  • 转换后检查编码、分隔符和换行符。
  • 结果确认前保留原始内容。

下一步可以接着做

这些入口会把当前任务接到更完整的工具链里。

  1. 1 JSON 压缩工具 将 JSON 压成单行,可选递归排序对象 key,全部在浏览器本地完成。 打开
  2. 2 CSS 压缩工具 CSS 压缩:去注释空白、缩短颜色、合并选择器。体积小 30-60%。 打开
  3. 3 HTML 压缩工具 HTML 压缩:去注释、空白、可选属性、内联 CSS/JS。体积小 40-60%。 打开

真实使用场景

  • 把 14 行的点击处理函数内联进一个 HTML 属性

    你写了 14 行埋点处理函数,要塞进一个无构建步骤的静态落地页的 onclick 属性里。粘进来压一下,注释和缩进折成一行 380 字符,直接填进属性。事件 过滤里的正则字节级原样保留,点击统计照常触发,不会因为压缩漏掉一个 字符就静默失灵。

  • 群里粘来的代码,压完再丢进 CodePen demo

    同事在群里甩了 300 行 tooltip 组件,你想要个精简版放进 CodePen demo。 压完小了约 55%,从大概 9 KB 降到 4 KB,嵌入加载更快,demo 的 iframe 不再哗哗滚十秒才停。生成 DOM 用的模板字符串原封不动,不会被折坏。

  • 把 GTM 自定义 HTML 标签压到体积预算以内

    GTM 自定义 HTML 标签很容易膨胀,容器一大每个页面都拖慢。你把 220 行的 同意管理脚本粘进来,去注释去空白,体积小 60%,稳稳压回你盯着的容器重量 线以下。因为不重命名任何变量,其它标签依赖的 dataLayer.push 调用和全局 名都和原文一字不差。

  • 没有打包器时压一段 service worker 片段

    一个小项目只有一个手写的 service-worker.js,既没 Vite 也没 webpack。你 想上线时瘦一点,又不敢冒变量改名 bug 把缓存 key 逻辑搞坏的风险。空白压缩 给你安全的 40-50% 降幅:fetch 事件里的正则和缓存版本字符串原样输出,只是 去掉了那 60 行注释。

常见踩坑

  • 指望像 Terser 一样砍掉 80%。这是纯空白压缩,上限大约 40-70%;想多压那 30% 本地跑 Terser,别怪工具保留了你的变量名。

  • 粘进顶部带许可证注释的片段。压缩会去掉全部注释,`/*! @license */` 这种声明会消失;把声明单独留一份,压完再手动加回去。

  • 默认分号自动补全(ASI)一定安全。空白压缩只在必要处保留换行,但如果你的代码靠「注释当语句分隔」这种少见写法,压完可能错位;发布前务必把压缩结果跑一遍。

隐私说明

这个压缩工具 100% 在你的浏览器里运行。你粘进来的 JavaScript 在标签页内 完成分词和压缩,不发任何网络请求,未发布的脚本和内部逻辑都到不了服务器。 你的源码不会进 URL,也不会进分享链接(代码通常太大也太敏感,不适合放进 链接),只有工具的设置项可分享。全程不记录、不留存。

常见问题

类似工具组合

做你这行的人, 还会一起用这些。

Made by Toolora · 100% client-side · Updated 2026-06-13