Conversor de CSV para JSON

Converta CSV em JSON e JSON em CSV, com pré-visualização em tabela.

Sobre esta ferramenta

Cole CSV para obter um array de objetos JSON, ou cole JSON para obter CSV de volta. O delimitador é detectado automaticamente (vírgula, ponto e vírgula, tabulação ou barra vertical), campos entre aspas e quebras de linha dentro de aspas são tratados, e objetos JSON aninhados são achatados em nomes de colunas com pontos.

Como usar

  1. Cole um CSV exportado de uma planilha ou de um banco de dados, ou cole um array JSON de objetos.
  2. A direção e o delimitador (vírgula, ponto e vírgula, tabulação ou barra vertical) são detectados automaticamente; altere-os se precisar.
  3. Para CSV, escolha se a primeira linha é o cabeçalho e se números e true/false viram valores tipados.
  4. Confira a pré-visualização em tabela e copie a saída.

Perguntas

Meu CSV do Excel usa ponto e vírgula. Vai funcionar?
Sim. O Excel em muitas configurações regionais europeias salva CSV com ponto e vírgula, e o delimitador é detectado a partir dos dados. Você também pode escolhê-lo manualmente.
Como vírgulas ou quebras de linha dentro de um valor são tratadas?
Valores entre aspas duplas podem conter o delimitador e quebras de linha, e aspas duplicadas ("") dentro deles representam um caractere de aspas, conforme a RFC 4180.
O que acontece com objetos aninhados ao converter JSON para CSV?
Eles são achatados em nomes de colunas com pontos, então {"address": {"city": "Oslo"}} vira uma coluna chamada address.city. Arrays são gravados como texto JSON em uma única célula.
Zeros à esquerda e números de telefone são mantidos?
Sim. Só números simples viram números JSON, então valores como 00123, +48 600 100 200 ou IDs muito longos continuam como texto. Desative Números e booleanos para manter todos os valores como texto.
Funciona com arquivos CSV com quebras de linha do Windows?
Sim. Quebras de linha CRLF, LF e CR isolado são todas aceitas, então um CSV salvo pelo Excel no Windows é lido do mesmo jeito que um gerado por ferramentas Linux. Quebras de linha dentro de valores entre aspas continuam fazendo parte do valor. O CSV gerado a partir de JSON usa quebras de linha LF.
Por que aparece que um campo entre aspas nunca é fechado?
Um valor começa com aspas duplas, mas nenhuma aspa de fechamento aparece antes do fim da entrada, então tudo o que vem depois viraria um único campo. Encontre o valor que começa com " e adicione a aspa de fechamento que falta, ou remova a de abertura se o valor nunca deveria ter aspas.
Dá para converter TSV ou células copiadas de uma planilha para JSON?
Sim. Copiar um intervalo de células no Excel ou no Google Sheets coloca texto separado por tab na área de transferência, e o delimitador tab é detectado automaticamente. Cole na entrada para obter JSON sem precisar salvar um arquivo antes. Exportações TSV de clientes de banco de dados funcionam do mesmo jeito.

Como converter CSV para JSON

A conversão de CSV para JSON transforma cada linha em um objeto cujas chaves vêm da linha de cabeçalho. Com o cabeçalho id,name,active, a linha 1,Ada Lovelace,true vira {"id": 1, "name": "Ada Lovelace", "active": true}. Com Números e booleanos ativado, números simples, true, false e null viram valores JSON tipados. Desative para manter todos os valores como string. A prévia em tabela mostra as primeiras 50 linhas, para você conferir as colunas antes de copiar.

Quando um arquivo CSV não tem linha de cabeçalho, desative A primeira linha é o cabeçalho e as chaves passam a ser column1, column2 e assim por diante. Os mesmos nomes preenchem células de cabeçalho vazias. Uma linha com menos campos que o cabeçalho recebe strings vazias nas colunas que faltam, enquanto campos extras além do cabeçalho são descartados. Uma coluna deslocada na prévia em tabela geralmente indica que um valor sem aspas contém o delimitador.

Delimitadores de CSV e o Excel

O CSV não tem um delimitador único. O Excel usa o separador de lista das configurações regionais, então na Alemanha, na França, na Polônia e em boa parte da Europa, onde a vírgula é o separador decimal, os arquivos CSV usam ponto e vírgula. Exportações de bancos de dados e ferramentas Unix costumam gerar valores separados por tab (TSV), e alguns sistemas usam pipe. O conversor testa vírgula, ponto e vírgula, tab e pipe e escolhe o que dá a contagem de colunas mais consistente nas primeiras linhas.

JSON para CSV usa vírgulas por padrão. Escolha ponto e vírgula se o arquivo precisar abrir com duplo clique em um Excel europeu, ou Tab para colar o resultado direto nas células de uma planilha. Valores que contêm o delimitador, aspas ou quebras de linha são colocados entre aspas duplas automaticamente. Se as letras acentuadas aparecerem quebradas quando o Excel abrir o arquivo baixado, importe-o com Dados > De Texto/CSV e escolha UTF-8, porque o Excel pode presumir uma codificação mais antiga.

Como converter um array JSON para CSV

JSON para CSV espera um array de objetos, como os itens de uma resposta de API. Cada objeto vira uma linha, e as colunas são a união de todas as chaves, na ordem em que aparecem pela primeira vez. Um objeto sem alguma chave fica com a célula vazia, e null também vira célula vazia. Um único objeto gera um CSV de uma linha, e um array de valores simples como [1, 2, 3] gera uma coluna chamada value.

Muitas APIs envolvem a lista em um envelope, como em {"data": [...], "page": 2}. Converter isso diretamente gera uma única linha com a lista inteira enfiada em uma célula como texto JSON. Cole só o array interno e, se a estrutura for difícil de enxergar, abra antes a resposta no Formatador de JSON. Quando o CSV for para uma importação em banco de dados, confira os nomes das colunas: nomes com ponto, como address.city, podem precisar ser renomeados.

Algo não está funcionando ou um resultado parece errado? Relatar um problema com esta ferramenta