Conversor de CSV e JSON

Converta CSV para JSON e JSON para CSV nos dois sentidos, em um só lugar, com suporte a diferentes delimitadores e detecção automática de números. Veja também uma prévia visual do CSV em forma de tabela. Sem cadastro, tudo processado localmente no seu navegador.

Converter CSV para JSON

Converter JSON para CSV

Visualizar CSV como tabela

De CSV para JSON

CSV (Comma-Separated Values) organiza dados em linhas e colunas separadas por um delimitador, geralmente vírgula, enquanto JSON representa a mesma informação como uma lista de objetos, um para cada linha, com os nomes das colunas como chaves. Se a primeira linha do CSV for tratada como cabeçalho, cada valor da linha seguinte é associado ao nome de coluna correspondente na mesma posição.

Campos entre aspas e caracteres especiais

Quando um valor precisa conter o próprio delimitador, como uma vírgula dentro de um nome ("Silva, João"), o padrão CSV exige colocar esse valor entre aspas duplas. Se o valor também tiver uma aspa dupla dentro dele, ela é representada como duas aspas duplas seguidas (""). O conversor desta página entende corretamente esse formato, incluindo campos com quebras de linha dentro das aspas, nos dois sentidos da conversão.

De JSON para CSV

Para converter um array de objetos JSON em CSV, a ferramenta reúne todas as chaves usadas em qualquer um dos objetos e as transforma nas colunas do cabeçalho. Cada objeto do array vira uma linha, com os valores posicionados na coluna correspondente à sua chave. É comum uma API retornar objetos onde nem todos têm exatamente os mesmos campos; nesses casos, o conversor monta um cabeçalho completo e deixa em branco a célula de qualquer linha que não tenha aquela chave específica.

Limitações com dados aninhados

CSV é fundamentalmente um formato de tabela simples, de duas dimensões, sem um jeito nativo de representar objetos dentro de objetos. Se um valor do JSON for outro objeto, ele aparecerá na célula como texto genérico (algo como "[object Object]"), e se for um array, os itens serão unidos em uma única célula separados por vírgula. Para converter corretamente dados aninhados, o recomendado é achatar (flatten) a estrutura antes, transformando campos aninhados em colunas próprias, como "endereco_cidade" em vez de um objeto "endereco" com uma propriedade "cidade" dentro.

Escolhendo o delimitador certo

A vírgula é o delimitador padrão internacional, mas em países onde a vírgula é usada como separador decimal, como o Brasil, é comum encontrar arquivos CSV usando ponto e vírgula para evitar ambiguidade com números como "3,14". Arquivos TSV (Tab-Separated Values), exportados por algumas ferramentas, usam tabulação em vez de vírgula ou ponto e vírgula. Se o Excel abrir tudo em uma única coluna ao importar o CSV gerado, tente trocar para ponto e vírgula, já que essa costuma ser a configuração regional padrão no Brasil.

Convertendo números automaticamente

Por padrão, todo valor em um CSV é texto simples. A opção "converter números automaticamente" identifica valores que parecem números (como "28" ou "3.14") e os transforma em números de verdade no JSON gerado, em vez de mantê-los como texto entre aspas. Isso é útil quando o JSON será usado por um programa que espera valores numéricos para cálculos.

Perguntas frequentes

Como o conversor lida com campos que contêm vírgulas?

Campos com o delimitador dentro do valor precisam estar entre aspas duplas no CSV, e o conversor reconhece isso corretamente nos dois sentidos.

O que acontece se os objetos do JSON tiverem chaves diferentes entre si?

Ao converter para CSV, o conversor reúne todas as chaves encontradas para montar o cabeçalho, deixando em branco a célula onde a chave não existir naquele objeto.

O conversor funciona com JSON contendo objetos aninhados?

CSV não tem suporte nativo a estruturas aninhadas. Objetos aninhados viram texto genérico; o ideal é achatar a estrutura antes de converter.

Qual a diferença entre usar vírgula, ponto e vírgula ou tabulação como delimitador?

São convenções diferentes para separar colunas. Ponto e vírgula é comum onde a vírgula é separador decimal, e tabulação é usada em arquivos TSV.