zh

TOML 转 YAML

在本地把 TOML 文件转换为 YAML,为 CI 和 Docker 提供缩进式配置,无需上传,直接在浏览器中完成。

正在你的设备上本地处理 ...

正在你的设备上本地处理 ...

0%

我的文件会被上传吗?

不会。一切都在你的浏览器中运行,你的文件永不离开你的设备。这一点如何验证

无需上传100% 本地处理
内容只属于你第三方无法访问
Hosted in GermanyGlobal Content Delivery
经独立审计TLS A+ · 标头 A+

TOML 是 Rust 和 Python 工具链的配置格式,一个 Cargo.toml 或 pyproject.toml,带有方括号里的小节和朴素的键=值行。YAML 追求同样的可读性目标,但用缩进而非括号,并且是 CI 流水线、Docker Compose 和 Kubernetes 的通用语言。本工具读取你的 TOML 文件,并把相同的结构写成 YAML。

转换完全在你的浏览器中本地运行:smol-toml 读取 TOML,js-yaml 写出 YAML,二者都是纯 JavaScript。表会变成映射,子表(例如 [server.meta])会变成嵌套映射,表数组会变成序列,TOML 的日期/时间值会变成真正的 YAML 时间戳。从一个带括号的 .toml,你会得到一个带缩进的 .yaml,可以直接放进 CI 流水线。

这样就闭合了往返:YAML 转 TOML,如今再加上 TOML 转 YAML,当你在两个世界之间迁移配置时,两者都可在本地使用。工具对此保持诚实:TOML 文档的根处总是一个表,所以产出的 YAML 始终是一个映射。超出 JavaScript 安全范围的极大 TOML 整数会被以清晰的提示拒绝,而不是在丢失精度的情况下转换。不会上传任何内容。

技术规格

技术规格
输入格式TOML
输出格式YAML
批量处理不支持
处理方式在浏览器中本地处理 (JavaScript)
文件上传

三步完成

  1. 拖入或选择你的 TOML 文件。
  2. 工具把它转换为 YAML。
  3. 下载 YAML 文件。

限制: TOML 总是解析为一个表,所以输出始终是一个 YAML 映射。子表会变成嵌套映射,表数组变成序列,日期/时间值变成 YAML 时间戳。超出 JavaScript 安全范围的极大整数会被以清晰的提示拒绝(不做有损转换)。无效的 TOML 会以清晰的错误被拒绝。TOML注释(#)会丢失,因为解析时不会读取它们。

常见问题

我的文件会被上传吗?

不会。转换完全在浏览器中本地完成,不发送任何内容。

它能处理 Cargo.toml 或 pyproject.toml 吗?

可以。Cargo.toml、pyproject.toml 以及其他 TOML 文件会被直接解析并写成 YAML。

日期/时间值如何处理?

TOML 的日期/时间值会输出为真正的 YAML 时间戳,而非字符串。

极大的整数会怎样?

超出 JavaScript 安全范围的 TOML i64 值会被以清晰的提示拒绝,而不是在丢失精度的情况下转换。

反向也可以吗?

可以,用我们的"YAML 转 TOML"工具。

相关工具

TOML 转 JSON · YAML 转 TOML · YAML 转 JSON · GLB 转换为 glTF · glTF 转换为 GLB · XML 转 YAML