Converter CSV para JSON

Aqui você converte CSV para JSON de graça e sem conta: solte o arquivo acima e em poucos segundos o resultado está pronto para baixar. A conversão acontece dentro do seu próprio navegador, então o arquivo nunca é enviado. Funciona igual no Windows, no macOS e no Linux e também no iPhone e no Android, e continua funcionando mesmo se você cortar a conexão.

  • Onde roda No seu navegador. O arquivo nunca é enviado.
  • Sem perdas Nada é descartado. O JSON guarda exatamente o que o CSV guardava.
  • Limite de tamanho Até 100 MB por arquivo, de graça e sem conta.

Até 100 arquivos de uma vez. Formatos misturados não são problema.

Por que converter CSV em JSON

CSV é o que todo banco de dados, toda planilha e toda ferramenta de análise exporta, e JSON é o que toda API, todo fixture de teste e todo arquivo de configuração espera. A distância entre os dois é pequena e chata, que é exatamente o tipo de distância que merece uma ferramenta em vez de um script descartável a cada vez.

A saída: um array de objetos com as chaves do cabeçalho

A linha de cabeçalho fornece as chaves e cada linha seguinte vira um objeto — o formato que quase tudo lá na frente pressupõe. Campos entre aspas, aspas escapadas e quebras de linha dentro de uma célula são interpretados corretamente, então um CSV com vírgulas numa coluna de endereço sobrevive, o que não acontece com um corte ingênuo na vírgula.

Inferência de tipo, e onde ela vai te morder

Os tipos são inferidos, e essa é a parte que merece conferência. Valores com cara de número viram números JSON e `true`/`false` viram booleanos, que é quase sempre o que se quer para quantidades e sinalizadores.

É a resposta errada para identificadores. `007` vira `7`, e um CEP, um código de peça ou um número de conta com zeros à esquerda perde eles em silêncio. Se os seus dados têm códigos em vez de quantidades, olhe a saída antes de confiar — esta é de longe a forma mais comum de uma conversão de CSV para JSON produzir um JSON válido e um dado errado.

Converter uma exportação de clientes sem subir ela

Tudo roda no seu navegador, então uma exportação grande converte na velocidade da sua máquina e nunca sai dela. Isso pesa mais nesta dupla do que na maioria: um CSV é muito frequentemente uma lista de clientes, um histórico de pedidos ou a exportação de um sistema que ninguém gostaria de descrever para terceiros — e, desde a LGPD, também um dado pessoal cujo tratamento alguém precisa justificar.

Manter identificadores como texto

Como valores com cara de número viram números, a defesa para uma coluna de códigos é deixar ela inequívoca antes de converter: um apóstrofo no começo da célula da planilha, um prefixo, ou exportar a coluna já entre aspas — qualquer um marca aquilo como texto.

A regra geral vale ser interiorizada: se você nunca somaria dois valores de uma coluna, aquilo é um identificador e quer continuar texto. CEP, código de peça, telefone, CPF e número de conta reprovam todos no teste da soma.

Células vazias, e no que elas se transformam

Célula vazia vira `null`, e não string vazia. Uma linha `1,,3` sob o cabeçalho `a,b,c` sai como `{"a":1,"b":null,"c":3}` — consequência assumida da mesma detecção de tipos que faz de `1` um número em vez de `"1"`.

Isso pesa assim que o programa que vai consumir o JSON separa as duas coisas: um JSON Schema que exige string recusa `null`, e uma coluna declarada NOT NULL rejeita a linha. Some-se a isso que um CSV não tem como expressar a diferença entre um campo que estava vazio e um campo que não existia. Se essa distinção significa algo no seu caso, ela precisa estar escrita no CSV de forma explícita ou ser restaurada depois. Nenhum conversor recupera informação que o formato de origem não sabe carregar.

Cabeçalhos repetidos e cabeçalhos faltando

Duas colunas com o mesmo cabeçalho colidem, porque chave de objeto é única: a última vence e a primeira se perde sem aviso. A linha de cabeçalho merece uma olhada antes de converter.

