100 % local — seus dados nunca saem do seu navegador

YAML para TOML — configurações convertidas

Converta uma configuração YAML em TOML. Os mapeamentos aninhados viram tabelas, prontas para Cargo, pyproject ou qualquer coisa que leia TOML.

Instantâneo Privado Zero cookies

Entrada YAML

Saída TOML

O que esta ferramenta faz

Mapeamentos aninhados viram tabelas, listas de mapeamentos viram arrays de tabelas:

db:
  host: db.example.com
  pool:
    size: 10
servers:
  - name: a
  - name: b
[db]
host = "db.example.com"

[db.pool]
size = 10

[[servers]]
name = "a"

[[servers]]
name = "b"

Três coisas que o TOML não sustenta

Null. O TOML não tem valor nulo. Tirar a chave mudaria o que o arquivo diz; escrever "" inventaria um valor. A conversão para e diz qual.

Uma lista na raiz. Um arquivo TOML é uma tabela: o primeiro nível são pares chave/valor, sempre. Um documento YAML cuja raiz é uma sequência não tem onde pô-los. Nomeie a lista e ela converte.

Vários documentos. --- separa documentos YAML; o TOML não tem separador nem jeito de dizer «e aqui vai outro arquivo». Um de cada vez.

As datas continuam strings

2026-01-01 chega como string, porque é assim que o YAML 1.2 a lê, e sai como string entre aspas.

O TOML tem sim um tipo data nativo, e usá-lo seria decidir que o autor pensava numa data. Às vezes pensava. Às vezes 2026-01-01 é uma referência de produto, um nome de pasta, uma versão. Errar transforma texto em timestamp, e essa não é uma mudança que se note antes que algo, adiante, comece a ordenar.

Um ponto sobre inteiros longos

Um inteiro além de uns quinze dígitos é arredondado no caminho. A conversão passa pelo JSON, cujos números são pontos flutuantes de dupla precisão, e é aí que os dígitos se perdem.

O yaml-to-json os mantém exatos — lê os dígitos como estão escritos. A fronteira que arredonda é a que todas as conversões json-to-… compartilham, e será tratada lá em vez de remendada aqui. Até então: se o seu arquivo carrega um identificador de vinte dígitos, ponha aspas no YAML e ele atravessa como string, intacto.

Privado por padrão

Tudo é executado localmente no seu navegador com JavaScript. Os seus dados nunca são enviados para um servidor, o que torna a ferramenta segura para conteúdo sensível e funciona offline.

Perguntas frequentes

Por que null é recusado em vez de omitido?
Porque o TOML não tem null, e as duas formas de fingir são falsas. Tirar a chave muda o que o arquivo diz: uma configuração ausente não é uma configuração posta em nada. Escrever string vazia inventa um valor. A conversão para e nomeia a chave, para que você decida.
Por que minha lista na raiz não pode ser convertida?
Porque um arquivo TOML é uma tabela: o primeiro nível são sempre pares chave/valor. Um documento YAML cuja raiz é uma sequência não tem onde pendurá-los. Dê um nome à lista — `items:` na frente — e ela vira um array de tabelas.
Por que minha data saiu como string entre aspas?
Porque era isso quando chegou. O YAML 1.2 lê `2026-01-01` como string; escrevê-la como data TOML seria adivinhar que o autor pensava numa data, e errar transforma uma referência de produto como `2026-01-01` num timestamp. Uma string entre aspas guarda exatamente o que havia.

Conversores relacionados