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.