KeroTools

Converter JSON para CSV ou Planilha

Transforme um array JSON em um arquivo CSV que você pode abrir no Excel ou Sheets.

Solte seu arquivo aqui ou clique

Arquivos JSON (.json)

Seus dados não saem do aparelho

Nada para apagar depois

Seguro para respostas de API cruas

Funciona em todo navegador moderno

Como funciona

  1. 1

    Cole ou solte seu JSON

    Um array de objetos funciona direto; cole o texto ou solte um arquivo .json na página.

  2. 2

    Confira a linha de cabeçalho

    Verifique se as colunas batem com o esperado antes de levar o arquivo para uma planilha.

  3. 3

    Baixe o CSV

    Abra no Excel, no Planilhas Google ou no Numbers, ou entregue a um sistema que importa CSV.

Por que usar esta ferramenta

O aninhamento é achatado

Objetos dentro de objetos viram nomes de coluna com ponto em vez de sumir ou serem despejados como texto cru numa célula.

Um cabeçalho para dados irregulares

Registros que não compartilham as mesmas chaves ainda assim se alinham, porque o cabeçalho é a união de todas as chaves vistas.

Abre limpo no Excel

As aspas e o escape seguem as regras que as planilhas realmente aplicam, então as colunas caem onde devem.

Nada é enviado

A leitura acontece no seu navegador — uma resposta de API cheia de registros de clientes nunca chega a um servidor.

Sem limite de registros

O único teto é a memória do seu aparelho, não um limite de linhas de plano gratuito.

Grátis e sem conta

Sem cadastro, sem marca d’água e sem limite de arquivos convertidos.

Uma árvore precisa virar retângulo, e você escolhe onde cortar

É aqui que mora toda a dificuldade deste sentido. JSON é uma árvore: objetos dentro de objetos e arrays dentro deles. CSV é um retângulo: um conjunto fixo de colunas, um registro por linha, nenhum aninhamento disponível. Então um conversor não pode simplesmente traduzir — ele precisa achatar, e achatar significa decidir o que conta como uma linha. Num array simples de objetos planos a resposta é óbvia: um objeto por linha. Em qualquer coisa mais profunda é uma escolha de verdade. Um pedido com uma lista de itens pode virar uma linha por pedido com os itens espremidos numa célula só, ou uma linha por item com os dados do pedido repetidos em cada linha. Nenhuma das duas está errada; elas respondem perguntas diferentes. Saiba qual o seu destino espera antes de converter, porque a escolha errada produz um arquivo que parece certo e conta tudo duas vezes.

Registros JSON não precisam concordar, e o CSV exige que concordem

Um array de objetos JSON pode ser irregular. O primeiro registro tem sete chaves, o quarto tem nove e no nono falta uma que todos os outros carregam — isso é JSON perfeitamente válido, e respostas de API produzem isso o tempo todo, porque campos opcionais são simplesmente omitidos em vez de virarem null. Um CSV tem uma única linha de cabeçalho governando cada linha abaixo, então o conjunto de colunas tem que ser a união de todas as chaves que apareçam em qualquer lugar, e registros sem uma delas ficam com célula vazia. É a única resposta viável, mas ela esconde uma coisa: uma célula vazia não diz se a chave estava ausente, presente como null ou presente como string vazia. As três desabam em nada. Se essa distinção importa para o que vai ler o arquivo depois, ela precisa ser preservada no JSON antes da conversão, porque o CSV não tem como carregá-la.

Os tipos se perdem na saída, e isso geralmente não é problema

Entrando no JSON, a pergunta difícil é quais strings deveriam virar números. Saindo, a pergunta some — o CSV não tem tipos, então `42`, `true` e `null` viram caracteres comuns e o significado fica por conta de quem ler o arquivo. Na maior parte das vezes é inofensivo, porque quem lê é uma planilha e uma pessoa. Fica visível em dois pontos. Campos booleanos chegam como o texto literal `true` e `false`, que ordena e filtra diferente de uma caixa de seleção e pode precisar de conversão se um colega for trabalhar com eles. E null vira célula vazia, que — como acima — não se distingue de um campo ausente. Nenhum dos dois é defeito da conversão; os dois valem saber antes que alguém monte uma fórmula em cima do resultado.

Por que um campo de texto pode virar fórmula

Esta é a única questão de segurança de fato neste sentido, e ela existe porque strings JSON com frequência carregam texto que pessoas digitaram. Quando uma planilha abre um CSV, ela trata qualquer célula que comece com `=`, `+`, `-` ou `@` como fórmula, não como texto. Uma descrição de produto começando com sinal de menos, um campo de observações que abre com `@nome`, uma linha de endereço iniciada por um mais — cada uma vira algo que a planilha tenta avaliar, e no melhor caso você encontra um erro na célula no lugar do seu dado. No pior, um valor montado de propósito vira uma fórmula executável na pasta de trabalho de outra pessoa, e por isso o assunto é registrado como injeção em CSV e não como uma esquisitice de formatação. Se o JSON veio de um formulário preenchido por usuários reais, percorra essas colunas depois de abrir em vez de supor que o texto chegou como texto.

