Conversor de CSV para JSON
Transforme uma tabela CSV em JSON sem adivinhar quais células são números, valores booleanos ou null. Cole o texto ou escolha um arquivo UTF-8 local, selecione objetos ou arrays e copie ou baixe o resultado verificado.
Converta uma tabela sem adivinhar os tipos de dados
- Escolha CSV colado ou Arquivo local. Os arquivos devem ser UTF-8 e ter extensão .csv, .tsv ou .txt, com até 5 MiB. Escolha o separador explicitamente: vírgula é o padrão, com ponto e vírgula, tabulação e barra vertical disponíveis. Um nome de arquivo TSV não seleciona a tabulação automaticamente.
- Escolha Objetos para usar o primeiro registro como nomes exatos dos cabeçalhos, ou Arrays para manter todos os registros como dados. Objetos exigem cabeçalhos únicos e não vazios e linhas com a mesma quantidade de campos. Arrays permitem quantidades diferentes. Usar exemplo preenche uma tabela de identificador, nome e status e aguarda a seleção de Converter.
- Selecione Converter e confira a quantidade de registros de dados, a informação sobre campos e o tamanho real da saída UTF-8. Detalhes da conversão relaciona os campos analisados à representação JSON escolhida. Copiar JSON e Baixar JSON usam o resultado completo mesmo quando a prévia está incompleta. Limpar remove as duas fontes e restaura os padrões.
Entenda strings, cabeçalhos e campos exatos
Cada célula permanece uma string, incluindo 00042, 9007199254740993, true, false, null, campos vazios e textos que parecem fórmulas. Não há conversão de precisão numérica, substituição por null, avaliação de fórmulas nem inferência de estruturas aninhadas a partir de cabeçalhos.
Um separador entre aspas duplas permanece no mesmo campo. Duas aspas duplas consecutivas tornam-se uma aspa, e CRLF, LF ou CR embutidos permanecem na string analisada. Espaços são dados. Aspas indevidas ou não fechadas e texto após as aspas de fechamento são rejeitados, não corrigidos. Um terminador de registro final não cria uma linha fantasma; registros vazios adicionais são mantidos.
Os cabeçalhos dos objetos mantêm a grafia e os espaços exatos, exceto que nomes formados apenas por espaços removíveis por trim são rejeitados. Nomes exatamente repetidos são rejeitados, mas A e a ou nomes acentuados nas formas composta e decomposta permanecem distintos. Nomes como __proto__, constructor e 2 são chaves planas comuns. Os membros são emitidos na ordem das colunas; receptores JSON podem enumerar os nomes de outra forma.
A saída usa recuo de dois espaços, formatação com LF e um LF final, codificada em UTF-8 sem BOM adicional. Uma assinatura UTF-8 inicial do arquivo, ou um U+FEFF inicial colado segundo a política desta ferramenta, é removido; U+FEFF adicionais permanecem como conteúdo. Assinaturas UTF-16/32 e UTF-8 malformado não são adivinhados nem corrigidos. Os escapes JSON preservam caracteres de controle incorporados em vez de apagá-los.
Exemplos das duas representações
O exemplo fornecido tem três registros: cabeçalhos id, name e active, seguidos por dois registros de dados. Objetos gera dois objetos e 150 bytes UTF-8, mantendo 00042 e o identificador longo como strings. A vírgula entre aspas em A, B não acrescenta uma quarta coluna, e true continua sendo a string true.
Arrays aplicado ao mesmo exemplo gera três arrays e 146 bytes UTF-8. O primeiro array contém id, name e active como valores, em vez de usá-los como chaves. Nesse modo, uma linha curta ou registro vazio é mantido com sua quantidade real de campos.
Uma entrada válida contendo apenas cabeçalho gera um array JSON vazio com LF final: três bytes e nenhum objeto de dados. É um resultado bem-sucedido e exportável, ao contrário de uma fonte vazia ou apenas com assinatura, sem registros CSV. Um registro de dados vazio sob um cabeçalho de uma coluna vira uma string vazia; sob um cabeçalho mais largo, gera erro de quantidade de campos.
Limites de entrada, saída e prévia
Os arquivos são limitados a 5242880 bytes. O texto decodificado ou colado deve caber em 5000000 unidades UTF-16, 50000 sequências físicas CRLF/LF/CR incluindo conteúdo entre aspas, 50000 registros lógicos incluindo o cabeçalho, 256 colunas por registro e 2000000 células analisadas. CRLF conta como um final de linha físico. Esses são limites explícitos de recursos, não contagens de caracteres visíveis.
O JSON formatado completo deve caber em 16777216 bytes UTF-8. Uma operação no worker que exceda 15000 milissegundos é encerrada sem download parcial. Cabeçalhos longos repetidos e caracteres de controle escapados podem fazer um CSV aceito ultrapassar o limite de saída. Os limites não garantem uso de memória ou velocidade em todos os dispositivos.
A prévia JSON padrão mostra até 100000 caracteres escalares Unicode e indica claramente quando está incompleta. A cópia e o download completos atuais preservam todos os campos aceitos. Se a área de transferência recusar a cópia, o texto completo atual somente para leitura é exibido para cópia manual, não apenas o prefixo. As prévias dos campos no método também podem ser abreviadas sem alterar a exportação.
Esta versão não oferece entrada por URL, detecção automática de separador, inferência de tipos, comentários, remoção de diretivas, reparo de CSV ou conversão de codificações antigas. A RFC 4180 descreve um formato CSV comum, não todos os dialetos. UTF-16 malformado é rejeitado, e normalizações feitas pelo navegador ou pela área de transferência antes de colar não podem ser desfeitas.
Conversão local e saída atual
Esta ferramenta não adiciona upload de documentos, conta, histórico salvo, registro de dados nem URL de compartilhamento com dados. Editar, mudar a fonte ou as opções, escolher outro arquivo, cancelar ou limpar invalida o resultado anterior. Os serviços existentes do site são independentes; o processamento local não é uma certificação desses serviços nem uma garantia de exclusão segura.
Perguntas sobre CSV para JSON
Fontes
- rfc-editor.orgRFC 4180A RFC 4180 descreve um formato CSV comum; esta ferramenta define suas próprias regras de análise.
- rfc-editor.orgRFC 8259A RFC 8259 descreve strings JSON e considerações de interoperabilidade para nomes de membros de objetos.
- tc39.esECMAScript JSON.stringifyO ECMAScript especifica o escape de strings JSON.
- tc39.esECMAScript OrdinaryOwnPropertyKeysO ECMAScript descreve a ordem das propriedades de objetos; a enumeração no destino pode diferir da ordem das colunas CSV emitidas.
- encoding.spec.whatwg.orgEncoding StandardO Encoding Standard descreve a decodificação UTF-8 estrita e as assinaturas.
Ferramentas relacionadas
Conversor de JSON para CSV
Converta registros JSON planos em texto delimitado localmente, preservando a ordem das colunas e a escrita dos números.
Abrir ferramenta — Conversor de JSON para CSVConversor de separador CSV
Troque o separador de CSV, visualize as colunas e encontre problemas de importação. CSV e TSV são processados localmente sem alterar valores.
Abrir ferramenta — Conversor de separador CSVComparar dois arquivos CSV
Associe registros por uma coluna-chave e encontre os adicionados, removidos e alterados.
Abrir ferramenta — Comparar dois arquivos CSVLocalizador de duplicatas CSV
Encontre linhas repetidas ou IDs iguais com valores diferentes. Revise os conflitos e exporte os dados originais.
Abrir ferramenta — Localizador de duplicatas CSVCombinar arquivos CSV
Junte linhas de vários CSV, associe colunas pelo nome e baixe o resultado com um relatório.
Abrir ferramenta — Combinar arquivos CSVDivisor de CSV
Divida um CSV por número de linhas ou tamanho exato. Mantenha os cabeçalhos e baixe cada parte.
Abrir ferramenta — Divisor de CSV