iGotTools

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.toml do Rust, o pyproject.toml do 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:

  1. 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.
  2. 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.
  3. 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).
  4. 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.
  5. 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 (@id por 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).

iGotTools

Comece com esta ferramenta

Começar agora