TOML to YAML
Convert TOML to YAML. Paste TOML on the left; the YAML output builds on the right as you type.
[package]
name = "vayce"
version = "1.0"
[[servers]]
host = "a.example.com"
[[servers]]
host = "b.example.com"
becomes
package:
name: vayce
version: "1.0"
servers:
- host: a.example.com
- host: b.example.com
[package] becomes a nested mapping under package. The two [[servers]] blocks, TOML’s array-of-tables syntax, become a YAML sequence with one mapping per block, in the order they appear in the source.
Quoting choices
The YAML serializer quotes version: "1.0" because an unquoted 1.0 would read as a YAML float, losing the distinction TOML made by storing it as a string. Values TOML typed as real numbers, like port = 8080, come out unquoted, since there’s no ambiguity there.
Migrating from Rust or Python configs
TOML to YAML shows up most when a project’s Cargo.toml, pyproject.toml, or config.toml needs to feed a CI pipeline or a tool that reads YAML, GitHub Actions and many Kubernetes-adjacent tools among them. Paste the whole file; TOML comments are dropped during parsing, the same limit YAML to TOML has in the other direction.
After the conversion
If the YAML needs reformatting, comment annotations, or a specific indentation, the YAML formatter picks up from here without needing the original TOML again.