Conversor de CSV para JSON

Converte um arquivo CSV em um array JSON de objetos. Escolha o delimitador e se a primeira linha é um cabeçalho, depois copie ou baixe o resultado. Tudo é processado no seu navegador; nada é enviado a um servidor.

Delimitador
Usar a primeira linha como cabeçalho
Formatação legível (com indentação)


            
            Copiado!
            
          

Digite um CSV para ver o resultado em JSON aqui.

Como uma linha de CSV se converte em um objeto JSON

Uma linha de CSV name,age,city
O objeto JSON resultante {"name": "...", "age": "...", "city": "..."}

Quando a primeira linha é usada como cabeçalho, cada linha seguinte se torna um objeto cujas chaves são os nomes das colunas do cabeçalho.

Em que consiste a conversão de CSV para JSON

Converter CSV para JSON consiste em transformar dados separados por vírgulas em um array JSON — um array de objetos — com o qual um programa pode trabalhar diretamente. O analisador segue a RFC 4180, de modo que lida com as vírgulas, as quebras de linha e as aspas com escape ("") que aparecem dentro de células envolvidas por aspas duplas. Assim, até os CSV mais ariscos saídos do Excel são convertidos sem se desfazer.

Na conversão, a primeira linha é tratada como linha de cabeçalho e cada linha a partir da segunda passa a ser um objeto na forma «nome da coluna: valor». Tudo é feito pelo JavaScript do seu navegador, portanto o CSV que você cola nunca é enviado a um servidor.

Como converter CSV para JSON

  1. Informe o CSV Cole o CSV na área de texto ou digite-o diretamente. Se não tiver dados à mão, o botão de amostra carrega um exemplo.
  2. Escolha o separador Indique pela configuração se os seus dados usam a vírgula ou a tabulação. Escolha a tabulação para um arquivo TSV.
  3. Defina o tratamento da linha de cabeçalho Ative a opção correspondente e os valores da primeira linha passarão a ser os nomes de chave dos objetos JSON.
  4. Escolha o formato de saída O interruptor da exibição com recuo permite alternar entre um JSON legível com recuos e um JSON compacto sem espaços.
  5. Copie o resultado O JSON convertido aparece automaticamente na tela. O botão de cópia o leva para a área de transferência, pronto para ser usado assim mesmo.

Dicas para aproveitar melhor

  • Com "Usar a primeira linha como cabeçalho" ativado, os valores da primeira linha se tornam as chaves do objeto JSON. Desative para obter chaves genéricas col1, col2, etc.
  • Se o cabeçalho tiver nomes de coluna vazios ou duplicados, essa coluna passa automaticamente para uma chave col{N}, evitando a perda de valores.
  • Combine esta ferramenta com a irmã "JSON para CSV" para converter entre CSV e JSON quantas vezes precisar.
  • A conversão usa um analisador compatível com RFC 4180 que trata corretamente vírgulas, quebras de linha e aspas escapadas ("") dentro de células entre aspas, então CSVs complexos exportados do Excel também são convertidos corretamente.

Quando converter CSV para JSON é útil

Criar dados de teste para uma API

Pegue um CSV exportado de uma planilha e tire dele rapidamente a carga JSON de que precisa para conferir se uma API se comporta bem.

Preparar dados para carregar em um banco NoSQL

Bancos orientados a documentos como o MongoDB trabalham com JSON, então uma listagem feita em planilha se converte diretamente em dados prontos para carga.

Criar dados simulados para o front-end

Prepare num instante o array JSON destinado a telas de preenchimento e testes, partindo de uma listagem montada no Excel.

Uma conversão pontual sem escrever código

É igualmente cômodo para uma única conversão pequena de CSV para JSON que mal justifica escrever código na hora.

O vocabulário empregado aqui

CSV
Sigla de Comma-Separated Values, um formato que representa dados tabulares separando os valores com vírgulas. É amplamente usado para ler e escrever em planilhas.
JSON
Sigla de JavaScript Object Notation, um formato leve que representa os dados sobretudo por meio de pares de chave e valor. A maioria das linguagens de programação e das APIs o trata como algo natural.
TSV
Sigla de Tab-Separated Values, um formato que representa dados tabulares separando os valores com tabulações. Quando os valores contêm vírgulas, os limites ficam menos ambíguos do que no CSV.
RFC 4180
A especificação que fixa o formato habitual de um arquivo CSV. Regula como são tratadas as vírgulas, as quebras de linha e as aspas dentro de células envolvidas por aspas duplas.
Linha de cabeçalho
A linha situada em primeiro lugar de um CSV, que dá o nome de cada coluna. Ao converter para JSON, os seus valores passam a ser os nomes de chave dos objetos.
Escape
Quando se quer que uma aspa dupla faça parte de um valor do CSV, escreve-se ela duas vezes (""). O analisador a devolve a uma única aspa dupla.

Perguntas frequentes

Por padrão, a primeira linha é tratada como cabeçalho, e cada linha seguinte se torna um objeto como {"cabeçalho": "valor", ...}; todos esses objetos são reunidos em um array JSON. É um formato comum para respostas de API e para carregar dados em bancos de dados NoSQL.

Sim. Basta definir o "Delimitador" como "Tabulação" e um arquivo TSV será convertido para JSON da mesma forma que um CSV.

Sim. Todo valor em um CSV é texto simples, então números e booleanos são gerados como strings JSON (por exemplo, "123" ou "true") em vez de números ou booleanos reais. Se precisar de tipos numéricos reais, converta-os no lado do JSON após a exportação.

Não. Toda a conversão ocorre em JavaScript dentro do seu navegador, e o conteúdo do CSV digitado nunca é enviado a lugar nenhum. É seguro usar com dados que contenham informações pessoais ou confidenciais.
Tool-kun

Curiosidade — por que as APIs preferem JSON em vez de CSV

O CSV é ótimo para representar dados tabulares simples, mas não consegue expressar estruturas aninhadas, como arrays ou objetos dentro de objetos. A maioria das respostas de API REST usa JSON justamente porque um único registro pode incorporar livremente arrays e objetos, permitindo transmitir estruturas de dados complexas que o CSV simplesmente não consegue expressar.

Ainda assim, o CSV mantém vantagens difíceis de abandonar: abre instantaneamente no Excel ou em uma planilha, e ter uma linha por registro facilita a verificação visual por humanos. Na prática, as equipes acabam usando "CSV para relatórios e verificações rápidas, JSON para integração entre sistemas", e é exatamente por isso que um conversor como este continua útil.

Apesar do nome — JavaScript Object Notation —, hoje o JSON é suportado como formato de dados padrão em praticamente qualquer linguagem, não só em JavaScript. Desde que Douglas Crockford publicou a especificação em 2001, ela foi deliberadamente projetada como uma forma mínima e independente de linguagem para representar dados, o que explica boa parte de sua ampla adoção.