tooly

Converter JSON para CSV online

Cole um array JSON e obtenha um CSV limpo para Excel, Google Sheets ou importação em banco de dados — campos aninhados achatados, aspas escapadas, sem upload.

Tudo roda no seu navegador — nada é enviado

Como usar

  1. 1

    Cole seu JSON — um array de objetos funciona melhor.

  2. 2

    Escolha o delimitador: vírgula para a maioria das ferramentas, ponto e vírgula para o Excel em locais europeus.

  3. 3

    Copie o CSV ou baixe como arquivo.

Da resposta da API para a planilha

JSON é o formato nativo das APIs web, mas as pessoas que precisam dos dados muitas vezes vivem em planilhas. Casos típicos: uma lista de pedidos puxada da API de uma loja que o contador quer no Excel, registros de usuários exportados de um banco NoSQL para uma tabela dinâmica rápida, eventos de analytics para filtrar no Google Planilhas, ou um lote de registros para importar de uma vez num CRM que só aceita envio de CSV. Um arquivo CSV também é o formato mais fácil de comparar, ordenar e filtrar com grep na linha de comando.

A ferramenta recebe um array de objetos e gera uma linha por objeto e uma coluna por campo, com uma linha de cabeçalho no topo. Um contador abaixo da entrada mostra quantas linhas foram geradas, uma checagem rápida contra o número de registros que você esperava.

Como a tabela é montada

Linhas e colunas vêm dos próprios dados, sem precisar de esquema:

  • As colunas são a união de todas as chaves, na ordem em que aparecem pela primeira vez. Se o primeiro registro tem id e name, e o décimo também tem email, o cabeçalho termina com email e as nove primeiras linhas deixam essa célula vazia.
  • Objetos aninhados são achatados com pontos, então {"customer": {"address": {"city": "Lyon"}}} gera uma coluna customer.address.city. Qualquer profundidade funciona.
  • Um único objeto, em vez de um array, é tratado como uma tabela de uma linha.
  • Valores simples no array, como [1, 2, 3] ou uma lista de strings, vão para uma única coluna chamada value.
  • null vira uma célula vazia, e booleanos são escritos como true e false.

Um objeto aninhado vazio como "meta": {} não tem campos para achatar, então não gera coluna nenhuma.

Arrays dentro dos registros

Planilhas não têm noção de lista dentro de uma célula, então um array como "tags": ["red", "sale"] é escrito como o seu texto JSON, ["red","sale"], numa única célula. Isso mantém os dados sem perdas: você pode analisá-los de volta depois ou dividi-los com uma fórmula da planilha.

Se o que você realmente precisa é de uma linha por elemento do array, por exemplo uma linha por item do pedido em vez de uma por pedido, reorganize os dados antes. Na maioria das linguagens de script isso é um map de uma linha sobre os registros pai, copiando o ID do pai para cada filho. Passar o array reorganizado para o conversor então gera um resultado limpo e totalmente tabular.

Aspas e delimitadores

Uma célula só é colocada entre aspas duplas quando precisa: quando contém o delimitador, uma aspa dupla ou uma quebra de linha. Aspas dentro de um valor são duplicadas, como exige a RFC 4180, então 6" pipe é escrito como "6"" pipe". Todos os outros valores são escritos sem aspas, o que mantém o arquivo pequeno e legível.

O delimitador importa mais quando o arquivo é aberto com um clique duplo no Excel:

  • Vírgula é o padrão para Google Planilhas, LibreOffice, bancos de dados, o módulo csv do Python e quase toda ferramenta de importação.
  • Ponto e vírgula é o que o Excel espera quando o Windows está configurado numa localidade que usa vírgula como separador decimal, o que abrange a maior parte da Europa continental e da América Latina. Com um arquivo separado por vírgulas nessas localidades, cada linha cai inteira na coluna A.

Na dúvida, use a vírgula e abra o arquivo pela importação Dados, De Texto/CSV do Excel, que permite escolher o separador explicitamente.

Levando para o Excel sem problemas

Alguns problemas acontecem depois da conversão, dentro da planilha, e são fáceis de evitar:

  • Letras acentuadas viram símbolos. O arquivo é UTF-8 sem marca de ordem de bytes (BOM), e algumas versões do Excel supõem uma codificação antiga ao abri-lo com clique duplo. Use a importação De Texto/CSV e escolha UTF-8, ou abra o arquivo no Google Planilhas.
  • Zeros à esquerda e IDs longos são deturpados. O Excel converte 00042 em 42 e transforma números de 16 dígitos ou mais em notação científica. Na janela de importação, defina essas colunas como Texto.
  • Datas mudam de formato. Strings ISO como 2026-03-01T10:00:00Z podem ser interpretadas em parte. Importe a coluna como Texto se precisar do valor original.

Observe que números acima de 9.007.199.254.740.991 já perdem precisão quando o JSON é analisado no navegador, então guarde IDs muito grandes como strings no JSON de origem se eles precisarem sobreviver exatamente.

Conferindo a entrada antes

Se o conversor acusar JSON inválido, cole os dados no formatador de JSON, que mostra a linha e a coluna exatas do problema. Dados de um arquivo de log muitas vezes estão no formato JSON Lines, um objeto por linha, sem colchetes em volta; envolva-os com [ e ] e acrescente vírgulas entre as linhas para formar um array válido. A conversão inversa está disponível no CSV para JSON. Todo o processamento acontece na página, então nada do que você cola é enviado a lugar nenhum.

Perguntas frequentes

Como objetos aninhados são tratados?

Eles são achatados em nomes de coluna com ponto, como user.address.city. Arrays ficam como strings JSON em uma única célula.

E se os objetos tiverem chaves diferentes?

O cabeçalho é a união de todas as chaves; valores ausentes ficam vazios.

Por que o Excel coloca tudo em uma coluna só?

O Excel em vários locais europeus espera ponto e vírgula. Escolha o delimitador ; e baixe novamente.

Meus dados são enviados a um servidor?

Não. A conversão acontece no seu navegador.

Existe limite de tamanho?

Arquivos de alguns megabytes convertem na hora; arquivos muito grandes são limitados apenas pela memória do seu navegador.

Ferramentas relacionadas