JavaScript Formatter
One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.
Ctrl+Enter Run · Ctrl+Shift+C Copy · Esc Clear
Understand JavaScript Formatter
这个工具整理 JavaScript 或 TypeScript 文本——行尾、行尾空白和连续空行——并在识别出 JSON 时把输入按 JSON 美化输出。
How it works
如果文本以 { 或 [ 开头,就先按 JSON 尝试解析,解析成功则以两个空格缩进打印。否则清理纯粹是文本层面的:CRLF 和 CR 行尾变成 LF,每行末尾的空白被去掉,连续三行及以上的空行折叠为两行。它不会把内容当作代码解析,因此你代码的含义不会被改变——同样地,本就错误的缩进也依旧错误。
When to use it
- 统一一个先后经过 Windows 和 macOS 编辑器的文件的行尾。
- 美化你在某个 JavaScript 文件里发现的、被粘进去的 JSON 数据。
- 在把片段粘进 issue 或代码评审评论之前先整理一下。
- 清理满是零散空行和行尾空格的生成输出。
Watch out for
- 它不会重新缩进。压缩过的 JavaScript 进来是一行,出去还是一行——展开它需要一个能从语法树重建代码的解析器,而这不是。
- 任何以 { 或 [ 开头的内容都会被尝试按 JSON 处理,因此一段恰好也是合法 JSON 对象的代码片段,回来时会被重新打印成 JSON,而不是保留为代码。
- 引号风格、分号、表达式内部的空格和行宽都不会被改动,因此它无法让一个文件符合某份 Prettier 配置。
Not the right tool for: 格式化你即将提交的代码。Prettier 或你编辑器的格式化工具会解析代码,产出在整个团队中都稳定一致的结果;本工具适合快速整理你要粘到别处的文本。
Frequently Asked Questions
为什么它比 Prettier 简陋?
完整的 JS/TS AST 解析需要 3–5 MB 的库。本工具在没有那份开销的前提下做快速清理——统一行尾、修正缩进、折叠多余空行、识别内嵌的 JSON。若需要编辑器集成的格式化,请使用 Prettier 的 VS Code 扩展。
它能格式化压缩过的 JavaScript 吗?
只能部分处理——它能应付最常见的一种情况,即 JS 中内嵌的、被压缩成类 JSON 的对象。完全压缩的 JS(全在一行、没有空格)需要真正的 AST 反解析器,而本工具并不包含。
它支持 ES 模块和 TypeScript 吗?
本格式化工具基于文本(而非 AST),因此它能处理任何合法的 JavaScript 语法,包括 import/export、async/await、泛型和类型标注,尽管它并不理解这些。它不会错误地删掉 TypeScript 专有语法。
How to Use JavaScript Formatter
- Paste or type your input in the input area above.
- The tool processes your input automatically or click Run.
- Copy or download the result using the action buttons.
- Use Ctrl+Enter to run quickly from the keyboard.