Como usar: Conversor CSV para JSON
- Escolha a direção da conversão: CSV → JSON ou JSON → CSV.
- Cole o conteúdo no campo de entrada ou use Abrir arquivo para carregar um arquivo .csv, .tsv ou .json. CSVs salvos no formato antigo do Excel (Windows-1252) também são reconhecidos automaticamente.
- Na maioria dos casos, a detecção automática do separador basta. Ela reconhece inclusive o ponto e vírgula que o Excel em português costuma usar. Se a primeira linha não tiver os nomes das colunas, desmarque A primeira linha é o cabeçalho.
- Clique em Converter e depois copie o resultado ou salve como arquivo. O CSV é salvo em UTF-8 com BOM para que os acentos (ç, ã, é…) apareçam corretamente no Excel.
Como fica o resultado ao converter CSV para JSON?
Quando a primeira linha é usada como cabeçalho, cada linha vira um objeto no formato "nome da coluna": valor. O resultado completo é um array desses objetos.
| CSV | Resultado JSON |
|---|---|
nome,idadeJoão Silva,31 | [{"nome": "João Silva", "idade": 31}] |
Com a conversão automática ativada, células que contêm só números, como 31, viram números no JSON, e true e false viram booleanos. Já os valores que começam com zero, como um CEP sem hífen (01310100), códigos de produto (00123) ou telefones com o zero do DDD, continuam como texto para não perder o zero inicial.
Colunas sem título recebem um nome como "Coluna3". Se o mesmo título aparecer duas vezes, a segunda ocorrência ganha o sufixo _2.
Regras para converter JSON em CSV (Excel)
- Em um array de objetos, todas as chaves de todos os objetos são reunidas e viram os títulos das colunas. Se um objeto não tiver alguma dessas chaves, a célula correspondente fica vazia.
- Objetos aninhados em um nível são expandidos em colunas unidas por ponto, como
endereço.cidade. Valores mais profundos ou arrays são colocados em uma única célula como texto JSON. - Um array de arrays (
[[1,2],[3,4]]) é copiado diretamente para linhas e colunas, sem cabeçalho. - Valores com vírgula, aspas duplas ou quebra de linha ficam entre aspas duplas, e as aspas internas são duplicadas, como manda a norma RFC 4180. O Excel e o Google Planilhas leem esse formato sem problemas.
Separadores: vírgula, ponto e vírgula e tabulação
No Brasil e em Portugal, a vírgula é o separador decimal. Por isso, o Excel em português geralmente salva o CSV usando ponto e vírgula (;) entre as colunas. Com a opção Detectar automaticamente, a ferramenta escolhe o separador mais usado entre vírgula, tabulação, ponto e vírgula e barra vertical. Assim, esses arquivos são lidos corretamente sem nenhum ajuste. Se a detecção errar, escolha o separador manualmente na lista.
Ao copiar uma tabela do Excel ou do Google Planilhas e colar no campo de entrada, as colunas chegam separadas por tabulação. Esse conteúdo também é convertido na hora.
Como resolver acentos errados no CSV aberto no Excel
O Excel costuma mostrar caracteres estranhos (como João no lugar de João) ao abrir um CSV em UTF-8 sem BOM. O BOM é uma marca invisível no início do arquivo. Os CSVs salvos pelo Tooljip levam o BOM do UTF-8, então os acentos aparecem corretamente mesmo quando você abre o arquivo com duplo clique.
Por outro lado, arquivos salvos no Excel com a opção simples "CSV (separado por vírgulas)" costumam estar em Windows-1252 (ANSI da Europa Ocidental). Ao abrir um arquivo que não é UTF-8 válido, esta ferramenta passa a lê-lo automaticamente como Windows-1252, e os acentos são preservados. A codificação detectada aparece na mensagem de status. Mesmo assim, a opção mais segura é salvar no Excel como "CSV UTF-8 (delimitado por vírgulas)". Para mudar a codificação de um arquivo de texto, use o conversor de codificação de texto.
Às vezes o Excel mostra números como 1,23E+11 ou some com o zero à esquerda. Isso não é defeito do CSV: é o Excel mudando o formato automaticamente ao abrir o arquivo. Para manter esses valores intactos, importe pelo menu Dados > De Texto/CSV e defina essas colunas como Texto. Esse mesmo assistente também resolve o caso em que um CSV separado por vírgulas aparece todo numa única coluna: basta escolher a vírgula como delimitador.