Início · Ferramentas grátis · JSON para CSV
Converter JSON para CSV
Cole o JSON, ou solte um arquivo .json, e receba uma tabela — para baixar em CSV ou em .xlsx.
A conversão aguenta o formato em que exportações reais chegam: registros dentro de uma chave
data ou pedidos, objetos aninhados, registros que não têm todos os mesmos
campos e NDJSON, um JSON por linha. O arquivo é lido nesta aba e não é enviado.
Ou solte um arquivo .json
Solte um .json ou .ndjson aqui e o conteúdo aparece na caixa abaixo
JSON cole aqui, ou edite o que o arquivo carregou
Você faz isso todo mês? Faça uma vez no TableDI 2, salve como trabalho e rode de novo no mês seguinte. Baixar o TableDI 2 grátis
O arquivo não é enviado. Ele é lido pelo JavaScript desta aba e nunca sai do seu computador — nenhum servidor o vê, e fechar a aba descarta os dados.
Como converter JSON para CSV
- Colar ou soltar o JSON. Uma resposta colada, um arquivo .json ou NDJSON com um objeto por linha. Nada é enviado.
- Conferir qual array foi lido. Numa resposta embrulhada, a chave usada aparece acima da tabela — data, results, pedidos, o nome que a sua API usar.
- Ler as colunas. Valores aninhados viram colunas com ponto, como cliente.nome; uma lista de textos vira uma célula separada por ponto e vírgula.
- Baixar. CSV para um script ou uma importação no banco; .xlsx se o próximo passo for o Excel.
Três motivos para um JSON não virar tabela
Um CSV é um retângulo: colunas fixas, uma linha por registro. Um JSON é uma árvore. Quase toda conversão que dá errado esbarra numa destas três coisas, e as três são decididas antes de escrever a primeira linha.
- Os registros não estão no primeiro nível. Uma API devolve
{"data": [ … ]}ou{"pedidos": [ … ]}. Converter o envelope dá uma linha larguíssima em vez de várias. Aqui o primeiro array de objetos entre as chaves do topo é usado, e o nome dele aparece acima da tabela para você conferir. - Os valores são aninhados.
{"cliente": {"nome": "Ana", "uf": "MG"}}vira duas colunas,cliente.nomeecliente.uf— e não uma célula escrita[object Object]. Listas de objetos ganham o índice no nome (itens.0.sku,itens.1.sku). - Os registros não concordam nos campos. O terceiro tem uma chave que os dois primeiros não têm. As colunas são a união de todas as chaves, na ordem em que aparecem, e o que falta fica vazio — nada escorrega para a coluna errada.
Vai abrir no Excel? Baixe o .xlsx, não o CSV
Este é o ponto que muda no Brasil. O CSV gerado aqui segue o formato internacional: separado por
vírgula, com ponto decimal (860.5) e codificado em UTF-8. O Excel configurado em
português espera ponto e vírgula e vírgula decimal. Com dois cliques, o arquivo abre com tudo
espremido na coluna A, e os acentos podem aparecer quebrados.
Esta página não gera CSV com ponto e vírgula. Se o destino é o Excel, use o botão Baixar .xlsx: os números entram como números e o Excel os mostra com a vírgula do seu sistema, sem conversão nenhuma no caminho. O CSV continua sendo o formato certo para um script, uma importação no banco de dados ou outra ferramenta — e, se precisar dele no Excel mesmo assim, importe por Dados › De Texto/CSV escolhendo a vírgula como delimitador.
NDJSON também
Logs, exportações do BigQuery e muitos webhooks gravam um JSON completo por linha, sem colchetes em volta. Como documento único isso não é JSON válido; quando a colagem não abre de uma vez, cada linha é lida separadamente antes de qualquer erro ser relatado, e a tabela avisa que leu NDJSON.
Quando o JSON está quebrado
O erro diz o que o interpretador disse e onde: uma vírgula sobrando no fim da lista, aspas simples, uma quebra de linha dentro de um texto. Esses quatro casos respondem por quase todo «JSON inválido».
Quando o mesmo endpoint vira rotina
Converter na aba resolve as primeiras vezes. Quando a mesma exportação precisa cair na mesma planilha toda semana, e alguém precisa perceber o dia em que um campo some, já não é conversão. O TableDI 2 é um aplicativo de desktop para o trabalho com arquivos que se repete a cada período: ele guarda suas fontes, suas regras e a entrega como um trabalho, e no mês seguinte você coloca os arquivos novos e roda de novo. Tudo roda na sua própria máquina.
Perguntas frequentes
Meu JSON é um objeto, não uma lista. Converte assim mesmo?
Sim. Uma resposta de API costuma ser {"data": [ … ]} — os registros estão um nível
abaixo. A página procura entre as chaves do topo o primeiro array cujos itens são objetos, usa esse, e
mostra acima da tabela qual chave leu. Sem array nenhum, o objeto vira um registro só.
O CSV abriu no Excel com tudo numa coluna só. O que houve?
O CSV daqui é separado por vírgula, e o Excel em português espera ponto e vírgula. A página não oferece a saída com ponto e vírgula; para o Excel, baixe o .xlsx, que abre certo em qualquer configuração regional.
Como ficam os objetos aninhados?
Viram colunas com ponto: {"cliente":{"id":7,"nome":"Ana"}} dá
cliente.id e cliente.nome, sem limite de profundidade.
E os arrays dentro de um registro?
Uma lista de valores simples, como ["atacado","sp"], vira uma célula
atacado; sp. Uma lista de objetos é expandida com o índice no nome da coluna, então
itens.0.sku e itens.1.sku ficam em células separadas.
O meu JSON é enviado para algum servidor?
Não. O texto é interpretado pelo JavaScript desta aba e nenhuma requisição leva o conteúdo. Fechou a aba, sumiu.
Relacionado
Você faz isso todo mês?
No TableDI 2 você faz uma vez e salva como um trabalho. No mês seguinte, coloca os arquivos novos e roda de novo.
macOS, Apple Silicon e Intel; a versão para Windows está a caminho (o que fazer até lá). Grátis não é teste — sem conta, sem cartão.
Revisado em 2026-09-11 pela equipe do TableDI. Algo errado nesta página? Escreva para nós — é uma caixa de entrada só, lida por quem constrói o TableDI.