← 返回工具箱

JS 压缩

JS MINIFY · 代码格式化

保守模式压缩 JavaScript:删注释、去缩进空行,字符串与正则逐字保留;不改名不重排,压缩完照样能跑。

JAVASCRIPT 输入
压缩结果 · 保守模式
保守模式:仅删注释、去行首缩进与行尾空白、删空行合并连续行;不做变量重命名 / AST 改写 / 跨行拼接。字符串、模板串与正则字面量逐字保留;/*! 与含 @license / @preserve 的注释会保留。

>_ 使用指南 · GUIDE

保守模式压缩 JavaScript:删除注释与多余空白、去掉缩进与空行,体积立减。关键设计是「不改语义」——字符串与正则逐字保留、不做变量改名、不做语句重排,压缩完的代码行为与原文完全一致,粘贴回项目照样能跑。

适合场景:给客户交付的单页脚本减体积、临时压缩一段工具脚本、看懂压缩前的老代码先美化再看(反向用它不如专业美化器)。压缩在浏览器本地完成,源码零上传。

>_ 常见问题 · FAQ

Q1 · 压缩和混淆有什么区别?

压缩(minify)只做等价变换:删空白、删注释,目的是减小体积,可逆性强、语义不变;混淆(obfuscate)故意改变代码形态:变量改名、字符串加密、流程打乱,目的是增加逆向难度,体积反而可能变大。本工具做的是保守压缩,不做混淆。

Q2 · 为什么不做变量改名?那样不是压得更小吗?

变量改名(如把 userName 压成 a)收益大但风险也大:需要完整的语法分析,处理不当会破坏作用域、eval 动态引用、导出符号。本工具定位「保守可靠」——任何输入都能安全处理,绝不输出会变的代码。追求极致压缩请上构建工具链(Terser/esbuild),它们有完整解析器。

Q3 · 压缩后的代码怎么验证没被改坏?

保守模式的保证是「只删不改」,但稳妥流程仍是:① 压缩前后文件大小对比是否符合预期(通常减 20–40%);② 关键功能跑一遍冒烟测试;③ 有单元测试的先跑测试。压缩是构建发布的常规环节,验证成本很低。

Q4 · 字符串里的空格和注释会被删掉吗?

不会。字符串与正则字面量逐字保留——"hello world" 里的空格、// 出现在字符串内也不会被误当注释删掉。这是无解析压缩最容易翻车的地方,本工具做了词法级处理来保证。

Q5 · 正式项目应该用什么方式压缩 JS?

构建工具链是标准答案:esbuild(快、开箱即用)、Terser(深度优化)、Vite/Webpack 内置方案。它们做语法级压缩(变量改名、死代码消除、常量折叠),压缩率远超保守模式。本工具的价值在无构建场景:单文件脚本、快速手工处理、临时需求。

嵌入代码

把下面的代码复制到你的网页,即可将本工具嵌入为 iframe(自动隐藏导航与页脚)。

高度px
此工具在你的浏览器本地运行,输入内容不会上传。按 Ctrl K 可随时切换到其他工具。