O destino é uma pessoa, e é esse o ponto

Esta conversão anda num sentido específico por um motivo específico. JSON vai para programas; CSV vai para pessoas e para os sistemas que elas já usam. Uma resposta de API vira uma planilha que um colega consegue ordenar e filtrar. Uma exportação de ferramenta vira um arquivo sobre o qual o financeiro monta uma tabela dinâmica. Uma lista de registros vira algo que você entrega a quem nunca vai abrir um editor de código. É por isso que o alvo é CSV em vez de deixar os dados como estão, e é por isso que a linha de cabeçalho importa mais que o tamanho em bytes — o que está em jogo é a legibilidade. Se o público é um programa e não uma pessoa, você provavelmente quer o sentido inverso, ou nenhuma conversão. E se o arquivo vai direto para o Excel e fica lá, ir para uma pasta de trabalho de verdade pula de vez as questões de codificação e separador.

Por que converter localmente importa neste tipo de arquivo

O JSON que as pessoas convertem para CSV quase sempre é algo que um sistema produziu: uma resposta de API, uma exportação de banco, um payload de webhook, um relatório de ferramenta interna. Esses payloads carregam mais do que os campos que você estava olhando. Identificadores internos, endereços de e-mail, marcações de tempo e às vezes um token de acesso ou um identificador de sessão moram em chaves até onde você nunca rolou, porque você veio só por três colunas. Um conversor hospedado recebe tudo isso. Esta ferramenta roda inteiramente no seu navegador: o texto é lido na página e o CSV é gravado de volta sem uma única requisição de rede carregando os dados, o que você confere na aba Rede das ferramentas de desenvolvedor. Quando a entrada é uma resposta de API crua, essa diferença vale bem mais que os dois minutos economizados.

Erros comuns que vale evitar

  • Converter sem decidir o que é uma linha. Um pedido com itens pode virar uma linha por pedido ou uma por item — escolha de propósito, porque a opção errada produz um arquivo que parece certo e dobra os totais.
  • Confiar que uma célula vazia significa algo específico. Um branco pode ser chave ausente, null ou string vazia; se a distinção importa, preserve no JSON antes de converter, porque o CSV não consegue carregar isso.
  • Abrir o resultado sem conferir as células que começam com `=`, `+`, `-` ou `@`. Planilhas tratam isso como fórmula, então texto digitado por usuário pode chegar como erro ou, pior, como algo executável.
  • Supor que todo registro tem as mesmas chaves. Respostas de API omitem campos opcionais em vez de anulá-los, então o cabeçalho tem que ser a união de todas as chaves — confira se a contagem de colunas é a esperada.
  • Colar uma resposta de API crua num conversor online. Esses payloads costumam carregar identificadores, e-mails e às vezes tokens em campos até onde você nunca rolou; converta localmente.

Comparação

ItemEsta ferramentaConversores onlineUm script próprio
Dados enviados a um servidorNuncaGeralmente simNão
Precisa de configuraçãoNenhumaNenhumaRuntime e dependências
Aninhamento achatadoSim, colunas com pontoVariaO que você programar
Limite de registrosSó a memória do aparelhoFrequentemente háNenhum
Conta ou cadastroNão precisaFrequentemente exigidoNão precisa
PreçoGrátisGrátis / planos pagosSeu tempo

Recursos

Colunas com ponto para o aninhamento

Um objeto `address` aninhado vira `address.city` e `address.postcode` em vez de um bloco de texto.

Cabeçalho de união

Cada chave encontrada no conjunto aparece uma vez, então um campo ausente em algumas linhas ainda ganha coluna.

Aspas conforme o padrão

Valores com vírgulas, aspas ou quebras de linha são citados e escapados para a estrutura da linha sobreviver.

Saída em UTF-8

Acentos, cedilha, texto árabe, turco e outros caracteres fora do ASCII são gravados sem alteração.

Aguenta arrays grandes

Dezenas de milhares de registros convertem sem fila de upload.

Nada para instalar

Sem download, sem runtime, sem dependências — funciona na própria página web.

Compatível com árabe e RTL

Interface completa em oito idiomas, incluindo árabe da direita para a esquerda.

Seguro por padrão

Servido por HTTPS, sem rastreio de arquivos e sem envio a terceiros.

Funciona offline depois de carregado

A página continua funcionando após a aba carregar, porque a conversão é local.

Quem usa

Desenvolvedores

Transformar uma resposta de API numa planilha que um colega não técnico consiga de fato ler.

Analistas de dados

Levar uma exportação JSON a um formato que aceite tabela dinâmica e filtro sem escrever um parser antes.

Times de suporte

Converter um payload exportado de chamados ou logs em algo ordenável numa planilha.

Pessoal de operações

Entregar uma exportação de sistema ao financeiro ou à diretoria no formato que eles já usam todo dia.

Perguntas Frequentes

Não. A conversão roda inteiramente no seu navegador — seus dados nunca são enviados, armazenados ou compartilhados.

Sim. Cada linha e coluna é convertida fielmente; a estrutura é preservada.

Sim — totalmente grátis, sem conta, sem marca d’água e sem limite de arquivos.