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.
Note: For full JS/TS formatting, use Prettier in your editor.
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

  1. Paste or type your input in the input area above.
  2. The tool processes your input automatically or click Run.
  3. Copy or download the result using the action buttons.
  4. Use Ctrl+Enter to run quickly from the keyboard.