Conversor de CSV para JSON
Introdução
O Conversor de CSV para JSON faz a ponte entre dados em formato de folha de cálculo e JSON estruturado. Quer esteja a importar dados do Excel para uma aplicação web, a preparar payloads de API a partir de exportações de bases de dados ou a transformar ficheiros de configuração, esta ferramenta realiza a conversão com precisão e flexibilidade.
Ao contrário de ferramentas de linha de comandos que requerem instalação ou serviços online que enviam os seus dados para um servidor, o Conversor de CSV para JSON da Toollect opera inteiramente dentro do seu navegador. Cada tecla pressionada atualiza a saída JSON em tempo real, dando-lhe feedback imediato. Com zero dados transmitidos pela rede, oferece tanto velocidade como privacidade.
Com deteção inteligente de delimitadores, inferência de tipos, múltiplos formatos de saída e uma tabela de pré-visualização ao vivo, este conversor lida com os casos extremos que tornam a conversão CSV frustrante: campos entre aspas contendo vírgulas, valores multilinha, contagens de colunas inconsistentes e muito mais.
Casos de uso
O padrão de conversão de CSV para JSON aparece em muitos fluxos de trabalho reais. Compreender estes cenários ajuda-o a reconhecer quando esta ferramenta se adequa às suas necessidades.
Exportação de base de dados para integração API
A maioria dos sistemas de base de dados pode exportar resultados de consultas como CSV. Quando precisa de alimentar esses dados numa API REST ou num frontend JavaScript, a conversão para JSON é a ponte natural. Exporte uma lista de utilizadores, produtos ou encomendas do MySQL ou PostgreSQL como CSV, converta para JSON, e a estrutura fica imediatamente compatível com frameworks web.
Excel e Google Sheets para aplicação web
Os dados de folhas de cálculo frequentemente precisam de ser transferidos para aplicações web que consomem JSON. Exporte a sua folha como CSV, converta para JSON, e os cabeçalhos das colunas tornam-se nomes de propriedade prontos para JavaScript, TypeScript ou qualquer framework moderno. Isto é comum ao migrar de gestão manual em folhas de cálculo para software dedicado.
Dados de configuração e migração
Configurações de sistema, mapeamentos de variáveis de ambiente e dados de migração são frequentemente armazenados ou trocados como CSV. A conversão para JSON permite validação, transformação e integração com ferramentas de infrastructure-as-code e sistemas de gestão de configuração.
Pipelines ETL e processamento de dados
Os pipelines de Extração-Transformação-Carga começam frequentemente com ficheiros CSV de fontes externas. Converter para JSON numa fase inicial permite processamento estruturado, validação de esquema e integração a jusante com ferramentas e bases de dados nativas JSON.
Privacidade dos dados
O Conversor de CSV para JSON da Toollect processa cada byte de dados localmente no seu navegador. Nenhum conteúdo CSV é transmitido para qualquer servidor, armazenado em qualquer base de dados ou registado em qualquer sistema.
Todas as leituras de ficheiros acontecem através da API FileReader do navegador, que carrega o ficheiro na memória do seu dispositivo. A saída JSON gerada permanece no seu navegador até que a copie explicitamente para a área de transferência ou a descarregue como ficheiro. Não há pedidos de rede em segundo plano, nenhum script de análise na página da ferramenta e nenhum cookie ou armazenamento local utilizado pelo conversor.
Esta arquitetura de transmissão zero torna a ferramenta adequada para dados sensíveis, registos comerciais internos e qualquer cenário onde a residência de dados ou conformidade com privacidade seja importante.
Como funciona
O Conversor processa os seus dados CSV através de um pipeline de múltiplas etapas projetado para precisão e flexibilidade.
Análise sintática
A ferramenta lê a sua entrada CSV linha por linha usando um analisador personalizado que segue as convenções RFC 4180. Ele lida corretamente com:
- Campos entre aspas: Campos entre aspas duplas podem conter delimitadores, quebras de linha e outros caracteres especiais
- Aspas escapadas: Aspas duplas dentro de um campo são representadas como duas aspas duplas consecutivas (
"") - Campos vazios: Delimitadores consecutivos produzem valores de string vazia
- Espaços em branco finais: Espaços fora das aspas são removidos para uma saída limpa
Deteção de delimitador
No modo de deteção automática, a ferramenta analisa as primeiras linhas dos seus dados, testando cada delimitador candidato (vírgula, tabulação, ponto e vírgula) e selecionando aquele que produz a contagem de colunas mais consistente. Pode sempre substituir manualmente o delimitador detetado.
Inferência de tipos
Com a inferência de tipos ativada, a ferramenta examina cada valor e converte padrões reconhecidos:
- Números: Inteiros e decimais (
42,3.14,-1.5,1e10) tornam-se números JSON - Booleanos:
trueefalse(insensível a maiúsculas/minúsculas) tornam-se booleanos JSON - Nulo:
null(insensível a maiúsculas/minúsculas) torna-senullJSON - Strings: Todo o resto permanece uma string
Também pode ativar a análise de valores JSON, que tenta analisar campos que se parecem com objetos ou arrays JSON.
Formatação da saída
A saída JSON final é gerada de acordo com as opções selecionadas:
- Array de objetos: Cada linha torna-se um objeto com os valores da linha de cabeçalho como chaves (padrão)
- Array 2D: Saída como um array de arrays, ignorando a linha de cabeçalho
- Chaveado pela primeira coluna: Um objeto onde o valor da primeira coluna de cada linha de dados se torna a chave
A saída pode ser formatada (com indentação de 2 ou 4 espaços) ou minimizada numa única linha.
Referência do formato de entrada
Compreender as regras de formatação CSV ajuda-o a preparar dados que convertem limpos sem surpresas.
Opções de delimitador
| Delimitador | Símbolo | Auto-detetado | Uso típico |
|---|---|---|---|
| Vírgula | , |
Sim | Exportação CSV padrão |
| Tabulação | \t |
Sim | Ficheiros TSV, área de transferência de folha de cálculo |
| Ponto e vírgula | ; |
Sim | Configuração regional CSV europeia (Excel) |
| Personalizado | Qualquer caractere | Não | Pipe (` |
Regras de aspas
O CSV utiliza aspas duplas para envolver campos que contêm caracteres especiais:
- Um campo que contém o delimitador deve estar entre aspas:
"Silva, João" - Um campo que contém uma quebra de linha deve estar entre aspas:
"Linha 1\nLinha 2" - Um campo que contém uma aspa dupla faz escape duplicando-a:
"""Texto citado"""torna-se"Texto citado" - Campos não entre aspas são limpos de espaços circundantes
Linha de cabeçalho
A primeira linha é tratada como cabeçalho por padrão. Cada valor de cabeçalho torna-se uma chave de propriedade JSON. Os cabeçalhos são limpos e não vazios. Nomes de cabeçalho duplicados são deduplicados com um sufixo numérico (ex., nome, nome_2).
Codificação
A ferramenta espera entrada codificada em UTF-8. Ficheiros guardados com um BOM UTF-8 (byte order mark) são processados de forma transparente — o BOM é removido durante a análise. Outras codificações (Latin-1, Windows-1252) podem produzir caracteres ilegíveis; recodifique para UTF-8 antes da conversão.
Galeria de casos extremos CSV
Os dados CSV reais raramente correspondem aos exemplos dos manuais. Aqui está como o conversor lida com os casos extremos mais comuns.
Vírgulas dentro de campos entre aspas
Nome,Descrição,Preço
Widget Pro,"Inclui cabo, manual e estojo",29.99
A vírgula dentro da descrição entre aspas é corretamente tratada como parte do valor, não como um delimitador de coluna. A saída JSON mantém a string completa intacta.
Valores multilinha
ID,Notas
001,"Este produto requer
montagem por duas pessoas.
Ferramentas não incluídas."
Valores contendo quebras de linha dentro de aspas são analisados como um único campo que abrange várias linhas. A saída JSON preserva as quebras de linha como sequências de escape \n.
Contagem de colunas inconsistente
Nome,Email,Telefone
Alice,[email protected],555-0100
Bob,[email protected]
Charlie,[email protected],555-0200,extra
Linhas com menos colunas produzem strings vazias para campos em falta. Linhas com colunas adicionais produzem chaves indexadas adicionais. Um aviso é exibido quando uma inconsistência na contagem de colunas é detetada.
Zeros à esquerda
CEP,Cidade
00123,Nova Iorque
02134,Boston
Com a inferência de tipos ativada, 00123 torna-se no número 123 (perdendo os zeros à esquerda). Desative a inferência de tipos para preservar a string original "00123" — essencial para CEPs, números de telefone e IDs de produto.
Caracteres BOM
Ficheiros exportados do Excel para Windows frequentemente incluem um BOM UTF-8 (\uFEFF) como primeiros bytes. O conversor remove o BOM automaticamente, por isso o primeiro valor de cabeçalho fica limpo. Nenhuma ação é necessária da sua parte.
Linhas vazias
Nome,Valor
Alpha,1
Beta,2
Linhas vazias e linhas contendo apenas espaços em branco são ignoradas. Não produzem entradas JSON nem geram erros.
Utilização
Usar o Conversor de CSV para JSON da Toollect não requer configuração ou registo. Siga estes passos:
-
Abra a ferramenta — Navegue até à página do Conversor de CSV para JSON. A interface mostra uma zona de upload, uma área de texto de entrada, um painel de configurações e uma área de saída.
-
Introduza os seus dados — Cole o texto CSV diretamente na área de texto, ou clique na zona de upload (ou arraste e solte um ficheiro .csv) para carregar um ficheiro.
-
Revise as configurações — A ferramenta deteta automaticamente o delimitador e ativa cabeçalhos e inferência de tipos por padrão. Ajuste estas configurações conforme os seus dados:
- Selecione um delimitador diferente se a deteção automática estiver incorreta
- Ative ou desative "Primeira linha como cabeçalhos" se os seus dados não tiverem uma linha de cabeçalho
- Desative a inferência de tipos para manter todos os valores como strings
-
Pré-visualize os dados analisados — Clique em "Mostrar pré-visualização" para ver uma vista tabular dos seus dados CSV analisados. Isto ajuda a verificar se o delimitador e as configurações de cabeçalho estão corretos.
-
Verifique a saída JSON — A saída JSON é atualizada automaticamente enquanto escreve. A área de texto de saída é só de leitura para evitar edições acidentais.
-
Copie ou descarregue — Clique em "Copiar" para copiar o JSON para a sua área de transferência, ou "Descarregar JSON" para guardá-lo como ficheiro .json.
Referência do formato de saída
A mesma entrada CSV pode produzir três estruturas JSON diferentes. Cada formato adequa-se a um padrão de consumo distinto.
Entrada de exemplo:
Produto,Preço,Em Stock
Widget,29.99,true
Gadget,49.95,false
Array de objetos
Cada linha de dados torna-se um objeto com os valores de cabeçalho como chaves. Este é o formato padrão e mais comummente utilizado. Mapeia-se diretamente para arrays JavaScript e a maioria dos payloads de API REST.
[
{
"Produto": "Widget",
"Preço": 29.99,
"Em Stock": true
},
{
"Produto": "Gadget",
"Preço": 49.95,
"Em Stock": false
}
]
Array 2D
A saída é um array de arrays. A linha de cabeçalho é excluída a menos que desative explicitamente os cabeçalhos. Útil para dados matriciais e componentes Grid/DataTable.
[
["Produto", "Preço", "Em Stock"],
["Widget", 29.99, true],
["Gadget", 49.95, false]
]
Chaveado pela primeira coluna
O valor da primeira coluna torna-se a chave do objeto, e as colunas restantes formam o objeto de valor. Útil para tabelas de consulta e acesso a dados em formato de dicionário.
{
"Widget": {
"Preço": 29.99,
"Em Stock": true
},
"Gadget": {
"Preço": 49.95,
"Em Stock": false
}
}
Os valores da primeira coluna devem ser únicos. Duplicados fazem com que a última ocorrência substitua as anteriores — um aviso é mostrado quando isto acontece.
Tutorial
Este tutorial mostra como converter um ficheiro CSV exportado do Excel num array JSON para uso numa aplicação web.
Cenário: Tem uma folha de cálculo Excel com inventário de produtos e quer importá-la para uma aplicação web que espera JSON.
- Exportar do Excel — Guarde a sua folha de cálculo como ficheiro CSV. Deverá obter algo como:
Product Name, SKU, Price, In Stock, Category
Widget Pro, WDG-001, 29.99, true, Tools
Gadget X, GDG-002, 49.95, false, Electronics
Super Tool, SUP-003, 99.00, true, Tools
Accessory Pack, ACC-004, 14.99, true, Accessories
-
Abra o Conversor de CSV para JSON e arraste o ficheiro CSV para a zona de upload. A ferramenta carrega o ficheiro, deteta o delimitador de vírgula e converte os dados instantaneamente.
-
Revise a pré-visualização — Clique em "Mostrar pré-visualização" para ver a representação tabular. Confirme que a linha de cabeçalho foi analisada corretamente.
-
A saída JSON aparece como:
[
{
"Product Name": "Widget Pro",
"SKU": "WDG-001",
"Price": 29.99,
"In Stock": true,
"Category": "Tools"
},
{
"Product Name": "Gadget X",
"SKU": "GDG-002",
"Price": 49.95,
"In Stock": false,
"Category": "Electronics"
},
{
"Product Name": "Super Tool",
"SKU": "SUP-003",
"Price": 99,
"Category": "Tools"
},
{
"Product Name": "Accessory Pack",
"SKU": "ACC-004",
"Price": 14.99,
"In Stock": true,
"Category": "Accessories"
}
]
Repare que os valores Price são números (não strings), os valores In Stock são booleanos e o valor "In Stock" em falta para "Super Tool" é omitido.
- Experimente transformações de chaves — Selecione "snake_case" no menu suspenso de formato de chaves. A saída muda para:
[
{
"product_name": "Widget Pro",
"sku": "WDG-001",
"price": 29.99,
"in_stock": true,
"category": "Tools"
}
]
- Experimente o formato chaveado — Selecione "Chaveado pela primeira coluna" para obter um objeto indexado por nome de produto:
{
"Widget Pro": {
"SKU": "WDG-001",
"Price": 29.99,
"In Stock": true,
"Category": "Tools"
},
"Gadget X": { ... }
}
- Descarregue o resultado — Clique em "Descarregar JSON" para guardar a saída como ficheiro .json pronto para a sua aplicação web.
Dicas profissionais
Domine estas técnicas para aproveitar ao máximo o Conversor de CSV para JSON da Toollect:
-
Use a pré-visualização primeiro: Verifique sempre a tabela de pré-visualização antes de confiar na saída JSON. Colunas desalinhadas, delimitadores errados ou problemas de codificação são imediatamente visíveis na pré-visualização tabular
-
Lide com zeros à esquerda: Códigos postais, números de telefone e IDs têm frequentemente zeros à esquerda. Desative a inferência de tipos para mantê-los como strings — caso contrário,
00123torna-se no número123 -
Normalize nomes de colunas: Use a definição de formato de chaves para transformar cabeçalhos inconsistentes num formato uniforme. Para integração com API, camelCase ou snake_case são geralmente preferidos
-
Limpe o seu CSV primeiro: Remova linhas vazias no final, verifique a consistência da contagem de colunas e certifique-se de que os campos entre aspas usam aspas duplas para melhores resultados
-
Combine com outras ferramentas: Converta CSV para JSON aqui, depois use o Formatador JSON para validar e inspecionar a estrutura
-
Atalhos de teclado: Use Tab para navegar entre campos. Prima Ctrl+A (Cmd+A) para selecionar todo o texto na área de saída para cópia rápida quando o botão Copiar não estiver disponível
Guia para ficheiros grandes
O Conversor de CSV para JSON lida com ficheiros até 10 MB através da interface de upload. Acima desse limite, ou quando precisa de desempenho ideal, siga estas diretrizes.
Limites de upload
| Método | Limite de tamanho | Notas |
|---|---|---|
| Arrastar e soltar upload | 10 MB | Limite rigoroso imposto pelo FileReader |
| Colar na área de texto | Memória do navegador | Depende da RAM disponível, renderização mais lenta |
| Diálogo de abrir ficheiro | 10 MB | Mesmo limite do FileReader |
Desempenho por tamanho de dados
| Linhas | Colunas | Método | Tempo esperado |
|---|---|---|---|
| 1.000 | 20 | Qualquer | Instantâneo |
| 10.000 | 20 | Qualquer | < 100 ms |
| 100.000 | 20 | Colar texto | < 1 segundo |
| 500.000 | 20 | Colar texto | 2-5 segundos |
Trabalhar com ficheiros grandes
- Ficheiros com mais de 10 MB: cole o conteúdo diretamente na área de texto em vez de fazer upload. A área de texto contorna o limite de tamanho do FileReader e utiliza a memória disponível do navegador
- Para ficheiros que excedam 100.000 linhas, considere dividir o CSV em partes mais pequenas antes da conversão
- A pré-visualização ao vivo torna-se mais lenta à medida que o número de linhas aumenta — desative a pré-visualização para conjuntos de dados grandes mantendo o painel de pré-visualização fechado
- A inferência de tipos adiciona sobrecarga de processamento. Se só precisa de saída de strings, desative a inferência de tipos para conversão mais rápida em ficheiros grandes
Considerações de memória do navegador
Cada megabyte de CSV consome aproximadamente 2-4 MB de memória de trabalho durante a conversão (entrada + estrutura analisada + saída JSON). Um ficheiro CSV de 10 MB pode usar 30-40 MB de memória do navegador. Feche outros separadores com uso intensivo de memória quando trabalhar com ficheiros grandes.
Alternativas
Embora o Conversor de CSV para JSON da Toollect ofereça um conjunto abrangente de funcionalidades, existem várias alternativas para diferentes casos de uso.
| Ferramenta / Método | Melhor para | Limitações |
|---|---|---|
| Conversor de CSV para JSON da Toollect | Conversão baseada em navegador, privacidade, personalizável | Requer carregamento inicial da página |
| PapaParse (biblioteca JavaScript) | Análise programática de CSV em Node.js ou navegador | Requer programação, sem interface gráfica |
| csvkit (linha de comandos) | Processamento e conversão de CSV baseado em Python | Requer instalação de Python, apenas linha de comandos |
| Serviços de conversão online | Conversões rápidas pontuais | Dados são enviados para servidores, preocupações com privacidade |
| Excel Power Query | Conversão de CSV para JSON dentro do Excel | Requer Excel, limitado a conjuntos de dados pequenos |
| jq (linha de comandos) | Processamento de saída JSON de conversões CSV | Requer etapa separada CSV-para-JSON, apenas linha de comandos |
Para a maioria dos utilizadores que precisam de uma conversão CSV para JSON rápida, privada e rica em funcionalidades sem sair do navegador, o conversor Toollect oferece o melhor equilíbrio entre funcionalidade e conveniência.
Resolução de problemas
| Problema | Causa provável | Solução |
|---|---|---|
| JSON mostra "[null]" ou objetos vazios | Deteção de delimitador falhou ou delimitador errado selecionado | Selecione manualmente o delimitador correto no menu suspenso |
| Valores de coluna em falta/deslocados | Um campo contém o caractere delimitador sem aspas | Coloque campos com delimitadores entre aspas duplas no seu CSV de origem |
| Números com zeros à esquerda perdem os zeros | A inferência de tipos converte-os em valores numéricos | Desative a inferência de tipos para manter todos os valores como strings |
| Erro "Linha X tem Y colunas, esperadas Z" | Contagem de colunas inconsistente entre linhas | Verifique o CSV para delimitadores extra/em falta; campos entre aspas com quebras de linha podem abranger várias linhas |
| Pré-visualização mostra caracteres ilegíveis | A codificação do ficheiro não é UTF-8 | Re-exporte o seu CSV como UTF-8 a partir da sua folha de cálculo |
| Upload de ficheiro grande falha | Ficheiro excede o limite de 10 MB | Cole os dados diretamente na área de texto em vez de fazer upload |
| Saída JSON está vazia | Campo de entrada está vazio ou contém apenas espaços | Certifique-se de que os seus dados CSV estão colados corretamente |
| Botão Copiar não responde | Permissões da área de transferência do navegador | Verifique as configurações do navegador; use Ctrl+C (Cmd+C) como alternativa |
Especificações técnicas
Benchmarks de desempenho
| Tamanho dos dados | Tempo de processamento | Uso de memória |
|---|---|---|
| 1 KB (10 linhas) | < 1 ms | < 1 MB |
| 100 KB (1000 linhas) | < 10 ms | < 5 MB |
| 1 MB (10000 linhas) | < 100 ms | < 50 MB |
Detalhes técnicos
- Analisador: Analisador CSV personalizado compatível com RFC 4180 com tratamento completo de aspas/escape
- Inferência de tipos: Deteção baseada em regex para números, booleanos, valores nulos
- Deteção de delimitador: Pontuação heurística nas primeiras 10 linhas, testando vírgula/tabulação/ponto e vírgula
- Motor de saída:
JSON.stringify()nativo com indentação configurável - Manipulação de ficheiros: API
FileReadercom limite de tamanho de 10 MB - Área de transferência:
navigator.clipboard.writeText()com indicador de feedback de 2 segundos - Download:
Blob+URL.createObjectURL()para geração de ficheiros em memória
Compatibilidade com navegadores
| Navegador | Versão mínima | Estado |
|---|---|---|
| Google Chrome | 80+ | Suporte total |
| Mozilla Firefox | 75+ | Suporte total |
| Apple Safari | 13+ | Suporte total |
| Microsoft Edge | 80+ | Suporte total |
| Samsung Internet | 13+ | Suporte total |
| Opera | 67+ | Suporte total |
Recursos
- Conversão instantânea de CSV para JSON com pré-visualização ao vivo
- Deteção inteligente automática de delimitador com substituição manual
- Inferência de tipos para números, booleanos e valores nulos
- Múltiplos formatos de saída: array de objetos, array 2D e objetos chaveados
- Transformação de maiúsculas/minúsculas das chaves (camelCase, snake_case, lowercase, UPPERCASE, Capitalize)
- Pré-visualização de dados recolhível para verificar o CSV antes de converter