Pular para o conteúdo
Pasta MágicaBlog
Criar conta grátis

Como converter CSV para JSON (cabeçalho vira chave)

Planilha exportada em CSV e sistema pedindo JSON? Veja como o cabeçalho vira chave, quando converter tipos e como evitar erro de acento e delimitador.

Dados e Planilhas 8 min de leitura

Como converter CSV para JSON (cabeçalho vira chave)
Neste artigo (8 seções)

Resposta rápidapara converter CSV para JSON, confira o encoding (UTF-8 ou latin1) e o delimitador (vírgula ou ponto e vírgula), garanta uma linha de cabeçalho com nomes únicos e use um conversor que transforme cada linha num objeto, com o cabeçalho virando chave. Deixe os valores como texto, a menos que o destino exija números, e valide o JSON antes de importar.

Quase todo sistema antigo exporta CSV. Quase toda API, site estático ou automação moderna espera JSON. No meio do caminho fica alguém copiando colunas à mão, ou um script escrito às pressas que quebra no primeiro "São Paulo" com acento.

Este guia mostra como converter CSV para JSON sem perder dados: o que acontece com o cabeçalho, quando um número deve continuar texto e quais cuidados evitam a importação que falha às 23h.

Para que você precisa converter CSV para JSON

Os casos mais comuns aparecem em equipes pequenas, sem desenvolvedor dedicado:

  • Site ou catálogo estático: a lista de produtos sai da planilha e alimenta a página em JSON.
  • Importação por API: a plataforma de loja, CRM ou e-mail marketing aceita JSON no corpo da requisição.
  • Automação sem código: ferramentas de integração costumam trabalhar melhor com objetos do que com linhas soltas.
  • Mock de desenvolvimento: o front-end precisa de dados reais para testar telas.
  • Arquivo de configuração: tabela de frete, lista de lojas ou cupons que muda todo mês.

Se o caminho é o inverso, com um JSON que precisa abrir no Excel, veja como converter JSON para CSV.

Como o cabeçalho vira chave

O CSV é uma tabela em texto puro. A primeira linha, em geral, traz os nomes das colunas. Na conversão, cada linha seguinte vira um objeto, e cada célula recebe o nome da coluna correspondente.

Um CSV assim:

“ sku;nome;preco;cep_origem 0012;Caneca azul;39,90;01310 0013;Caneca verde;42,00;01310 “

vira uma lista de objetos, com as chaves sku, nome, preco e cep_origem repetidas em cada item. O arquivo final é um array: colchete no começo, colchete no fim, um objeto por linha.

O formato CSV é descrito na RFC 4180, e o JSON na RFC 8259. Conhecer as duas ajuda a entender por que aspas, quebras de linha dentro de célula e vírgulas no texto precisam de tratamento especial.

Regras para um cabeçalho que funciona

Problema no cabeçalhoEfeito no JSONCorreção
Coluna sem nomeChave vazia ou genéricaDê nome a toda coluna
Dois nomes iguaisUm valor sobrescreve o outroUse nomes únicos (preco_venda, preco_custo)
Espaços e acentosChaves como "Preço de venda "Prefira preco_venda, sem espaço no fim
Linha de título acima do cabeçalhoO título vira o nome das chavesApague linhas acima do cabeçalho
Cabeçalho ausenteCada linha vira lista, sem nomesAcrescente a linha de nomes

Nomes curtos, sem acento e em minúsculas são os mais fáceis de usar em código. Não é obrigatório, mas evita aspas e erros de digitação do outro lado.

Texto ou número: o cuidado que mais quebra integração

No CSV, tudo é texto. No JSON, existe diferença entre "39.90" (texto) e 39.9 (número). O sistema de destino pode exigir um ou outro.

O risco está nos campos que parecem números, mas não são:

  • CEP, CPF e CNPJ com zero à esquerda: 01310 vira 1310 se for tratado como número.
  • Códigos de produto (SKU) como 0012.
  • Chaves longas, como a chave de acesso da NF-e, com 44 dígitos.
  • Telefones com DDD e prefixo.

Em JavaScript, segundo a documentação do MDN, números inteiros só são representados com exatidão até cerca de 9 quatrilhões (16 dígitos). Acima disso, o valor é arredondado sem aviso.

A regra segura

Por padrão, mantenha tudo como texto. Ligue a conversão de tipos só quando o destino pedir números, e use uma conversão conservadora: um valor só vira número se, escrito de novo, ficar idêntico ao original. Assim 42 vira número, mas 01310 continua texto, porque 1310 não é igual a 01310. Na mesma lógica, true e false viram booleanos, e células vazias viram null.

Atenção à vírgula decimal: 39,90, no padrão brasileiro, não é número para o JSON, que usa ponto. Se o destino exigir número, ajuste a coluna para 39.90 na planilha antes de exportar.

Pasta Mágica

Converta seus CSVs em JSON sem script

Delimitador e encoding detectados sozinhos, cabeçalho virando chave e JSON sempre em UTF-8. Funciona com vários arquivos de uma vez.

Converter CSV em JSON →

Encoding e delimitador: os dois erros silenciosos

O Excel em português costuma salvar CSV com ponto e vírgula como separador, porque a vírgula já é o separador decimal. Muitos sistemas estrangeiros esperam vírgula. Se o conversor usar o separador errado, cada linha vira uma única coluna gigante.

