Como Converter JSON em CSV para Excel e Planilhas Google
Por que JSON e CSV foram criados para finalidades diferentes
JSON e CSV foram criados para mundos totalmente diferentes. O JSON (JavaScript Object Notation) representa dados estruturados e hierárquicos. Ele lida com objetos aninhados, arrays de arrays e tipos de dados mistos com facilidade, e é por isso que ele é o padrão para APIs e arquivos de configuração de aplicativos. O CSV (Comma-Separated Values) é o oposto: uma tabela simples e plana. Cada linha deve ter o mesmo número de colunas. Sem aninhamento. Essa diferença fundamental significa que você não pode simplesmente renomear um arquivo .json para .csv e esperar que funcione. Quando você extrai dados de uma API REST, como uma lista de 500 registros de clientes de um CRM, você quase sempre os receberá em JSON. Um único registro de cliente pode ser assim: {"id": 1042, "name": "Sara Okonkwo", "email": "sara@example.com", "orders": [{"id": 88, "total": 49.99}]} O Excel e o Planilhas Google não conseguem analisar esse arquivo e transformá-lo em uma tabela organizada. Eles precisam de linhas planas. Converter JSON para CSV é a ponte que permite que analistas, profissionais de marketing e equipes de operações coloquem dados de API nas ferramentas de planilha que usam todos os dias. A conversão é fácil se o seu JSON for uma lista simples de objetos. Fica muito mais difícil quando há aninhamento, e é aí que a maioria das pessoas trava.
O que acontece com o JSON aninhado durante a conversão
Esta é a parte que a maioria dos tutoriais pula, e isso causa dores de cabeça reais. Quando seu JSON contém objetos ou arrays aninhados, qualquer ferramenta de conversão — incluindo o CocoConvert — deve decidir como achatá-lo. Existem algumas maneiras de fazer isso. Uma estratégia é achatar chaves aninhadas usando a notação de ponto. Um campo como `address.city` se torna um cabeçalho de coluna, e o valor cai direto nessa célula. Esta é uma ótima solução para aninhamento simples de um nível. Outra abordagem é transformar o valor aninhado em uma string ("stringify"), onde o objeto ou array inteiro é espremido em uma única célula como uma string JSON. Isso preserva todos os dados, mas é basicamente ilegível em uma planilha sem trabalho adicional. Uma terceira estratégia, e muitas vezes a mais útil, é expandir arrays em várias linhas. Se um cliente tiver três pedidos, o conversor cria três linhas separadas para aquele cliente, duplicando os campos do item pai para cada pedido. Isso torna os dados imediatamente utilizáveis em uma planilha, mas também pode deixar seu arquivo enorme. O CocoConvert, por padrão, achata objetos aninhados com notação de ponto e transforma arrays aninhados em strings. Então, se o seu JSON tiver um objeto de dois níveis como {"shipping": {"method": "express", "days": 2}}, você obterá colunas para `shipping.method` e `shipping.days`. Mas se tiver um array, todo o array acaba como uma string em uma única célula. Para dados profundamente aninhados — três ou mais níveis, ou arrays de objetos — você quase certamente precisará pré-processar o JSON com um script para obter um CSV limpo. Nenhum conversor online consegue lidar magicamente com todos os padrões de aninhamento. Você definitivamente deve testar com uma amostra pequena antes de jogar milhares de registros nele.
Convertendo JSON para CSV com o CocoConvert
Quando você tem um JSON simples — um array plano de objetos ou aninhamento simples de um nível — usar o CocoConvert é rápido и não requer nenhuma configuração. O processo é simples. Primeiro, acesse /convert/json-to-csv. Você verá a caixa de upload e as opções de saída. Faça o upload do seu arquivo .json. O plano gratuito do CocoConvert lida com arquivos de até 50 MB. Se o seu arquivo for maior, você terá que dividi-lo. Um comando rápido de uma linha em Python como `json.dump(data[:5000], open('chunk1.json','w'))` é perfeito para isso. Em seguida, escolha seu delimitador. A vírgula é o padrão, mas se você estiver em uma região onde o Excel espera um ponto e vírgula (estou falando de vocês, Alemanha e França), você precisa alterar isso antes de baixar. Essa pequena configuração pega muita gente. Sempre mantenha a opção "incluir uma linha de cabeçalho" ativada. As planilhas precisam dessa primeira linha para os nomes das colunas. Depois disso, basta clicar em "Converter". Um arquivo de 10.000 linhas geralmente leva menos de 10 segundos. Então você pode baixar seu novo e reluzente arquivo .csv. Aqui vai uma dica de profissional: se as chaves do seu JSON tiverem espaços ou caracteres especiais, como "first name" ou "unit$price", elas se tornarão os cabeçalhos das suas colunas exatamente como estão. O Excel consegue lidar com isso, mas escrever fórmulas fica irritante porque você tem que usar as letras das colunas em vez de referências estruturadas. É muito mais limpo renomear as chaves no seu JSON antes de converter, ou apenas corrigir os nomes das colunas no Excel logo após a importação. Isso vai te poupar dores de cabeça mais tarde.
Abrindo o CSV corretamente no Excel
Baixar um CSV é apenas metade do trabalho. A forma como você o abre no Excel faz toda a diferença entre uma tabela organizada e uma bagunça inútil de dados em uma única coluna. Faça o que fizer, não dê um duplo-clique no arquivo. O único método confiável é usar o assistente de importação. No Excel 365 e Excel 2019, você o encontra em Dados → Obter Dados → De Texto/CSV. Selecione seu arquivo e o Excel mostrará uma pré-visualização. Esta é a sua chance de confirmar o delimitador. Se não corresponder ao que você escolheu durante a conversão, todos os seus dados ficarão espremidos na coluna A. Qualquer um que já tenha batalhado com uma importação de CSV conhece bem essa dor. Cuidado com os formatos de data. Se o seu JSON usou strings no formato ISO 8601 (como `2025-11-03T14:22:00Z`), o Excel muitas vezes as importa como texto simples. Você pode consertar isso. Selecione a coluna, vá para Dados → Texto para Colunas, escolha Delimitado, clique em Avançar duas vezes e, em seguida, defina o formato de dados da coluna para Data (AMD). Isso converte o texto em valores de data reais que você pode classificar e filtrar corretamente. Para arquivos grandes, digamos 200.000 linhas, o Excel vai importar, mas vai ficar muito lento. Tabelas dinâmicas e PROCVs ficarão terrivelmente lentos. Use o Power Query em vez disso (Dados → Obter e Transformar Dados → De CSV). Ele é muito melhor para lidar com grandes conjuntos de dados sem tornar o Excel inutilizável. E fique ciente do limite rígido do Excel: 1.048.576 linhas. Se o seu JSON produzir um CSV com mais linhas que isso, o Excel descartará silenciosamente tudo o que passar do limite. Se você está se aproximando desse número, divida seu arquivo de origem antes mesmo de iniciar a conversão.
Importando o CSV para o Planilhas Google
O Planilhas Google geralmente é melhor para lidar com importações de CSV do que o Excel, mas algumas configurações são cruciais. O processo é direto: abra uma planilha, vá para Arquivo → Importar e faça o upload do seu CSV. Na caixa de diálogo que aparece, você tem algumas opções. Sempre defina o "Local da importação" para uma nova planilha para evitar sobrescrever dados existentes. Defina o "Tipo de separador" para Vírgula (ou Personalizado para um ponto e vírgula). Aqui está a configuração mais importante: "Converter texto em números, datas e fórmulas". Se seus dados tiverem códigos de produto que parecem números (ex: `00847`), você deve desmarcar esta caixa para manter os zeros à esquerda. Caso contrário, o Planilhas Google irá "corrigir" seus dados de forma prestativa, transformando-os no número 847. Se você deixar a conversão automática ativada, o Planilhas faz um bom trabalho ao analisar datas ISO para seu formato nativo. Ele também converte strings numéricas em números, o que geralmente é bom, mas pode ser um problema para esses identificadores especiais. Se você faz isso com frequência, como extrair uma nova exportação JSON toda segunda-feira, não faça isso manualmente. Considere usar a função `IMPORTDATA` do Planilhas Google ou um Google Apps Script. O `IMPORTDATA` é limitado a URLs públicas, o que o torna inviável para dados privados. O Apps Script é muito mais poderoso; ele pode buscar dados de um endpoint JSON protegido e escrevê-los diretamente em uma planilha, pulando completamente a etapa do CSV. Mas para trabalhos pontuais ou para equipes sem um desenvolvedor à disposição, uma importação manual usando um arquivo do CocoConvert em /convert/json-to-csv é a maneira mais rápida de fazer o trabalho. Leva dois minutos e zero código. O Planilhas Google tem seus próprios limites: 100 MB por arquivo e 10 milhões de células por planilha. Um CSV com 50.000 linhas e 20 colunas tem apenas 1 milhão de células, então você tem bastante espaço para trabalhar.
Lidando com erros comuns de conversão
Você vai encontrar alguns problemas comuns ao converter JSON para CSV. Aqui está o que observar. Chaves inconsistentes entre objetos. O JSON é flexível. Um objeto em um array pode ter um campo `phone` enquanto o próximo não tem. Conversores como o CocoConvert lidam com isso criando uma coluna para cada chave única encontrada em todo o conjunto de dados. Onde uma chave está faltando para um registro, a célula é simplesmente deixada em branco. Esta é a maneira correta de fazer isso, mas esteja avisado: um arquivo de origem bagunçado com 30 estruturas de objeto ligeiramente diferentes pode resultar em um CSV com 80 colunas, a maioria delas vazias. Limpe o esquema do seu JSON antes de converter. Unicode e caracteres especiais. Arquivos JSON são quase sempre UTF-8. Se seus dados incluem caracteres não latinos (como árabe, chinês ou letras acentuadas), você deve dizer ao Excel para esperá-los. Ao importar via Dados → Obter Dados → De Texto/CSV, procure a configuração "Origem do Arquivo" na caixa de diálogo de pré-visualização e altere-a para `65001: Unicode (UTF-8)`. Se você esquecer isso, todos os seus caracteres especiais se transformarão em lixo ilegível (mojibake). Números muito grandes. Este é sutil, mas destrutivo. O JSON pode lidar com números enormes com precisão perfeita. Mas as planilhas não conseguem. Tanto o Excel quanto o Planilhas Google usam matemática de ponto flutuante de 64 bits, o que significa que eles começam a arredondar números inteiros grandes após 9.007.199.254.740.992 (ou 2^53). Se o seu JSON contiver um número maior, como 9007199254740993, ele será arredondado silenciosamente na importação. Se você está lidando com IDs inteiros grandes de um banco de dados, sua única aposta segura é armazená-los como strings no JSON *antes* de converter. Arrays vazios e valores nulos. Um valor `null` no JSON se torna corretamente uma célula vazia em um CSV. Um array vazio `[]` é tratado de forma diferente por várias ferramentas. O CocoConvert o transforma em uma string vazia, que é a melhor escolha para planilhas e evita confusão.
Quando um conversor não é a ferramenta certa
Conversores online são perfeitos para tarefas pontuais e verificações rápidas, especialmente quando seu JSON já é plano. Mas eles не são a ferramenta certa para todo trabalho. Se a sua conversão faz parte de um pipeline automatizado — um trabalho de ETL noturno, processamento de dados em CI/CD, ou qualquer coisa que precise rodar sem você — você deve usar uma solução com script. Uma ferramenta online simplesmente não é confiável o suficiente para automação. A biblioteca pandas do Python é o padrão da indústria aqui; você pode ler JSON com `pd.read_json()`, achatá-lo com `pd.json_normalize()` e escrever para CSV com `.to_csv()` em apenas algumas linhas. Para os magos da linha de comando, o `jq` é uma alternativa incrivelmente poderosa em ambientes Unix: `jq -r '(.[0] | keys_unsorted) as $keys | $keys, (.[] | [.[$keys[]]] | @csv)' input.json > output.csv` dará conta do recado para arrays planos. Quando seu JSON é profundamente aninhado (três ou mais níveis de profundidade, ou contém arrays de objetos), nenhum conversor online lhe dará um CSV limpo de primeira. O problema é estrutural; você precisa escrever um script personalizado que entenda seu esquema específico para achatá-lo corretamente. Outro formato que vale a pena conhecer é o JSON Lines (.jsonl), onde cada linha é um objeto JSON separado. O CocoConvert lida com esses arquivos perfeitamente, então você pode fazer o upload deles como estão. Apenas certifique-se de que seu arquivo não misture JSON regular e JSON Lines, ou você precisará limpá-lo primeiro. Para todo o resto? Uma exportação JSON de uma plataforma SaaS, uma resposta de API que você precisa em uma planilha, um arquivo de configuração que você quer revisar como uma tabela — vá direto para /convert/json-to-csv. Envie seu arquivo e você terá um CSV limpo em menos de um minuto.