Como converter CSV, JSON, YAML e XML sem perder estrutura

Veja quando usar CSV, JSON, YAML e XML, como converter entre os formatos sem perder dados, e os cuidados com delimitadores, cabeçalhos, aspas, arrays e estruturas aninhadas.

Revisado pela equipe editorial ValorFinalRFC 4180 (CSV) / RFC 8259 (JSON) / especificações YAML e XML

Converter dados entre CSV, JSON, YAML e XML é uma tarefa do dia a dia de quem trabalha com APIs, planilhas e arquivos de configuração. A regra geral é simples: escolha o formato de destino conforme quem vai consumir o dado, e cuide dos detalhes que costumam quebrar a conversão, como delimitadores, cabeçalhos, aspas e estruturas aninhadas. Neste guia você vê quando usar cada formato e como converter sem perder estrutura. Para converter agora, use o conversor de dados, que roda 100% no navegador.

Diferença entre CSV, JSON, YAML e XML

Os quatro guardam dados, mas com filosofias diferentes:

Quando cada formato é mais usado

Use CSV quando o destino é uma planilha ou um sistema que espera tabela. Use JSON para comunicação entre serviços e front-end. Use YAML para configurar pipelines e ambientes, onde a legibilidade importa. Use XML quando o sistema do outro lado exige, como em integrações bancárias, fiscais ou padrões antigos. Saber o destino evita conversões desnecessárias e perda de estrutura.

CSV para JSON: cabeçalhos, delimitadores e aspas

Ao converter CSV para JSON, três decisões importam. Primeiro, se a primeira linha é cabeçalho: nesse caso cada coluna vira uma chave do objeto. Segundo, o delimitador: vírgula é o padrão internacional, mas planilhas em português costumam usar ponto e vírgula. Terceiro, as aspas: campos com vírgula ou quebra de linha precisam estar entre aspas duplas, e aspas internas são duplicadas. Um bom conversor coage tipos com cuidado, lendo 30 como número e true como booleano, mas mantendo textos intactos.

JSON para CSV: arrays, objetos e campos aninhados

O caminho inverso esbarra na natureza plana do CSV. Um array de objetos com as mesmas chaves vira uma tabela direta, em que cada chave é uma coluna. Quando há objetos ou arrays aninhados, o conversor precisa achatar a estrutura ou colocar um JSON como texto na célula. Na exportação, atenção à segurança: células iniciadas por sinais de fórmula devem ser neutralizadas para evitar CSV injection ao abrir o arquivo em um editor de planilhas.

JSON para YAML e YAML para JSON

Como YAML e JSON representam as mesmas estruturas, a conversão entre eles é a mais direta. O YAML resultante fica mais legível, com indentação no lugar de chaves e colchetes. No sentido inverso, o JSON é mais fácil de processar por máquinas. Cuide apenas dos recursos avançados de YAML, que nem sempre têm equivalente em JSON.

XML para JSON e JSON para XML

Converter XML para JSON exige decidir como tratar atributos e texto. Uma convenção comum coloca atributos em uma chave especial, como @attributes, e o texto do elemento em outra, como #text. Elementos repetidos com o mesmo nome viram um array. No caminho JSON para XML, cada chave do objeto vira uma tag, e caracteres especiais como menor que, maior que e e comercial precisam ser escapados como entidades.

Erros comuns em conversão

Exemplo prático

Um CSV com cabeçalho como este:

nome,idade,ativo
Maria,30,true

vira o seguinte JSON, com tipos coagidos:

[
  { "nome": "Maria", "idade": 30, "ativo": true }
]

Tipos de dados e perda de informação

Um detalhe que costuma passar despercebido é como cada formato trata tipos. No CSV, tudo é texto: o número 30 e a string 30 são iguais, e cabe a quem lê decidir como interpretar. Ao converter para JSON, um bom conversor coage valores, lendo 30 como número e true como booleano, mas isso pode causar surpresas, por exemplo transformar um CEP com zero à esquerda em um número e perder o zero. Quando a fidelidade importa, mantenha esses campos como texto.

JSON, YAML e XML representam tipos com mais riqueza, mas também têm armadilhas. Datas, por exemplo, não têm um tipo nativo em JSON e costumam virar texto em um formato combinado. Números muito grandes podem perder precisão. Em XML, tudo é texto por padrão, e a interpretação depende de um esquema. Por isso, depois de converter dados importantes, confira uma amostra do resultado antes de confiar na transformação inteira.