O encoding é o segundo problema. Arquivos gerados em Windows antigos usam Windows-1252 (latin1); sistemas web usam UTF-8. Lido do jeito errado, "Ação" aparece como "Ação". O guia sobre CSV com acentos errados explica o fenômeno em detalhe, e o de CSV com ponto e vírgula cobre o separador.

A boa prática é simples: detectar os dois na entrada e gerar o JSON sempre em UTF-8, que é o encoding exigido pela RFC 8259 para troca de JSON entre sistemas.

Passo a passo para converter CSV para JSON

O roteiro abaixo vale para qualquer ferramenta:

  1. Abra o CSV num editor de texto (não no Excel) e veja a primeira linha. Ela é o cabeçalho?
  2. Identifique o separador: vírgula, ponto e vírgula, tabulação ou barra vertical.
  3. Limpe a base: remova linhas vazias, duplicadas e espaços sobrando no começo e no fim das células.
  4. Revise os nomes das colunas: únicos, sem espaço no fim, de preferência sem acento.
  5. Decida sobre os tipos: texto para tudo ou conversão conservadora para números e booleanos.
  6. Converta e abra o JSON resultante para conferir o primeiro e o último objeto.
  7. Valide no destino com poucas linhas antes de importar a base inteira.

Antes e depois numa loja pequena

Pense numa loja que atualiza o catálogo do site toda segunda-feira. Antes, alguém exportava a planilha, abria um conversor online, colava o conteúdo, corrigia os acentos à mão e só então subia o arquivo. Isso levava cerca de 40 minutos, e o erro de "Caneca" virando "Caneca " com espaço quebrava a busca do site.

Depois, o processo virou duas etapas fixas: padronizar o CSV e converter. A pessoa solta o arquivo e baixa o JSON pronto. A revisão passou a ser só conferir o primeiro e o último produto.

Ferramentas para converter: qual escolher

OpçãoBom paraLimitação
Conversor online simplesUm arquivo pequeno, sem dado sensívelCopiar e colar, sem lote, retenção incerta
Planilha com scriptQuem já domina fórmulas e macrosDifícil de manter e de passar para outra pessoa
Script em Python ou NodeDesenvolvedor, integração recorrenteExige ambiente, e encoding costuma dar trabalho
Automação em loteRotina semanal, vários arquivos, equipe sem programadorDepende de conta no serviço

Se o CSV vem de uma planilha de importação de produtos, o guia de planilha de importação de produtos em CSV ajuda a montar as colunas antes da conversão.

Perguntas frequentes

Como o CSV vira JSON?

Cada linha do CSV vira um objeto, e cada coluna vira uma chave desse objeto, com o nome tirado do cabeçalho. O arquivo final é uma lista (array) de objetos, um por linha da planilha.

E se o meu CSV não tiver cabeçalho?

Nesse caso, cada linha vira uma lista simples de valores, sem nomes de chave. Se o sistema de destino espera objetos com nomes, acrescente uma linha de cabeçalho antes de converter.

Os números viram número ou texto no JSON?

Depende da conversão. Por padrão, tudo sai como texto, que é o mais seguro. Com a conversão de tipos ligada, só viram número os valores que voltam idênticos ao serem escritos de novo, para que CEP, CPF e códigos com zero à esquerda continuem texto.

Por que os acentos aparecem quebrados no JSON?

Quase sempre o CSV foi salvo em Windows-1252 (latin1) e foi lido como UTF-8, ou o contrário. O JSON deve sair em UTF-8. Uma ferramenta que detecta o encoding na entrada resolve a maior parte dos casos.

Tem limite de tamanho para converter CSV em JSON?

Na Pasta Mágica, cada CSV pode ter até 100 MB e 500 mil linhas nessa automação. Arquivos maiores podem ser divididos antes, mantendo o cabeçalho em cada parte.

Como automatizar isso com a Pasta Mágica

Na Pasta Mágica, converter CSV para JSON é uma etapa determinística, sem IA: o conteúdo do arquivo é lido por uma biblioteca de CSV tradicional, e o resultado é o mesmo toda vez que você roda.

  1. Crie sua conta em pastamagica.com.br/cadastrar e teste com um CSV real da sua rotina.
  2. No app, monte o fluxo: comece por Padronizar CSV para tirar espaços, linhas vazias e duplicadas, e encadeie CSV para JSON.
  3. Ajuste as opções: separador automático ou fixo, se o arquivo tem cabeçalho, se os tipos devem ser convertidos e se o JSON sai formatado (legível) ou compacto.
  4. Solte os arquivos. Cada um é conferido pelo conteúdo, não pela extensão. Arquivos lidos como latin1 geram um aviso, e o JSON sai sempre em UTF-8. Cada CSV pode ter até 100 MB e 500 mil linhas; acima disso, divida o arquivo antes.
  5. Acompanhe e baixe: um JSON por CSV, com o mesmo nome do arquivo original.

Cada automação mostra o custo em créditos antes de rodar, e se uma etapa falhar a reserva volta sozinha. Os limites de cada plano estão na tabela de preços.

Pasta Mágica

Padronize e converta seus CSVs num fluxo só

Limpe a base, transforme em JSON e baixe pronto para a API ou o site. Monte uma vez e reutilize toda semana.

Criar minha conta grátis →

Assuntos

Leia também em Dados e Planilhas