ZeroTool Workbench

YAML to TOML Converter

Convert YAML to TOML and TOML to YAML instantly. Handles nested objects, arrays, and all common data types. Free, browser-based, no upload required.

100% Client-Side Your data never leaves your browser Free · No Sign-Up

How to Use

  1. To convert YAML → TOML: paste your YAML into the left panel — the TOML output updates automatically.
  2. To convert TOML → YAML: paste your TOML into the right panel — the YAML output updates automatically.
  3. Click Swap to exchange both panels and flip the conversion direction.
  4. Use Ctrl+Enter (or Cmd+Enter on Mac) as a keyboard shortcut from whichever panel you are editing.
  5. Click Copy on either panel to copy the result to your clipboard.

Worked Example

YAML input

database:
  host: localhost
  port: 5432
  enabled: true
tags:
  - web
  - backend

Equivalent TOML output

[database]
host = "localhost"
port = 5432
enabled = true
tags = ["web", "backend"]

YAML vs TOML

YAML is widely used for application configuration (Docker Compose, Kubernetes, GitHub Actions) due to its human-friendly, indentation-based syntax. TOML is the standard for Rust projects (Cargo.toml), Python packaging (pyproject.toml), and tools like Hugo and Zola. This tool converts between them for data types common to both formats.

FAQ

What data types are supported?

Strings, integers, floats, booleans, arrays, and nested objects are fully supported in both directions. YAML anchors and aliases are resolved before conversion. TOML datetime values become strings in YAML.

Why does my YAML fail to convert to TOML?

TOML requires the root document to be a key-value mapping. YAML documents that have a sequence (list) or scalar as the root cannot be represented in TOML. Also, TOML does not support null values — null fields are automatically converted to empty strings and a warning is shown.

Are YAML multi-document streams supported?

No. Only single-document YAML is supported. Multi-document YAML (separated by ---) will be parsed as the first document only.

Is my data sent anywhere?

No. All conversion runs 100% in your browser. Your data never leaves your machine.