Outra recomendação prática é padronizar a codificação em UTF-8. Acentos e caracteres especiais que aparecem corrompidos quase sempre indicam um problema de codificação na origem, não na conversão. Ao colar dados de planilhas, confira se acentos e cedilha vieram corretos. Pequenos cuidados com tipos e codificação evitam a maior parte dos erros silenciosos em integrações de dados.

Checklist antes de converter

Antes de rodar uma conversão importante, vale seguir um roteiro rápido. Confirme o delimitador real do CSV abrindo o arquivo em um editor de texto, e não só na planilha. Decida se a primeira linha é cabeçalho. Verifique se campos com vírgula ou quebra de linha estão entre aspas. Identifique os campos que devem permanecer como texto, como CEP, CPF, CNPJ e códigos com zero à esquerda. Por fim, converta uma amostra pequena primeiro e confira o resultado antes de processar o arquivo inteiro. Esse cuidado de poucos minutos evita retrabalho e dados corrompidos em integrações que rodam repetidamente, e é especialmente importante quando a saída alimenta outro sistema de forma automática.

Vale ainda combinar formatos conforme a etapa do trabalho. É comum receber um CSV de uma planilha, convertê-lo em JSON para tratar os dados em um script, e depois exportar de volta para CSV para entregar a quem usa planilha. Em arquivos de configuração, o caminho costuma ser o inverso: editar em YAML, por ser legível, e converter para JSON quando uma ferramenta exige. Saber transitar entre os formatos sem perder estrutura é o que torna o trabalho com dados mais rápido e menos sujeito a erro.

Quando usar a ferramenta do ValorFinal

Use o conversor de dados para converter entre CSV, JSON, YAML e XML com preview, cópia e download local. Para validar e formatar o JSON antes de converter, veja o formatador de JSON; para codificar conteúdo binário, o codificador Base64. Explore as demais ferramentas de tecnologia.

Calculadoras deste guia

Como validamos os cálculos

Os valores citados neste guia são estimativos e baseados em fontes oficiais (RFC 4180 (CSV) / RFC 8259 (JSON) / especificações YAML e XML). Eles podem variar conforme convenção coletiva, situação individual e atualizações da legislação. Entenda nossa metodologia em como validamos os cálculos.

Perguntas frequentes

Qual a diferença entre CSV, JSON, YAML e XML?
CSV é uma tabela simples de linhas e colunas, ótima para planilhas. JSON é um formato de objetos e listas, padrão em APIs web. YAML é parecido com o JSON em conteúdo, mas usa indentação e é muito usado em arquivos de configuração. XML usa tags aninhadas e atributos, comum em sistemas mais antigos e em alguns padrões corporativos.
Como o CSV trata vírgulas dentro de um campo?
Quando um campo contém vírgula, ele deve ficar entre aspas duplas. Se o próprio campo tiver aspas, elas são duplicadas. Por exemplo, o texto Silva, Joao vira "Silva, Joao". Um bom conversor respeita essas regras e ainda deixa escolher o delimitador (vírgula, ponto e vírgula ou tabulação), o que ajuda a colar dados de planilhas brasileiras.
É possível converter JSON aninhado para CSV?
Parcialmente. O CSV é plano, então estruturas aninhadas precisam ser achatadas ou representadas como texto na célula. Um conversor costuma transformar objetos e arrays internos em uma string JSON dentro da célula. Para dados muito aninhados, JSON, YAML ou XML preservam melhor a estrutura do que o CSV.
Converter YAML para JSON pode perder informação?
Para os casos comuns (mapas, listas, números, textos e booleanos), a conversão preserva os dados. Recursos avançados do YAML, como âncoras, tags personalizadas e blocos multilinha, podem não ser totalmente representados. Por isso, depois de converter, vale conferir o resultado, principalmente em arquivos de configuração grandes.
Conversores online enviam meus dados para servidor?
Alguns sim, outros não. Quando os dados são sensíveis (informações de clientes, chaves, configurações internas), prefira ferramentas que rodam no navegador. O conversor de dados do ValorFinal processa tudo localmente, sem enviar o conteúdo para nenhum servidor.
O que é CSV injection e por que isso importa na exportação?
CSV injection acontece quando uma célula que começa com =, +, - ou @ é interpretada como fórmula ao abrir o arquivo em um editor de planilhas, o que pode executar ações indesejadas. Por isso, uma exportação segura coloca um apóstrofo na frente dessas células, neutralizando a fórmula. Sempre confira a origem de planilhas antes de abrir.