Converter YAML, JSON, TOML e XML
Mova dados entre JSON, YAML, TOML e XML localmente. Escolha os formatos de origem e destino, confira o resumo e os avisos, e copie ou baixe a saida convertida.
Arquivos de configuração vêm em quatro formas comuns — JSON, YAML, TOML e XML — e raramente ficam naquela em que você começou. Um manifesto do Kubernetes chega em YAML, um projeto Rust traz TOML, uma API devolve JSON, e um sistema legado ainda fala XML. Abra o Conversor de formatos de dados para se mover entre qualquer um deles sem enviar um byte.
TL;DR
Escolha origem e destino, cole seus dados, converta, copie.
- Qualquer para qualquer — converta JSON, YAML, TOML e XML entre si, tudo no seu navegador.
- Avisos de perda antecipados — quando atributos XML ou texto misto não voltam exatamente, o painel de Avisos avisa antes de você confiar na saída.
- Copiar ou baixar — leve o resultado para a área de transferência ou salve com a extensão do formato destino, localmente.
Por que a conversão de formato importa
Esses formatos descrevem todos a mesma coisa — dados estruturados com chaves e valores — mas foram criados para objetivos diferentes, e cada ecossistema fica com o que melhor se encaixa. O atrito aparece no momento em que os dados cruzam uma fronteira: um pipeline de CI lê YAML mas a ferramenta que ele invoca quer JSON; a configuração TOML de um projeto Python precisa ser editada por um script que fala JSON; uma API devolve JSON mas o serviço que a consome espera XML.
A verdade honesta é que os formatos não são perfeitamente intercambiáveis (mais sobre isso na seção de limites), mas para a grande maioria dos arquivos de configuração — configurações planas ou pouco aninhadas, listas e escalares tipados — uma conversão limpa é exatamente o que você precisa. O trabalho da ferramenta é tornar essa conversão rápida, transparente e avisar quando não é sem perda.
Os quatro formatos
Cada formato tem uma personalidade, e saber quando cada um é usado ajuda a escolher o destino certo:
- JSON — estrito, onipresente, o padrão para APIs e
package.json. Exige strings com aspas duplas, sem vírgulas finais, sem comentários. Todo analisador concorda com ele. - YAML — amigável para humanos, guiado por indentação. Movimenta Kubernetes, configurações de CI e tudo o que as pessoas editam à mão. Espaços em branco são significativos, o que é ao mesmo tempo sua força e sua armadilha.
- TOML — tipado, baseado em tabelas, feito para arquivos de configuração. A escolha para o
Cargo.tomldo Rust, opyproject.tomldo Python e ferramentas parecidas. Mais claro que INI, mais estrito que YAML. - XML — verboso, cheio de atributos e namespaces. O formato legado que ainda aparece em sistemas corporativos, APIs SOAP e armazenamentos de documentos antigos.
Passo a passo: converter entre formatos
O Conversor de formatos de dados roda totalmente no seu navegador. O fluxo é este:
- Escolha o Formato origem e o Formato destino. Dois menus suspensos separados selecionam de que e para que você está convertendo. Use Trocar para invertê-los na hora — útil quando você acabou de fazer JSON para YAML e agora precisa o inverso.
- Cole sua entrada na área de origem. Se não tem certeza do formato, a ferramenta pode sugerir um — aparece uma dica de “Detectado como” ao lado da origem com base no que você colou.
- Defina as opções. Três controles moldam a saída:
- Indentacao (0–8) — quantos espaços de recuo no resultado (ignorada ao minificar JSON).
- Minificar JSON — remove todos os espaços quando o destino é JSON, para o menor payload possível.
- Prefixo de atributo XML — a string prefixada às chaves que representam atributos XML (padrão
@, máximo de 4 caracteres).
- Clique em Converter. O resultado aparece na área de saída, junto com um Resumo (de formato para formato com a contagem de itens de nível superior) e um painel de Avisos flagrando qualquer coisa com perda.
- Copie ou baixe. Use Copiar resultado para a área de transferência, ou Baixar para salvar um arquivo cuja extensão corresponde ao formato destino. Use Limpar para reiniciar.
Conversões com perda e avisos
Algumas conversões não podem ser perfeitas, e a ferramenta é franca quanto a isso. O painel de Avisos lista cada caso para você saber exatamente onde olhar:
- Atributos XML — atributos como
<user id="7">são guardados sob uma chave com prefixo (@idpor padrão). Converter para JSON ou YAML os preserva, mas converter de volta para XML depende do prefixo para distinguir atributos de elementos filhos, o que pode ter perda em casos-limite. - Texto XML misto — quando um elemento tem tanto texto quanto elementos filhos, o texto é guardado sob uma chave
#text. Isso volta de forma imperfeita, porque a estrutura mista original não é expressável em JSON nem em YAML. - Nomes XML — nomes de elementos e atributos são normalizados para nomes XML válidos, então caracteres incomuns nas chaves são substituídos.
- Aninhamento TOML — objetos profundamente aninhados são aplanados para a saída TOML e podem precisar de revisão manual.
Quando o painel de Avisos está vazio, a conversão volta de forma limpa. Quando não está, leia cada aviso e decida se as partes afetadas importam para você. Para arquivos de configuração planos, você quase nunca verá avisos.
Limites e honestidade
Algumas restrições honestas para você saber exatamente o que está recebendo:
- Os analisadores de YAML e TOML são subconjuntos escritos à mão. Eles tratam os casos comuns — mapeamentos aninhados, listas, escalares, strings entre aspas, números, booleanos, null — mas não são bibliotecas completas da especificação YAML ou TOML. Estruturas complexas ou de casos-limite (âncoras e aliases em YAML, strings multilinha, arrays de tabelas em TOML, datas e horários) podem não ser analisadas ou serializadas exatamente como uma biblioteca dedicada faria.
- JSON e XML são robustos. JSON passa por
JSON.parse, então qualquer JSON válido é analisado exatamente. XML usa um analisador dedicado que trata atributos, aninhamento e entidades. - Idas e voltas não são garantidas. Como os casos com perda acima (atributos XML, texto misto, aninhamento TOML) nem sempre podem ser expressos no formato destino, converter A → B → A pode não reproduzir A exatamente. Guarde seu original.
Perguntas frequentes
A conversão é sem perda?
Para arquivos de configuração planos e pouco aninhados, sim — você tipicamente verá um painel de Avisos vazio. Para dados que usam atributos XML, texto XML misto ou aninhamento profundo de TOML, a conversão pode ter perda, e o painel de Avisos sinaliza cada parte afetada. Trate os avisos como seu sinal para revisar aquela seção.
Pode converter YAML para JSON?
Sim. Defina o Formato origem como YAML e o Formato destino como JSON (ou use a sugestão detectada), cole seu YAML e clique em Converter. A saída é JSON válido, com a indentação controlada pela opção Indentacao e minificação opcional.
Por que meu XML volta diferente?
Dois motivos. Os atributos XML são mapeados para chaves com prefixo (como @id), então distingui-los dos elementos filhos na volta depende desse prefixo. E conteúdo misto — um elemento com texto e filhos — é guardado sob #text, que não mapeia de forma limpa de volta para XML misto. O painel de Avisos relata ambos os casos. Se a fidelidade de ida e volta importa, guarde o original XML.
Suporta comentários em JSON?
Não. JSON não tem comentários na sua especificação, e o analisador os trata como entrada inválida. Se sua entrada tem comentários, remova-os antes de converter, ou use um formato que os suporte (YAML e TOML ambos suportam).

Comece com esta ferramenta
Começar agora