TOML to YAML converter
Paste Cargo.toml, pyproject.toml or config.toml to get YAML suited to tools such as Docker Compose and GitHub Actions.
Loading the tool…
Processing and privacy: The result is calculated inside your browser and your data is not sent to any server.
How to use it
- Enter toml text and indentation.
- The result appears straight away and updates as you edit.
- Copy the result, or copy a link that keeps the same values to share it.
How it is calculated
The file is read per TOML 1.0, then YAML is written: tables become nested maps, [[a]] a list of maps, dates stay unquoted and a local time such as 07:32:00 is quoted so YAML 1.1 readers do not see a number. Ambiguous strings such as "0.1.0" and "yes" are quoted, and inf and nan become .inf and .nan.
Example
Inputs: Indentation = 2 spaces. Result: YAML: package: name: demo version: "0.1.0" authors: - Sara - Omar server: host: "0.0.0.0" port: 8080 started: 2026-01-15T09:30:00Z users: - name: Ali admin: true - name: Mona admin: false .
# Project settings [package] name = "demo" version = "0.1.0" authors = ["Sara", "Omar"] [server] host = "0.0.0.0" port = 8080 started = 2026-01-15T09:30:00Z [[users]] name = "Ali" admin = true [[users]] name = "Mona" admin = false
package:
name: demo
version: "0.1.0"
authors:
- Sara
- Omar
server:
host: "0.0.0.0"
port: 8080
started: 2026-01-15T09:30:00Z
users:
- name: Ali
admin: true
- name: Mona
admin: false
Limits and caveats
- Comments are dropped.
- YAML 1.2 readers see an unquoted date as text, while YAML 1.1 readers see a timestamp.
Questions about this tool
Why is "0.1.0" in quotes?
Strings that start with a digit may be read as numbers by some readers, and quoting keeps them as text.
How does [[bin]] look in YAML?
It becomes a list under the bin key, with each item a map of that table's keys.
Is key order kept?
Yes, keys stay in the order they appear in the TOML file.
