ZH
我的工具

YAML 格式化工具

用统一的风格格式化 YAML:2 或 4 个空格缩进、键排序、引号风格、行宽、块式或流式风格、展开锚点,支持多文档。

关闭后,"key:" 后面的 "- item" 会与它保持相同缩进(Kubernetes 和 Ansible 文档中常用的风格)。
我的工具 →
广告

经过多人编辑的 YAML,往往缩进混乱,有的地方是内联的 {…} 和 […],有的地方是块,引号也不统一。本格式化工具读取 YAML,并以统一的风格重新写出:2 或 4 个空格、块式或流式集合、你选的引号,以及可选的键排序和换行。它能处理含多个文档(---)的文件,保留 !Ref、!Sub、!vault 等 CloudFormation 和 Ansible 标签,出错时会给出行号和列号。

使用方法

  1. 粘贴 YAML——Kubernetes 配置清单、Docker Compose 文件、GitHub Actions 工作流、CloudFormation 模板等。
  2. 选择 2 或 4 个空格,以及列表项是否在键下方缩进。
  3. 选择块式或流式风格、引号字符和换行宽度。
  4. 可选:对键排序或展开锚点。
  5. 复制格式化后的 YAML——注释会被删除,需要的话请另外保留。

计算公式

解析(YAML 1.2 核心模式)→ 数据 → 以统一的缩进、风格和引号写出

由于 YAML 先被解析再重新写出,结果是以统一风格表示的等价数据。字符串只有在不加引号会被读成别的东西(数字、布尔值、null 或 YAML 语法)时才加引号,除非勾选了“给每个字符串加引号”。合并键(<<)会保留但不会被应用。注释和(排序时的)原有键顺序不会被保留。

示例

示例 Docker Compose 文件混用了 4 个和 10 个空格的缩进以及内联映射。用 2 个空格格式化后会变成统一的块:services: → web:,其中有 image: nginx:1.27、含 '80:80' 和 '443:443' 的 ports: 列表(因为 YAML 1.1 解析器会把 80:80 读成数字,所以加了引号)、restart: always;接着是 db:,其环境变量为嵌套映射、卷为列表;最后是带有 db-data: {} 的 volumes:。

常见问题

为什么我的注释不见了?

格式化工具把 YAML 解析成数据再写出,而注释不属于数据。带注释的文件请保留一份副本,或在格式化后重新添加重要的注释。

为什么有些值被加上了引号?

不加引号它们会有别的含义:80:80 和 1e3 看起来像数字,yes/no/on/off 在 YAML 1.1 工具中是布尔值,以 * & ! { [ # 开头的值则是语法。加上引号后,它们在所有解析器中都保持为字符串。

用于 Kubernetes 或 GitHub Actions 文件安全吗?

安全——数据不变,只改变排版。提交前请检查结果,尤其是当你依赖注释或特定的键顺序时。

我的 YAML 会被上传吗?

不会,格式化在你的浏览器中完成。

资料来源

最后更新:

引用此工具
APA

kakaoCalc. (2026, November 8). YAML 格式化工具. https://kakao.mobile/zh/tools/yaml-formatter/

MLA

“YAML 格式化工具.” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/yaml-formatter/.

广告