Tools / YAML ⇄ TOML ⇄ JSON
YAML / TOML / JSON Converter
Convert between YAML, TOML, and JSON in your browser. Pick a source and target format — the source format is auto-detected on load.
{
"name": "darinor.com",
"version": 1,
"features": [
"blog",
"tools",
"games"
],
"metadata": {
"author": "darinor",
"private": false
}
}// About this tool
YAML / TOML / JSON Converter
Paste YAML, TOML, or JSON and convert it to either of the other two formats. On load, the input format is auto-detected by attempting to parse it as each format in turn, but you can override the source and target with the format tabs at any time.
This is useful when a tool expects one config format but your source of truth is in another — CI pipelines are commonly YAML, Rust and Python packaging config is commonly TOML (Cargo.toml, pyproject.toml), and most APIs and MCP configs speak JSON.
TOML requires a top-level table (object) — arrays and bare scalar values at the root can't be represented as a TOML document, so converting those to TOML will show an error even though the same value converts fine to YAML or JSON.
// When to use it
Port a GitHub Actions workflow value into JSON
Paste a YAML snippet to see its JSON shape before wiring it into a script that consumes JSON config.
Check a pyproject.toml section as JSON
Paste TOML and convert to JSON to inspect nested tables and arrays without holding the TOML grammar in your head.
Translate an MCP config between formats
Some MCP clients prefer YAML, others JSON — convert a working config between the two without hand-editing the structure.
// Questions
How is the source format auto-detected?
The input is tried against each parser in turn — JSON first (strictest), then TOML, then YAML (most permissive) — and the first one that parses without error is used. You can always override the detected format with the tabs.
Why can't I convert an array to TOML?
TOML documents are always a table (key-value object) at the root — there's no syntax for a bare top-level array or scalar. Wrap the value in an object first, e.g. { "items": [...] }.
Is my data uploaded anywhere?
No. All parsing and conversion happens client-side in your browser.
// Related tools