js-beautify:开源 JS / HTML / CSS 代码美化工具
js-beautify 是经典的开源代码美化器,可格式化压缩/混淆过的 JavaScript,并支持 HTML、CSS;提供浏览器、Node.js、Python 与 CDN 多种使用方式。
js-beautify(JS Beautifier)是一款历史悠久、使用广泛的开源代码美化工具。它能重新缩进、排版压缩过的脚本与书签脚本,解包 Dean Edwards Packer 打包结果,并对经 javascript-obfuscator 处理的脚本做部分还原,方便阅读与调试。
- 官网在线体验:beautifier.io
- GitHub:beautifier/js-beautify(MIT,约 9k+ Star)
- 包分发:npm
js-beautify· PyPIjsbeautifier· cdnjs
说明:该仓库 Releases 不附带安装包 Assets,日常安装请走 npm / pip / CDN,而非 GitHub Release 下载。
能做什么
- 美化 / 重排 JavaScript(含 JSON 字符串)
- Node 版额外支持 HTML、CSS 美化(
html_beautify/css_beautify) - 浏览器 UI、命令行 CLI、库调用、CDN 嵌入多种入口
- 丰富的缩进、换行、大括号风格、链式调用等选项;可配合
.jsbeautifyrc/ EditorConfig
Python 版主要面向 JavaScript;若要美化 CSS,可另装 cssbeautifier。项目已不再支持 Python 2。
快速开始
浏览器
打开 beautifier.io,在界面里粘贴代码并调整选项即可。
Node.js(CLI / 库)
# 全局 CLI
npm -g install js-beautify
js-beautify foo.js
# 项目依赖
npm install js-beautify
# 预发布 / RC
npm install js-beautify@next
库调用(CommonJS 示例):
var beautify = require('js-beautify/js').js;
console.log(beautify(code, { indent_size: 2, space_in_empty_paren: true }));
ESM:
import beautify from 'js-beautify';
beautify.js(data, options);
beautify.html(data, options);
beautify.css(data, options);
CLI 参数名与库选项对应:CLI 用短横线(如 --indent-size),库侧用下划线(indent_size)。
Python
pip install jsbeautifier
js-beautify file.js
import jsbeautifier
opts = jsbeautifier.default_options()
opts.indent_size = 2
res = jsbeautifier.beautify('some JavaScript', opts)
网页 CDN
可从 cdnjs 引入(版本号按需替换,示例为 2.0.3):
<script src="https://cdnjs.cloudflare.com/ajax/libs/js-beautify/2.0.3/beautify.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/js-beautify/2.0.3/beautify-css.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/js-beautify/2.0.3/beautify-html.min.js"></script>
脚本会暴露 js_beautify、css_beautify、html_beautify。CDN 为免费服务,无 SLA 保障。
常用选项(节选)
| 方向 | 示例 |
|---|---|
| 缩进 | --indent-size / indent_size(默认 4)、--indent-with-tabs |
| 换行 | --preserve-newlines、--end-with-newline、--wrap-line-length |
| 风格 | --brace-style(collapse / expand 等)、--comma-first |
| 括号空格 | --space-in-paren、--space-in-empty-paren |
| 配置文件 | --config、.jsbeautifyrc、editorconfig |
默认值与完整 CLI 列表见仓库 README。JavaScript 实现还可通过 jsbeautify_ 环境变量或上级目录的 .jsbeautifyrc 加载配置;语言级可覆盖继承设置。
适用场景
- 阅读压缩 / 打包后的前端脚本
- 编辑器外批量格式化 JS / HTML / CSS
- 在线工具页或内部平台嵌入美化能力
- 与构建脚本、代码审查前置步骤结合
若你更需要「保存即格式化」的编辑器体验,可在 VS Code / Cursor 等 IDE 中搭配 Prettier、Biome 等;js-beautify 更偏独立美化器 / 库,尤其擅长处理「已经很难看」的存量代码。
相关链接
- 官网:https://beautifier.io/
- 源码:https://github.com/beautifier/js-beautify
- npm:https://www.npmjs.com/package/js-beautify
- 贡献指南:仓库内
CONTRIBUTING.md(维护者说明项目欢迎新贡献者)
本文根据 GitHub 仓库 README 与公开信息整理,仅作介绍与用法备忘;以官方文档为准。