Conversor de CSV para JSON
Cole dados CSV ou TSV e converta para um array JSON instantaneamente. Detecta o delimitador automaticamente e infere tipos. 100% no navegador.
Como Converter CSV para JSON Online
O CSV é o formato que planilhas, bancos de dados e sistemas de CRM exportam por padrão porque é apenas texto simples: uma linha de cabeçalho, depois um registro por linha, com vírgulas marcando onde uma coluna termina e a próxima começa. O JSON é o que aplicações web modernas, APIs REST e o próprio JavaScript realmente esperam receber: um array de objetos, cada um identificado por nome de campo. Este conversor liga os dois formatos inteiramente dentro do navegador, transformando linhas de uma exportação CSV ou TSV em um array JSON limpo e estruturado no tempo que leva para clicar em um botão.
Essa diferença entre os dois formatos aparece o tempo todo no trabalho comum. Um desenvolvedor back-end recebe uma planilha de usuários de teste da equipe de QA e precisa transformá-la em um fixture JSON para um teste de integração. Um desenvolvedor front-end recebe um catálogo de produtos exportado de um sistema de estoque e precisa de um array de objetos para renderizar como cartões na tela. Um analista de dados extrai um relatório de um CRM e precisa alimentá-lo em um script que só lê JSON. Nenhuma dessas pessoas quer escrever um analisador de CSV do zero, e nenhuma quer instalar uma ferramenta de linha de comando só para uma conversão pontual que leva dez segundos aqui.
Conversão de CSV para JSON Passo a Passo
- Cole o CSV. Solte as linhas na caixa "Entrada CSV", seja uma cópia direta do Excel, do Google Sheets, de uma exportação de banco de dados ou de um arquivo TSV com tabulações no lugar de vírgulas.
- Defina o delimitador. Deixe em "Detecção Automática" para a maioria dos arquivos, ou escolha diretamente Vírgula, Tabulação, Ponto e Vírgula ou Barra Vertical se já souber qual caractere sua exportação usa.
- Escolha as opções de cabeçalho e tipo. Mantenha "Primeira Linha como Cabeçalho" marcado para usar a linha de cabeçalho como chaves do JSON, e alterne "Converter Números" dependendo se campos com aparência numérica, como idades ou preços, devem virar números JSON reais ou continuar como texto.
- Clique em "Converter para JSON". O analisador monta o array em bem menos de um segundo, com a indentação escolhida, e coloca o resultado na caixa "Saída JSON" logo abaixo.
- Copie ou baixe o resultado. Pegue com um clique em Copiar, ou use "Baixar .json" para salvar como um arquivo que pode ser repassado, anexado ou importado direto em outra ferramenta.
Cada etapa acontece no próprio dispositivo. Não há upload, não há fila de servidor e não há limite artificial de linhas, já que o JavaScript rodando na aba faz o trabalho inteiro.
Por Que o Delimitador Importa: Vírgulas, Ponto e Vírgula, Tabulações e Barras Verticais
"CSV" é, na prática, uma família de formatos e não um padrão único e rígido, e o caractere que separa as colunas nem sempre é uma vírgula, não importa o que diga a extensão do arquivo. Esta ferramenta traz uma etapa de Detecção Automática exatamente por isso: ela examina as primeiras cinco linhas do texto colado, conta quantas vezes cada delimitador candidato (tabulação, vírgula, ponto e vírgula e barra vertical) aparece fora de trechos entre aspas, e escolhe o caractere que aparece de forma mais consistente ao longo dessas linhas, em vez de simplesmente o que aparece mais vezes no total. Um arquivo em que toda linha tem exatamente três ponto e vírgulas e nenhuma vírgula é um sinal claro, mesmo que um ponto e vírgula também apareça, por acaso, dentro de um campo de observações entre aspas.
A surpresa mais comum é o ponto e vírgula. O Excel liga seu separador de lista padrão à configuração regional do Windows, e tanto em Portugal quanto no Brasil a vírgula já é o separador decimal, então um preço é escrito como 12,50 em vez de 12.50. Se o Excel também usasse a vírgula como separador de campo, uma única coluna de preço se dividiria silenciosamente em duas colunas toda vez que fosse exportada, e ninguém perceberia até abrir o arquivo e ver uma coluna a mais. Para evitar essa colisão entre separador decimal e separador de campo, o Excel configurado em português, seja de Portugal ou do Brasil, e em praticamente toda a Europa continental, exporta arquivos CSV usando ponto e vírgula como delimitador, mesmo que o arquivo continue terminando em .csv. Uma linha como Nome;Cidade;Salário com um valor de 4500,75 é uma exportação perfeitamente normal de uma planilha configurada em português, não um arquivo corrompido.
| Delimitador | Origem Típica | Linha de Exemplo |
|---|---|---|
| Vírgula (,) | Excel em inglês, Google Sheets, a maioria das APIs | Ana,30,Lisboa |
| Ponto e Vírgula (;) | Excel em português (Portugal e Brasil), espanhol, francês, alemão | Ana;30;Lisboa |
| Tabulação | Exportações TSV, dumps de banco de dados, cópia de planilhas | Ana 30 Lisboa |
| Barra Vertical (|) | Exportações legadas de mainframe, alguns formatos de log | Ana|30|Lisboa |
Se a Detecção Automática errar, o que acontece com mais frequência em arquivos muito curtos com apenas uma ou duas linhas para analisar, basta escolher o delimitador correto diretamente no menu suspenso. O resto da lógica de análise, campos entre aspas, aspas escapadas e inferência de tipos, funciona exatamente da mesma forma independentemente de qual delimitador está ativo.
Campos entre Aspas, Vírgulas Internas e Quebras de Linha
Um analisador de CSV ingênuo simplesmente divide cada linha pelo caractere delimitador, e isso quebra no instante em que um campo contém o próprio delimitador. Dados CSV do mundo real estão cheios exatamente disso: uma coluna de "Sobrenome, Nome", um endereço com uma vírgula antes do bairro, uma descrição de produto com uma lista de recursos separada por vírgulas. A solução, padronizada há décadas no que hoje é comumente chamado de RFC 4180, é envolver qualquer campo que contenha o delimitador entre aspas duplas, e este conversor implementa essa regra como uma verdadeira máquina de estados, caractere por caractere, em vez de uma simples divisão de texto.
Na prática, uma linha como "Silva, Ana",42,"Lisboa, Portugal" é convertida corretamente para um campo de nome "Silva, Ana" e um campo de cidade "Lisboa, Portugal", cada um permanecendo como um único valor em vez de se dividir em colunas extras. O analisador acompanha uma sinalização inQuotes enquanto lê caractere por caractere, e só trata uma vírgula como separador de campo quando essa sinalização está desligada.
Aspas escapadas e campos com múltiplas linhas
Dois casos relacionados aparecem o tempo todo em exportações reais. Primeiro, uma aspa dupla literal dentro de um campo entre aspas é escrita como duas aspas duplas seguidas, então "Ela disse ""olá"" para mim" é decodificado como um único campo com o texto Ela disse "olá" para mim, com as aspas duplicadas reduzidas de volta a uma só. Segundo, um campo entre aspas pode conter uma quebra de linha de verdade, o que acontece sempre que uma coluna de planilha guarda um endereço em várias linhas, uma observação ou um comentário. O analisador não para de ler um campo na primeira quebra de linha, ele continua consumindo texto, quebras de linha incluídas, até encontrar a aspa de fechamento, então um endereço de cliente exportado em duas linhas físicas ainda chega ao JSON como um único valor de texto com um \n embutido, em vez de ser cortado ao meio ou vazar para a linha seguinte.
Errar esse ponto é exatamente o que quebra conversões de planilha para JSON feitas com uma expressão regular rápida ou um split(',') de uma linha só. Este analisador existe especificamente para que esses casos não precisem ser tratados manualmente.
Linhas de Cabeçalho e Nomes de Colunas Duplicados
Com "Primeira Linha como Cabeçalho" marcado, a primeira linha dos dados colados fornece o nome de chave para cada campo de todos os objetos seguintes, então um cabeçalho como nome,email,idade significa que todo objeto de saída tem exatamente essas três chaves, nessa ordem. Desmarque a opção para dados CSV sem nenhuma linha de cabeçalho, talvez uma exportação bruta de banco de dados ou um arquivo de log, e a ferramenta recorre a chaves genéricas, col1, col2, col3 e assim por diante, numeradas pela posição da coluna, para que nada seja descartado silenciosamente.
Nomes de cabeçalho duplicados merecem atenção especial porque o modo de falha é silencioso, sem nenhuma mensagem de erro. Um objeto JSON só pode ter uma propriedade por chave, então um cabeçalho como nome,telefone,telefone, talvez uma planilha com colunas separadas de "telefone comercial" e "telefone celular" ambas rotuladas apenas como "telefone", produz um objeto em que o segundo valor de telefone sobrescreve o primeiro durante a conversão. O JSON de saída é perfeitamente válido, ele só passa a conter silenciosamente um telefone em vez de dois, sem nenhum aviso de que um dado se perdeu pelo caminho. A correção fica inteiramente do lado da entrada: renomeie colunas duplicadas antes de colar os dados, por exemplo para telefone_comercial e telefone_celular, garantindo que cada chave na linha de cabeçalho seja única antes mesmo de a conversão começar.
Inferência de Tipos: Números, Booleanos e o Problema do "007"
O CSV não tem nenhum conceito de tipos de dados. Cada célula, seja ela um nome, uma idade, um preço ou o valor de uma caixa de seleção, fica armazenada como texto puro, e é a caixa de seleção "Converter Números" que decide quanto desse texto é promovido a um tipo JSON real em vez de continuar como string. Com a opção marcada, qualquer campo que passe em um teste numérico é convertido com o Number() do JavaScript, então "idade": "30" no CSV vira "idade": 30 no JSON, pronto para operações matemáticas ou comparações sem uma etapa extra de conversão no próprio código.
Essa conveniência tem um custo real para valores que só parecem numéricos. Um código de produto "007", um número de conta "0042" ou um código postal como "02139" passam todos no teste numérico e são convertidos para 7, 42 e 2139 respectivamente, perdendo silenciosamente os zeros à esquerda que davam sentido a eles. Um código postal é um identificador, não uma quantidade, e assim que vira o número 2139 não há mais como distingui-lo do código postal 21390 com um dígito extra digitado por engano. Se os dados têm IDs, códigos ou códigos postais misturados com campos genuinamente numéricos, desmarque "Converter Números" antes de converter e mantenha tudo como texto, ou converta duas vezes e ajuste manualmente só os campos de identificador na saída.
| Valor no CSV | Converter Números Ativado | Converter Números Desativado |
|---|---|---|
30 | 30 (número) | "30" (texto) |
007 | 7 (número, zero perdido) | "007" (texto, preservado) |
true | true (booleano) | true (booleano, sempre convertido) |
| célula vazia | null | null (sempre convertido) |
Duas dessas linhas são fáceis de passar despercebidas: a conversão de booleanos e o tratamento de células vazias acontecem incondicionalmente, independente da caixa "Converter Números" estar marcada. Uma célula contendo o texto true ou false, sem diferenciar maiúsculas de minúsculas, sempre vira um booleano JSON real, e uma célula genuinamente vazia sempre vira null em vez de uma string vazia "". Isso importa quando um código que lê a saída verifica um campo especificamente com === null, ou espera que todo valor de uma determinada chave compartilhe o mesmo tipo do JavaScript; uma coluna às vezes vazia vai produzir uma mistura de strings e valores null ao longo do array em vez de uma coluna inteira de strings vazias.
UTF-8 vs. Windows-1252: Corrigindo Caracteres Corrompidos do Excel
Bugs de codificação de texto estão entre os mais confusos de diagnosticar porque o arquivo parece perfeitamente normal no programa que o criou e só quebra em algum ponto adiante. O caso clássico: um campo de nome contendo "João" ou "coração" é exportado do Excel, colado neste conversor ou em qualquer outra ferramenta que espera UTF-8, e aparece como João ou coração em vez do texto original. Essa distorção duplamente codificada tem um nome, mojibake, e uma causa específica: o arquivo foi salvo usando uma página de código de 8 bits do Windows, na maioria das vezes Windows-1252, onde "ã" ou "ç" ocupam um único byte, mas depois é lido por algo que espera UTF-8, onde o mesmo caractere ocupa dois bytes, e cada um desses dois bytes acaba sendo interpretado como um caractere separado.
A correção está na caixa de diálogo Salvar Como do Excel, não nesta ferramenta, já que quando o texto corrompido já foi colado aqui, os bytes originais já se perderam. No Windows, escolher simplesmente "CSV (separado por vírgulas)" na lista de tipos de arquivo ainda usa por padrão a página de código regional do sistema em muitas instalações, enquanto "CSV UTF-8 (separado por vírgulas)" grava o arquivo explicitamente em UTF-8, exatamente o que navegadores e este conversor esperam. Se você recebe com frequência arquivos CSV com acentos corrompidos de um colega, pedir para reexportar usando a opção UTF-8, ou abrir o arquivo em um editor de texto simples e salvar novamente com a codificação UTF-8 selecionada explicitamente, resolve o problema na origem em vez de precisar corrigi-lo depois.
Marca de ordem de bytes e linhas finais em branco
Dois artefatos menores de codificação valem a pena conhecer. O Excel costuma inserir uma marca de ordem de bytes, uma assinatura UTF-8 invisível às vezes visível como  quando lida incorretamente, bem no início de um arquivo CSV em UTF-8, o que ajuda outros programas a detectar a codificação automaticamente, mas ocasionalmente aparece grudada ao primeiro nome de cabeçalho quando uma ferramenta não a remove. Separadamente, exportações de planilha costumam terminar com uma linha em branco depois do último registro real de dados. Este conversor filtra qualquer linha em que todas as células estejam vazias antes de montar o array JSON, então uma quebra de linha no final do arquivo não gera um objeto vazio no fim da saída.
Por Que Este Conversor Funciona Inteiramente no Navegador
Muitas ferramentas de "converter CSV para JSON online" fazem upload silenciosamente de tudo que você cola para um servidor, processam por lá e devolvem um resultado. Essa ida e volta é invisível no uso normal, mas significa que os dados ficaram, mesmo que brevemente, em uma máquina que você não controla. Para um conjunto de dados público de exemplo isso não é problema. Para uma folha de pagamento exportada, uma lista de clientes, uma tabela de preços de fornecedores ou qualquer coisa coberta por um acordo de confidencialidade, é um risco real que a maioria das pessoas nunca pensa em verificar.
Este conversor nunca faz essa viagem. A lógica de análise é JavaScript simples entregue junto com a página, e ela roda inteiramente dentro da própria aba do navegador no momento em que se clica em Converter. Abra a aba de rede do navegador enquanto usa a ferramenta e não vai encontrar nenhuma requisição levando os dados CSV para lugar nenhum. Isso tem um efeito prático além da privacidade: não há limite de taxa do lado do servidor, nenhum teto de tamanho de arquivo imposto por uma API e nenhuma fila para esperar, já que o próprio dispositivo faz todo o trabalho em vez de um backend compartilhado.
O que isso significa para exportações confidenciais
Se a conversão envolve registros de funcionários, dados financeiros, informações de produtos ainda não lançados ou qualquer coisa que não deveria sair da organização, uma ferramenta puramente local remove esse risco da equação por completo, em vez de pedir confiança em uma política de privacidade que provavelmente nunca foi lida. É o mesmo raciocínio que leva desenvolvedores a rodar um formatador de código localmente em vez de colar código-fonte proprietário em um formulário web qualquer: a ferramenta mais segura é aquela que nunca teve a chance de vazar nada, porque nada saiu do lugar.
Formas Comuns de Usar Este Conversor de CSV para JSON
A mesma etapa de conversão aparece em trabalhos bem diferentes entre si. Alguns padrões se repetem constantemente.
Prototipagem de front-end sem um back-end
Desenvolvedores front-end construindo um componente, uma tabela ou um protótipo de painel frequentemente precisam de dados de exemplo realistas antes de existir uma API de verdade. Exportar uma planilha com linhas de exemplo e convertê-la aqui produz um array JSON pronto para uso, que pode ser colado direto em um arquivo de dados fictícios ou em um fixture local.
Alimentando um banco de documentos ou um armazenamento NoSQL
Bancos como o MongoDB guardam documentos como objetos parecidos com JSON, não como tabelas, então um conjunto de dados que começou como exportação de planilha costuma precisar virar um array JSON antes de poder ser importado com uma ferramenta como mongoimport. Converter a exportação aqui costuma ser o caminho mais rápido de uma planilha até um arquivo pronto para importar.
Testes de API e payloads simulados
Engenheiros de QA e desenvolvedores back-end construindo casos de teste em ferramentas como Postman ou Insomnia frequentemente partem de uma planilha de exemplos de entrada, uma linha por caso de teste, e precisam desses mesmos dados como um array JSON de corpos de requisição. Converter uma vez aqui mantém a planilha como fonte da verdade enquanto produz exatamente o formato JSON que um executor de testes espera.
Migração de dados e scripts pontuais
Migrar dados entre sistemas, uma exportação de um CRM antigo para o formato de importação de uma plataforma nova, ou um dump de banco de dados legado para uma aplicação moderna, quase sempre envolve um script que lê JSON. Converter a exportação bruta aqui primeiro elimina a necessidade de escrever uma etapa de análise de CSV dentro desse script.
Configuração e conteúdo a partir de planilhas
Colegas de equipe não técnicos costumam se sentir muito mais à vontade mantendo uma lista no Google Sheets do que editando um arquivo JSON diretamente, seja uma lista de perguntas frequentes, categorias de produto ou feature flags. Converter a planilha deles aqui a cada atualização mantém o arquivo JSON sincronizado com o que foi editado mais recentemente, sem precisar tocar em um editor de texto.
Dicas para Conversões Limpas e Erros Comuns
- Confira o delimitador detectado em arquivos curtos. A Detecção Automática examina as cinco primeiras linhas, então um arquivo com apenas uma ou duas linhas dá muito pouco material para trabalhar. Se a saída parecer errada em uma amostra pequena, defina o delimitador manualmente em vez de confiar na Detecção Automática.
- Decida sobre "Converter Números" antes de converter, não depois. Depois que IDs, códigos ou códigos postais perdem os zeros à esquerda na conversão numérica, essa informação some da saída. Verifique as colunas em busca de campos parecidos com identificadores primeiro, e deixe a opção desmarcada se algum deles parecer arriscado.
- Fique atento a nomes de cabeçalho duplicados. Duas colunas compartilhando um cabeçalho colapsam silenciosamente em uma única chave em todo objeto de saída. Renomeie duplicatas antes de colar os dados, já que a ferramenta não tem como adivinhar qual duplicata deveria ser mantida.
- Lembre-se de que os campos são aparados. Espaços em branco no início e no fim de cada campo são removidos durante a análise, então um valor como
" Lisboa "sai como"Lisboa". Isso costuma ser o que se quer, mas significa que dados sensíveis a espaços, como um código que começa intencionalmente com um espaço, não sobrevivem à conversão. - Reexporte do Excel como UTF-8 se os caracteres aparecerem corrompidos. O mojibake quase sempre remonta a uma incompatibilidade de codificação no momento da exportação, não a um bug na colagem ou no analisador, e a correção mais limpa é uma opção diferente de Salvar Como na planilha de origem, não uma limpeza manual depois.
- Use a opção de Indentação para combinar com a próxima etapa. Escolha 2 ou 4 espaços para uma saída que será lida ou versionada em um repositório, ou Minificado quando o JSON for direto para uma requisição de API ou um script em que o tamanho do arquivo importa mais do que a legibilidade.
A maioria das surpresas em uma conversão remete a uma destas cinco coisas: o delimitador errado, uma conversão numérica indesejada, um cabeçalho duplicado, uma incompatibilidade de codificação ou espaços em branco removidos. Nenhuma delas é um bug do analisador, são características dos dados de origem que vale a pena checar rapidamente antes de clicar em Converter.
Perguntas Frequentes
Ferramentas para desenvolvedores relacionadas
🔒 Privacidade 100% no Navegador
Toda a análise de CSV e geração de JSON acontece <strong>inteiramente no seu navegador</strong>. Nenhum dado é enviado para nenhum servidor. Seus dados permanecem no seu dispositivo o tempo todo.