TextSorter
Entrada CSV
Saída JSON

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

DelimitadorOrigem TípicaLinha de Exemplo
Vírgula (,)Excel em inglês, Google Sheets, a maioria das APIsAna,30,Lisboa
Ponto e Vírgula (;)Excel em português (Portugal e Brasil), espanhol, francês, alemãoAna;30;Lisboa
TabulaçãoExportações TSV, dumps de banco de dados, cópia de planilhasAna   30   Lisboa
Barra Vertical (|)Exportações legadas de mainframe, alguns formatos de logAna|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 CSVConverter Números AtivadoConverter Números Desativado
3030 (número)"30" (texto)
0077 (número, zero perdido)"007" (texto, preservado)
truetrue (booleano)true (booleano, sempre convertido)
célula vazianullnull (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

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

Como faço para converter CSV em JSON?
Cole seus dados CSV ou TSV na caixa de entrada e clique em "Converter para JSON". O analisador lê linha por linha, usa a primeira linha como chaves dos objetos por padrão e monta um array JSON em que cada linha restante vira um objeto. Copie o resultado ou baixe como arquivo .json, tudo sem sair da página.
Esta ferramenta funciona com arquivos TSV (valores separados por tabulação)?
Sim. Selecione "Tabulação (TSV)" no menu Delimitador, ou deixe em Detecção Automática, que reconhece caracteres de tabulação sozinha. TSV é comum em exportações de ferramentas de planilha e bancos de dados, justamente onde o próprio texto tem boas chances de conter vírgulas.
Por que meu arquivo CSV do Excel usa ponto e vírgula em vez de vírgula?
O Excel liga seu delimitador padrão de CSV à configuração regional do Windows, e tanto em Portugal quanto no Brasil a vírgula já é o separador decimal usado em números como 12,50. Para evitar que o separador de campo colida com o separador decimal, o Excel configurado em português exporta ponto e vírgula em vez de vírgula. A Detecção Automática lida com isso sozinha, ou você pode escolher "Ponto e Vírgula (;)" diretamente.
Como campos entre aspas com vírgulas ou quebras de linha são tratados?
O analisador é uma verdadeira máquina de estados, não uma divisão simples por vírgula, então ele acompanha se está atualmente dentro de um campo entre aspas. Uma célula escrita como "Silva, Ana" mantém sua vírgula interna e continua sendo um único campo, e um campo entre aspas contendo uma quebra de linha de verdade, como um endereço em várias linhas, é lido como um único valor que abrange várias linhas de texto bruto em vez de ser cortado na primeira quebra de linha.
O que acontece com um valor como "007" ou um código postal com zero à esquerda?
Depende da caixa de seleção "Converter Números". Com ela marcada, qualquer campo com aparência numérica é convertido para um número JSON real, então "007" vira 7 e "02139" vira 2139, ambos perdendo os zeros à esquerda da mesma forma que uma planilha faria. Desmarque "Converter Números" antes de converter se os dados tiverem identificadores, códigos ou códigos postais que precisam continuar intactos como texto.
O conversor trata células vazias como null ou como string vazia?
Células vazias sempre viram null no JSON, independentemente de "Converter Números" estar marcado, porque essa conversão acontece incondicionalmente na etapa de análise. Uma linha como "Alice,,Engenheira" produz um campo do meio igual a null em vez de uma string vazia "", o que importa se um código posterior verifica especificamente por null ou espera um tipo string em toda chave.
Por que caracteres acentuados como "João" ou "coração" aparecem corrompidos?
Essa distorção, geralmente chamada de mojibake, acontece quando um arquivo foi salvo em uma codificação de 8 bits do Windows como Windows-1252, mas o navegador ou uma ferramenta seguinte o lê como UTF-8, ou o contrário. Um sintoma comum é "João" virando "João" ou "coração" virando "coração". A correção é exportar do Excel usando "CSV UTF-8 (separado por vírgulas)" na caixa Salvar Como, em vez da opção simples "CSV", que ainda usa Windows-1252 por padrão em muitas instalações.
O que acontece se meu CSV tiver nomes de colunas duplicados no cabeçalho?
Objetos JSON não podem ter duas propriedades com a mesma chave, então se a linha de cabeçalho tiver duas colunas chamadas "Telefone", a segunda sobrescreve silenciosamente a primeira em todo objeto de saída, e o primeiro número de telefone se perde. Renomeie cabeçalhos duplicados, por exemplo para "Telefone1" e "Telefone2", antes de colar os dados, para não perder uma coluna inteira sem nenhuma mensagem de erro.
Existe um limite de tamanho para o arquivo CSV que posso converter?
Não há nenhum limite artificial de tamanho definido por esta ferramenta, já que a conversão roda localmente em vez de passar por uma API de servidor com limite de tamanho de requisição. Na prática, planilhas com dezenas de milhares de linhas convertem em bem menos de um segundo em um notebook comum, e o limite real é a quantidade de memória disponível na aba do navegador para arquivos muito grandes.
Meus dados CSV ficam privados, ou algo é enviado para um servidor?
Nada é enviado para lugar nenhum. A análise roda como JavaScript dentro da sua própria aba do navegador, então folhas de pagamento, listas de clientes e outros dados de planilha cobertos por acordos de confidencialidade nunca saem do seu dispositivo. Você pode desconectar da internet depois que a página carregar e o conversor continua funcionando exatamente da mesma forma.

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.