Skip to content

JavaScript 格式化与压缩工具

在浏览器中即时格式化、美化和压缩 JavaScript。整理杂乱的代码或用 Terser 压缩后部署 — 免费、隐私保护,你的代码不会离开设备。

无追踪 浏览器中运行 免费
缩进
格式化后的 JavaScript

🔒 100% 浏览器端 — 你的代码绝不会离开设备。

已审核保留行为的美化与 Terser 压缩 — Go Tools 工程团队 · 2026年6月5日

什么是 JavaScript 格式化?

JavaScript 格式化(也称为美化或美化打印)以一致的缩进、间距和换行重写代码,使其易于阅读和审查。代码在格式化前后的行为完全相同 — 改变的只有空白字符。压缩则相反:它缩短变量名、去除注释并折叠空白,生成体积最小但运行效果相同的包。本工具两者兼备,完全在浏览器中运行。

核心功能

格式化与压缩

一个工具同时支持美化(提升可读性)和使用 Terser 压缩(生产就绪)。

字节节省量显示

清晰显示 Terser 节省了多少字节,让你了解对包体积的实际影响。

100% 隐私保护

所有处理均在浏览器中完成。你的代码绝不会发送到服务器。

样式控制

美化时可选择 2 空格、4 空格或制表符缩进。

示例

紧凑函数

function add(a,b){return a+b}const doubled=[1,2,3].map(x=>x*2);console.log(doubled)

将单行脚本重新缩进为可读的语句。

async/await

async function load(id){const r=await fetch(`/api/${id}`);if(!r.ok)throw new Error('bad');return r.json()}

整洁地格式化异步函数和模板字面量。

对象字面量

const cfg={retries:3,timeout:5000,headers:{'Content-Type':'application/json'},onError(e){console.warn(e)}}

逐行展开嵌套对象和简写方法,结构清晰。

class Counter{#n=0;inc(){this.#n++}get value(){return this.#n}}

缩进类字段和方法,提升可读性。

常见使用场景

读懂压缩代码
美化压缩或混淆后的脚本,让你能理解和调试它。
代码审查
提交 Pull Request 前格式化 JavaScript,确保代码一致、便于 diff。
压缩上线
用 Terser 压缩生产环境 JavaScript,减少字节数、加快加载速度。
整理代码片段
将从控制台或 gist 粘贴的代码重新格式化为整洁可读的形式。

技术细节

使用 js-beautify 美化
采用久经检验的 js-beautify 引擎,缩进和间距输出可预期、可配置。
使用 Terser 压缩
Terser 是事实上的 JavaScript 压缩标准 — 重命名局部变量、删除死代码、去除注释,同时保留行为。
浏览器端运行
完全在客户端运行;你的代码不会离开设备或抵达服务器。

最佳实践

源码格式化,生产压缩
在代码仓库中保留可读代码,让构建流程用 Terser 压缩。
谨慎压缩新语法
Terser 针对标准 JavaScript;非常新的语法提案可能需要先转译。
不要手动编辑压缩输出
重命名后的变量使压缩代码难以维护 — 编辑源码后再重新压缩。

常见问题

如何在线格式化 JavaScript?
将代码粘贴到输入框中,点击「格式化」。工具会以一致的间距和换行重新缩进代码,然后让你复制结果。所有操作均在浏览器本地运行 — 不会上传任何内容。
如何压缩 JavaScript?
将代码粘贴到输入框中,点击「压缩」。工具会运行 Terser 重命名局部变量、去除注释并折叠空白,生成最小的等效脚本,并显示节省了多少字节。
JavaScript 格式化和压缩有什么区别?
格式化(美化)添加缩进和间距,使代码便于阅读。压缩缩短变量名并去除空白和注释,缩减包体积、加快加载速度。两者的运行行为与原始代码完全相同。
压缩会改变代码的行为吗?
不会。Terser 保留行为 — 它只重命名局部变量并去除空白、注释和不可达代码。压缩后的脚本与源码运行效果完全相同。
使用此工具时我的代码安全吗?
安全。所有格式化和压缩操作都使用 JavaScript 在浏览器本地完成 — 你的代码绝不会发送到任何服务器、被记录或被存储。因此可以安全地用于专有或未发布的代码,这与会收到你粘贴内容副本的服务器端工具不同。
为什么压缩报错了?
Terser 需要语法有效的 JavaScript。如果粘贴了不完整的片段或 TypeScript/JSX,解析会失败 — 格式化采用尽力而为策略,但压缩需要合法的 JS。修复语法或先转译,然后重试。
JavaScript 应该使用什么缩进?
2 空格是现代 JavaScript 中最常见的默认值,能让 diff 保持紧凑;4 空格和制表符也被广泛使用。选定一种并一致使用 — 本工具美化时三种都支持。