FreeToGenerate.com

100% grátis · sem cadastro · nada sai do seu navegador

Cole algo acima para ver o resultado.

Tudo roda no seu navegador — nada é enviado, então uma exportação de clientes nunca sai da sua máquina.

Também disponível em: English · Español · Français · العربية

Converter CSV para JSON

Cole uma tabela CSV e receba JSON, com delimitador, cabeçalho e conversão de números sob seu controle — processado inteiro no navegador.

O que é conversão de CSV para JSON?

Para converter CSV para JSON de forma confiável é preciso decidir antes uma dúzia de coisas que a tabela sozinha não responde: qual é o delimitador de verdade, se a primeira linha é mesmo um cabeçalho, e se aquele 007 na terceira coluna é um número ou um código que começa com zero. Esta ferramenta cola sua planilha de um lado e devolve um array de objetos JSON do outro, com cada uma dessas decisões visível como um controle, não escondida atrás de uma suposição fixa no código.

O delimitador já chega marcado no que foi detectado automaticamente no seu texto, mas o seletor tem vírgula, ponto e vírgula, tabulação e barra vertical, porque nem todo CSV usa vírgula. A saída pode ser indentada com 2 espaços, 4 espaços, tabulação, ou minificada numa linha só, e a ferramenta informa quantas linhas e colunas encontrou antes mesmo de você olhar o resultado.

Como usar

  1. Cole o CSV no campo de cima; a ferramenta detecta o delimitador sozinha e já marca o seletor certo, mas você pode trocar para ponto e vírgula, tabulação ou barra vertical se quiser.
  2. Ajuste cabeçalho, tipos e indentação deixe marcada a caixa de que a primeira linha é cabeçalho se ela for, decida se números e booleanos devem ser convertidos (vem desligado por padrão) e escolha entre 2 espaços, 4 espaços, tabulação ou JSON minificado.
  3. Copie o JSON revise os avisos sobre linhas com número de campos diferente do cabeçalho, aspas não fechadas ou números grandes demais para um double, e clique em copiar.

Por que CSV é mais difícil de interpretar do que parece

Não existe, tecnicamente, um padrão de CSV. A RFC 4180 foi publicada em 2005 como descrição do que já se fazia na prática, não como especificação obrigatória — então todo arquivo CSV real é, na verdade, um palpite sobre qual dialeto o gerou. Boa parte da Europa usa ponto e vírgula como delimitador, porque lá a vírgula já é o separador decimal; tabulações e barras verticais também aparecem com frequência. É por isso que o delimitador aqui é um seletor, e não uma suposição embutida no código.

A ferramenta interpreta o CSV com uma máquina de estados, não com um split ingênuo, porque separar por vírgulas e quebras de linha — o que quase todo parser de uma linha faz — corrompe qualquer arquivo que tenha um endereço, um comentário ou uma aspa dentro de aspas. Nos testes: um campo entre aspas com vírgula dentro continua sendo um campo só, uma quebra de linha entre aspas não parte a linha em duas, e uma aspa duplicada vira uma aspa de verdade no valor final. Esse comportamento foi comparado ao Papa Parse, uma biblioteca de CSV consolidada instalada só para essa checagem e removida depois — 18 documentos de teste, e os dois concordaram em todos.

A detecção automática de delimitador conta consistência entre linhas, não frequência de caracteres — porque contar ocorrências escolheria a vírgula quando uma delas mora dentro de um campo entre aspas. O seletor começa exatamente no que foi detectado, mas continua editável, porque nenhuma heurística acerta cem por cento das vezes. Além disso, 2.000 tabelas geradas ao acaso foram escritas com o próprio sistema de aspas da ferramenta e lidas de volta, e todas voltaram idênticas.

E o problema mais importante de todos, que aparece em quase toda exportação de planilha, é decidir o que é um número de verdade: 007 pode ser um CEP ou um número de pedido e viraria 7; um telefone com prefixo não é conta; e um ponto final sozinho nem sequer é um número válido em JSON. Por isso a conversão de números e booleanos vem desligada por padrão, e mesmo ligada, só converte valores escritos exatamente como o JSON escreve números. Quando o número é grande de verdade o cuidado vai além disso: interpretar o identificador 12345678901234567890 com o JSON do próprio navegador devolve 12345678901234567000, porque um double guarda cerca de 17 dígitos significativos e substitui em silêncio os últimos quatro. Esta ferramenta mantém os dígitos como foram escritos, do primeiro ao último, então o identificador sobrevive intacto — e avisa quando isso acontece, porque o próximo programa a tocar nesse dado pode não ter o mesmo cuidado.

Limitações honestas

Duas coisas que o CSV não consegue representar, verificadas aqui: uma linha final vazia é indistinguível de uma quebra de linha final, e depois de escrito, um campo vazio não dá para diferenciar de forma confiável de uma string vazia entre aspas. Então uma ida e volta perfeitamente fiel entre CSV e JSON nem sempre é possível — e qualquer ferramenta que diga o contrário está chutando.

Aspas malformadas também não têm resposta certa. A RFC 4180 não permite que uma aspa feche no meio de um campo, e os leitores discordam sobre o que fazer quando isso acontece: esta ferramenta encerra o trecho entre aspas ali e devolve três campos, enquanto o Papa Parse continua consumindo e devolve dois — os dois realmente divergem, foi checado. A ferramenta documenta essa escolha em vez de fingir que existe um padrão único a seguir.

A conversão de números e booleanos é uma decisão sua, não um palpite automático da ferramenta — por isso ela vem desligada, e cabe a você decidir, olhando o resultado, se um 01 é o número 1 ou um código que começa com zero. E o trabalho da ferramenta termina na hora de gerar o JSON: se depois você abrir a mesma planilha no Excel, ele pode reinterpretar valores por conta própria. O caminho inverso é converter JSON para CSV, que tem as próprias decisões a tomar.

Por que é grátis?

Este conversor de CSV para JSON é grátis porque quem faz o trabalho pesado é o navegador de quem usa, não um servidor nosso — não há conta para criar nem plano pago escondido atrás de um limite de linhas. Também não há upload: o arquivo nunca sai do seu computador, o que importa de verdade quando o CSV em questão é uma lista de clientes, uma planilha de folha de pagamento ou um dump de banco de dados que ninguém deveria colar num site desconhecido. Cole, ajuste os controles, copie o JSON — e o que aconteceu ficou entre você e a aba do navegador.