Conversor CSV ↔ JSON
Converte entre CSV e JSON localmente com delimitadores e aspas personalizáveis, sem carregamentos nem limites.
A carregar Conversor CSV ↔ JSON… Se nada acontecer, ativa o JavaScript.
CSV (valores separados por vírgulas) e JSON (notação de objetos JavaScript) são os dois formatos de texto simples mais usados para dados estruturados. O CSV tem as suas origens nos primórdios da informática; os programas de mainframe já trocavam dados tabulares em forma delimitada por vírgulas nos anos 60, mas o formato não teve uma especificação formal até à publicação do RFC 4180 em outubro de 2005. Esta ausência de uma norma criou décadas de dialetos incompatíveis: algumas implementações usam ponto e vírgula como delimitador, outras usam tabulações; algumas colocam aspas em todos os campos, outras apenas nos que contêm caracteres especiais; os fins de linha variam entre sistemas. Apesar destas particularidades, o CSV continua a ser o formato de exportação universal para folhas de cálculo, bases de dados e ferramentas de análise de dados, pela sua simplicidade e legibilidade para as pessoas.
Exemplos
name,age
Ada,36
Bob,40
[{"name":"Ada","age":"36"},{"name":"Bob","age":"40"}]
A linha de cabeçalho torna-se as chaves do objeto; cada linha seguinte torna-se um objeto.
Perguntas frequentes
Os meus ficheiros são carregados para um servidor?
O que é o RFC 4180 e por que é importante?
Que delimitadores são suportados?
Como são tratados os campos com aspas e as vírgulas embutidas?
O que acontece aos tipos de dados ao converter de CSV para JSON?
Posso converter JSON de volta para CSV?
Existe um limite de tamanho de ficheiro?
Por que é que o Excel usa ponto e vírgula em vez de vírgulas nos ficheiros CSV?
Quando devo usar JSON em vez de CSV?
Como lido com ficheiros CSV com problemas de codificação?
Sobre Conversor CSV ↔ JSON
O JSON surgiu no início dos anos 2000, normalizado por Douglas Crockford, e tornou-se rapidamente o formato dominante para as APIs web porque corresponde naturalmente aos objetos e listas que todas as linguagens de programação compreendem. Quando um programador obtém dados de uma API REST, estes chegam quase sempre em JSON. Quando um analista de dados exporta uma tabela do Excel ou do PostgreSQL, esta sai quase sempre em CSV. Converter entre os dois é, por conseguinte, uma das tarefas de preparação de dados mais comuns no desenvolvimento de software, na engenharia de dados e na inteligência de negócio. Alguns cenários habituais do mundo real incluem carregar uma exportação CSV de um CRM numa aplicação JavaScript, achatar uma resposta JSON de uma API para uma folha de cálculo para revisão, ou preparar dados para importação numa ferramenta que só aceita um dos dois formatos.
Este conversor funciona inteiramente dentro do teu navegador, não são enviados dados para nenhum servidor. Podes colar texto diretamente ou carregar um ficheiro, escolher a direção da conversão (CSV para JSON ou JSON para CSV), configurar o caráter delimitador e alternar se a primeira linha deve ser tratada como cabeçalho. A saída JSON é formatada de forma legível. Os casos-limite, como campos que contêm o caráter delimitador, quebras de linha embutidas dentro de campos com aspas e escapes de aspas duplas, são todos tratados de acordo com as regras do RFC 4180.
Algumas armadilhas práticas a ter em conta: o CSV não tem um conceito nativo de tipos de dados, por isso números, datas e valores booleanos chegam todos como cadeias de texto no JSON analisado; poderás ter de pós-processar a saída para converter os campos para os tipos corretos. Os ficheiros exportados do Excel em configurações regionais europeias usam muitas vezes ponto e vírgula como delimitador em vez de vírgulas; muda a definição do delimitador se as tuas colunas não estiverem a separar-se corretamente. Os ficheiros grandes com mais de 50 MB podem ser processados lentamente no navegador; para esses, uma ferramenta de linha de comandos como o jq ou o csvkit será mais rápida. Ao converter JSON para CSV, os objetos e listas aninhados são achatados ou serializados como cadeias de texto, por isso estruturas muito aninhadas podem exigir limpeza manual.
Dos cartões perfurados às APIs REST: as improváveis vidas paralelas do CSV e do JSON
O formato de valores separados por vírgulas é um dos formatos de intercâmbio de dados mais antigos que sobrevivem na informática. Os programas de mainframe da IBM já trocavam dados em ficheiros de texto delimitados por vírgulas nos anos 60, antecedendo o computador pessoal em mais de uma década. O formato era tão simples, um registo por linha, campos separados por um caráter conhecido, que não precisava de documentação formal; toda a gente concordava simplesmente por convenção. Quando surgiram os primeiros programas de folhas de cálculo no final dos anos 70 (VisiCalc em 1979, Lotus 1-2-3 em 1983), o CSV tornou-se a ponte natural entre eles e as bases de dados e programas que os rodeavam. Sobreviveu à transição dos mainframes para os minicomputadores, para os PC e para a web quase sem alterações, razão pela qual um ficheiro CSV produzido por um programa COBOL em 1985 ainda pode ser aberto hoje no Microsoft Excel.
O JSON tem uma história muito mais curta, mas igualmente interessante. Douglas Crockford, o criador do formato, disse que "descobriu" o JSON em vez de o inventar; a sintaxe já estava presente no JavaScript como forma de escrever literais de objeto, e Crockford limitou-se a identificá-la como um formato de dados autónomo e útil por volta de 2001. O primeiro analisador de JSON foi escrito em cerca de 30 linhas de código. Em 2006, o JSON tinha sido formalizado como ECMA-404 e estava a substituir rapidamente o XML nas APIs web por ser mais leve, mais fácil de ler e por corresponder diretamente às estruturas de dados nativas de todas as principais linguagens de programação. Hoje o JSON é tão omnipresente que é usado em ficheiros de configuração (package.json, tsconfig.json), no armazenamento em bases de dados (o tipo jsonb do PostgreSQL, o modelo de documentos do MongoDB), em formatos de registo e em inúmeros outros fins que o seu criador nunca antecipou.
A tensão entre o CSV e o JSON reflete uma tensão mais ampla na engenharia de software entre a simplicidade e a expressividade. O CSV ganha na simplicidade: qualquer pessoa consegue ler e editar um ficheiro CSV num editor de texto ou folha de cálculo sem saber nada de programação. O JSON ganha na expressividade: consegue representar estruturas aninhadas, valores tipados e esquemas mistos que o CSV não consegue. Um inquérito de 2023 a engenheiros de dados revelou que o CSV e o JSON, em conjunto, representam mais de 70 % de todas as trocas de ficheiros de dados entre organizações, uma estatística notável para dois formatos cujos desenhos fundamentais têm décadas, num campo que se reinventa de poucos em poucos anos.