Zero Signup ToolsFree browser tools

Converter Tools

TOML to YAML Converter

Convert TOML to YAML in your browser. Tables, arrays of tables, dotted keys, inline tables, multi-line strings, dates, and numbers with underscores.

Indent

Style

Quote style

TOML 1.0 features supported: tables, arrays of tables, dotted keys, inline tables, multi-line basic and literal strings, integers in decimal/hex/oct/bin with underscores, floats, booleans, and RFC 3339 dates. Conversion runs locally in your browser. Nothing you paste is uploaded.

644 chars

How to use

  1. Paste your TOML into the input on the left, or click Load sample to start with a Cargo.toml-style example that exercises tables, arrays of tables, dotted keys, an inline table, multi-line strings, and a date.
  2. Choose the output indent: 2 spaces (the default in Kubernetes, GitHub Actions, Ansible, and most YAML linters) or 4 spaces for projects that prefer wider indent.
  3. Pick a Style: Block for the standard multi-line YAML used in configs, or Flow for a JSON-like single-line output that is sometimes useful in inline contexts.
  4. Pick a Quote style: Auto quotes only when necessary, Single prefers 'single' quotes for strings, and Double prefers "double" quotes (useful when the consumer needs explicit escapes for special characters).
  5. Read the verdict and stats above the YAML output (tables, keys, lines, byte size). Click Copy to take the result, or Download .yaml to save it as a file.

About this tool

TOML to YAML Converter takes a TOML document and emits a clean YAML 1.2 equivalent, entirely in your browser. The parser implements the practical TOML 1.0 subset used by real configuration files (Cargo.toml, pyproject.toml, fly.toml, netlify.toml, Hugo, Zola, Cobalt, GitHub Actions hosts, and the toml frontmatter dialect): table headers like [package] and dotted keys like a.b.c = 1, arrays of tables like [[servers]] that become a YAML sequence of maps, inline tables {x = 1, y = 2}, mixed-type arrays, basic and literal strings plus their multi-line forms, integers in decimal, hex (0x), octal (0o), and binary (0b) with underscore separators, floats including inf and nan, booleans, and RFC 3339 local dates, local times, local datetimes, and offset datetimes. The YAML emitter mirrors the conventions used by widely deployed tools: block style by default (one key per line, dash lists for arrays) with optional flow style for compact single-line output, 2 or 4 space indent, configurable quote style (auto, single, double), multi-line strings emitted as literal block scalars with the right chomp indicator so newlines round-trip exactly, and automatic quoting around values that would otherwise look like a YAML boolean, number, null, or date alias (yes, no, on, off, true, false, null, ~, 1.5, 2026-06-16). Multi-line values are placed at the right indent depth so the result parses cleanly under PyYAML, the Go yaml.v3 package, the js-yaml library, and Kubernetes. Useful for porting a Hugo or Zola site from TOML to a YAML-only static site generator, dropping a Cargo or pyproject snippet into a CI YAML config, rewriting a fly.toml for a docker compose stack, sharing TOML configs in YAML-only docs, or any moment you have a TOML file and a YAML-only target. Conversion runs locally on your device, so the configs, secrets, and project files you paste here never leave your browser.

Free to use. Works in your browser. No signup, no login.

Related tools

You may also like

All tools
All toolsConverter Tools