Um cabeçalho mais curto que as linhas de dados deixa as colunas extras sem chave nenhuma. Conserte o cabeçalho no CSV — é uma linha de mudança, e é o único lugar onde essa informação existe.

Que tamanho de arquivo isto aguenta

A leitura é rápida e o limite é a memória, porque o array inteiro é montado antes de ser escrito. Dezenas de megabytes é rotina; centenas é onde uma aba de navegador começa a sofrer.

Para uma exportação nessa faixa, a ferramenta certa é um leitor por streaming dentro de um script, e não um conversor de navegador — qualquer um. Dizer isso é melhor do que falhar no meio de um arquivo de 900 MB.

O formato que você recebe, e os que você não recebe

A saída é um array de objetos, que é o que APIs, fixtures de teste e a maioria das bibliotecas esperam. Não é JSON delimitado por linha, e não é um objeto indexado por uma coluna de ID.

Os dois estão a poucas linhas de transformação de distância depois que você tem o array, e nenhum dos dois pode ser escolhido por você sem saber qual coluna é a chave. Array é o formato que pressupõe menos.

Como converter CSV para JSON

  1. Solte o seu arquivo CSV nesta página, ou clique para escolher um.
  2. Escolha JSON como destino. A conversão acontece no seu navegador e o arquivo não é enviado.
  3. Baixe o arquivo JSON pronto.

CSV ou JSON: o que muda

CSV comparado com JSON
CSVJSON
Nome completoComma-Separated ValuesJavaScript Object Notation
Extensão do arquivo.csv.json
Tipo de mídiatext/csvapplication/json
Publicado pela primeira vez19722001
EspecificaçãoRFC 4180RFC 8259
LicençaPadrão abertoPadrão aberto
Situação hojeAtualAtual
Abre no navegadorNenhum navegadorTodos os navegadores
Considerado no lugarXLSX, ParquetXML, YAML, NDJSON

O que se mantém

Nada é descartado. CSV e JSON guardam o conteúdo sem perda, então a conversão troca a embalagem e não a qualidade — e pode ser repetida sem que o estrago se acumule.

Abrir o resultado

JSON abre em qualquer navegador atual. CSV alcança ainda menos navegadores. Se o arquivo vai para uma página web ou um formulário, esse costuma ser todo o motivo da conversão.

Os programas de sempre não se cruzam: CSV abre em Microsoft Excel, LibreOffice Calc e pandas, e JSON em Visual Studio Code, jq e Postman, então quem receber o resultado precisa de algum do segundo grupo.

Para que serve cada formato

CSV foi publicado em 1972. Está descrito em RFC 4180, e vale conhecer se o arquivo precisa sobreviver à ferramenta que o escreveu.

JSON e de 2001, descrito em RFC 8259. Visual Studio Code, jq e Postman leem o formato.

CSV foi publicado em 1972 e JSON em 2001. O mais antigo costuma ser o arquivo mais seguro para entregar; o mais novo faz o mesmo com menos bytes.

De CSV para JSON: perguntas frequentes

Meu arquivo CSV é enviado para algum lugar?

Não. Esta conversão acontece inteiramente no seu navegador, então o arquivo não sai do seu aparelho. Você mesmo pode conferir: abra a aba de rede das ferramentas de desenvolvedor e converta alguma coisa. Você verá a própria página e as requisições de estatística e de publicidade com que este serviço é pago, e nenhuma que leve o seu arquivo.

Converter CSV para JSON é grátis?

É. Sem conta, sem marca d’água e sem cota diária para gastar: roda no seu próprio aparelho, então você pode voltar quantas vezes quiser. O navegador processa arquivos de até 100 MB, 100 por vez.

Perde qualidade ao converter CSV para JSON?

Não. JSON guarda o mesmo conteúdo sem jogar nada fora: o resultado é idêntico em qualidade ao original.

A conversão de CSV para JSON é sem perda?

Nada é descartado. CSV e JSON guardam o conteúdo sem perda, então a conversão troca a embalagem e não a qualidade — e pode ser repetida sem que o estrago se acumule.

Mais sobre esses formatos