en

YAML to TOML

Convert a YAML file to TOML locally - readable config with tables, no upload, right in your browser.

Running locally on your device ...

Running locally on your device ...

0%

Is my file uploaded?

No. Everything runs in your browser - your file never leaves your device. How this is verifiable

No upload100% local
Your content stays with youno third-party access
Hosted in GermanyGlobal Content Delivery
Independently auditedTLS A+ · HTTP headers A+

YAML is the widespread configuration format for CI pipelines, Docker Compose, Kubernetes and many tools - using indentation instead of brackets and little ceremony. TOML pursues the same goal of human readability, but relies on sections in square brackets and plain key-equals-value lines, like a Cargo.toml or pyproject.toml uses. This tool reads your YAML file and writes the same structure as well-formed TOML.

The conversion runs entirely locally in your browser: js-yaml reads the YAML, smol-toml writes the TOML, both pure JavaScript. Nested mappings become TOML tables and sub-tables (such as [server.meta]), sequences become TOML arrays, timestamps become real date/time values. From an indented YAML configuration you get a clearly structured .toml that you can version and commit straight away.

This closes the gap between the formats: JSON to YAML, JSON to TOML and now YAML to TOML are all available locally. It stays honest about it: a TOML document needs a table at the top level, so a YAML sequence, a single scalar or null at the root is rejected with a clear message instead of failing cryptically. And because TOML has no null type, mappings with null values are reported, not silently dropped. Nothing is uploaded.

Specifications

Specifications
Input formatsYAML, YML
Output formatTOML
Batch processingNo
ProcessingLocally in your browser (JavaScript)
File uploadNone

In 3 steps

  1. Drop or pick your YAML file.
  2. The tool converts it into TOML.
  3. Download the TOML file.

Limitations: Expects a YAML mapping at the top level; a sequence, scalar or null at the root is rejected with a clear message. Nested mappings become sub-tables, sequences become TOML arrays, timestamps become TOML date/time values. TOML has no null type, so mappings with null values are rejected instead of being silently dropped. YAML comments are lost, since TOML cannot represent them in the same place. YAML anchors are resolved on read.

FAQ

Is my file uploaded?

No. The conversion runs entirely locally in the browser - nothing is sent.

Why must the root be a mapping?

A TOML document is a table at the top level; a sequence or scalar cannot be a TOML root.

How are timestamps handled?

YAML timestamps are written as real TOML date/time values, not as strings.

What happens with null values?

TOML has no null type; mappings containing null are rejected with a clear message instead of being silently dropped.

Does the reverse work too?

For that, combine "TOML to JSON" and "JSON to YAML".

Related tools

YAML to JSON · JSON to TOML · TOML to JSON · TOML to YAML · GLB to glTF · glTF to GLB