← Todas as ferramentas

Conversor de CSV para JSON

Converta CSV para JSON e JSON para CSV direto no navegador. Mapeie linhas e cabeçalhos com clareza, trate campos entre aspas e delimitadores, tudo em local.

CSV e JSON: duas formas de transportar os mesmos dados

A maior parte dos dados tabulares acaba vivendo em um de dois formatos. O CSV é a língua nativa das planilhas: um arquivo de texto puro em que cada linha é uma linha de dados e vírgulas separam as colunas. O JSON é a linguagem das APIs e dos apps: um formato de texto estruturado feito de objetos (pares de chave e valor) e arrays (listas ordenadas). Eles descrevem a mesma informação em formatos bem diferentes, e é exatamente por isso que converter entre eles aparece tanto. Esta página faz essa conversão nas duas direções, inteiramente dentro do seu navegador.

O CSV brilha onde uma grade parece natural. Exporte um relatório de um banco de dados, baixe uma lista de pedidos ou salve uma planilha do Excel ou do Google Sheets, e você quase sempre obtém CSV. Ele é compacto, legível por humanos, e toda ferramenta de análise do planeta consegue abri-lo. O JSON brilha onde software conversa com software. APIs REST o enviam e recebem, arquivos de configuração o usam, e o JavaScript o lê sem nenhuma biblioteca de parsing. Quando você precisa alimentar uma exportação de planilha em uma API ou trazer uma resposta de API para uma planilha, na verdade está traduzindo entre esses dois mundos.

Tabela brilhante de linhas CSV se transformando em objetos JSON aninhados sobre um fundo índigo escuro
Uma tabela CSV plana se dobrando em objetos e arrays JSON aninhados.

Como linhas e cabeçalhos viram objetos

O mapeamento é mais simples do que parece. A primeira linha de um arquivo CSV costuma ser a linha de cabeçalho, e esses nomes de cabeçalho viram as chaves no JSON. Cada linha seguinte vira um objeto, em que cada célula é emparelhada com o cabeçalho correspondente. O arquivo inteiro vira um array desses objetos. Então um CSV com as colunas name,email,age se transforma em uma lista como [{"name": "Ada", "email": "ada@example.com", "age": "36"}, ...]. No sentido contrário, JSON para CSV lê as chaves do primeiro objeto para montar a linha de cabeçalho, depois escreve uma linha por objeto. É uma ida e volta limpa e previsível, desde que seus dados sejam genuinamente tabulares.

Os detalhes traiçoeiros que vale conhecer

O CSV parece trivial, mas esconde algumas arestas afiadas. A maior são as vírgulas dentro de um campo. Se um endereço contém "Berlim, Alemanha", uma divisão ingênua por vírgulas rasgaria esse único valor em duas colunas. O padrão CSV lida com isso envolvendo tais campos em aspas duplas, e aspas dentro de um campo entre aspas são duplicadas (""). Um bom conversor respeita essas regras para que seus dados não desloquem colunas silenciosamente. Fique de olho no delimitador também: muitas exportações europeias usam ponto e vírgula em vez de vírgula, porque a vírgula já é o separador decimal por lá. Tabulações e barras verticais também aparecem.

A diferença mais profunda são os tipos. O CSV não tem nenhum conceito de tipos de dados. Tudo é texto, então o número 42, o booleano true e uma célula vazia parecem todos strings comuns. O JSON, por outro lado, distingue números, strings, booleanos, null e estruturas aninhadas. Quando você converte CSV para JSON, os valores chegam como strings, a menos que a ferramenta seja instruída a interpretar números e booleanos. Converter JSON para CSV tem o problema oposto: objetos e arrays aninhados não cabem direito em uma grade plana, então costumam ser achatados ou convertidos em string dentro de uma única célula. Saber disso de antemão te poupa de quebrar a cabeça depois tentando entender por que uma coluna "parece errada".

Grade de planilha se transformando em uma árvore brilhante de colchetes JSON em ciano e dourado
Uma grade de planilha se transformando em uma árvore ramificada de colchetes JSON.

Uma ida e volta real

Aqui vai um cenário que aparece o tempo todo. Um colega te envia uma planilha de novos usuários e pede que você os carregue por uma API interna. A API só aceita JSON. Você exporta a planilha para CSV, cola aqui e recebe de volta um array limpo de objetos pronto para encaixar no corpo da sua requisição. Mais tarde, a API retorna uma lista JSON dos registros que criou, e você precisa devolver isso ao mesmo colega para revisão. Você cola o JSON, converte para CSV, e ele abre direto na planilha dele. Sem scripts, sem instalações, apenas duas traduções rápidas no meio de um fluxo de trabalho normal.

Apenas local, por design

Tudo isso roda no seu navegador. Seu CSV e JSON são analisados e convertidos por JavaScript na sua própria máquina, e nada é enviado a um servidor. Isso importa porque as exportações muitas vezes contêm nomes reais, e-mails, detalhes de pedidos ou identificadores internos que você não deveria estar colando em um serviço remoto qualquer. Aqui os dados nunca saem da página. Se você quiser organizar o resultado depois, nosso formatador de JSON vai formatá-lo e validá-lo, e você pode explorar o restante dos nossos conversores de dados para formatos relacionados.

Perguntas frequentes

Meus dados são enviados para algum lugar?

Não. A conversão roda inteiramente no seu navegador usando JavaScript, então seu CSV e JSON ficam no seu próprio dispositivo e nunca são enviados a um servidor.

O conversor lida com vírgulas dentro de campos?

Sim. Campos que contêm vírgulas devem ser envolvidos em aspas duplas no CSV, e o parser respeita essas aspas para que o valor permaneça em uma única coluna.

Por que meus números aparecem como texto no JSON?

O CSV não tem tipos de dados, então toda célula é texto puro. Os valores viram strings JSON, a menos que o parsing de número e booleano seja aplicado, porque o arquivo de origem não dá como distinguir um número de uma palavra.

O que acontece com o JSON aninhado quando converto para CSV?

Uma grade plana não consegue conter estruturas aninhadas, então objetos e arrays aninhados costumam ser achatados ou escritos como um único valor em string dentro de uma célula.

Posso usar ponto e vírgula ou tabulação em vez de vírgula?

Sim. Muitas exportações, especialmente as europeias, usam ponto e vírgula ou tabulação como delimitadores, e a ferramenta consegue ler esses em vez da vírgula padrão.

Ele converte nas duas direções?

Sim. Você pode transformar CSV em JSON e JSON de volta em CSV, o que torna simples as idas e voltas entre planilhas e APIs.