Conversor de JSON para CSV
Cole seu JSON e converta instantaneamente para o formato CSV. Trata objetos aninhados, arrays e grandes volumes de dados. 100% local, seus dados nunca saem do navegador.
Como Converter JSON em CSV Online
JSON é o que praticamente toda API retorna hoje em dia, e faz sentido para código: objetos guardam outros objetos, arrays guardam mais objetos, e um programa navega por essa estrutura sem grande esforço. Uma planilha não funciona assim. Excel, Google Sheets e qualquer tela de importação de CSV esperam uma grade plana de linhas e colunas, então no momento em que alguém precisa entregar dados em JSON para um analista, um gestor de marketing ou um cliente que vive dentro do Excel, alguém precisa remodelar esses dados. É exatamente isso que essa ferramenta faz, inteiramente no seu navegador, no tempo que leva para colar o texto e clicar em um botão.
O formato da entrada importa menos do que se imagina. Você pode colar um único objeto JSON, como a resposta de uma chamada de API, ou um array de objetos, como uma lista de linhas de banco de dados exportadas em JSON. Em ambos os casos o conversor normaliza o que foi colado em um conjunto de registros, descobre todos os cabeçalhos de coluna que esses registros exigem entre si e escreve um CSV correto, com uma linha de cabeçalho seguida de uma linha por registro.
Passo a Passo da Conversão
- Cole seu JSON. Solte um único objeto ou um array de objetos na caixa "Entrada de JSON". Pode vir de uma resposta de API, de uma exportação de banco de dados, de um arquivo de configuração ou de qualquer outro lugar onde JSON apareça.
- Escolha um delimitador. Vírgula é o padrão e a escolha certa para a maioria das planilhas em inglês, mas o menu também oferece Tabulação, Ponto e vírgula e Pipe para os casos descritos mais adiante.
- Decida se quer achatar objetos aninhados. Deixe "Achatar objetos aninhados" marcado se o seu JSON tiver alguma hierarquia que você queira expandida em colunas separadas, como um objeto de endereço ou um bloco de metadados.
- Clique em "Converter para CSV". A ferramenta lê seu JSON, achata a estrutura se solicitado, reúne todos os nomes de coluna únicos entre os registros e escreve o resultado na caixa Saída CSV em uma fração de segundo.
- Copie ou baixe o resultado. Use o botão Copiar para pegar o texto CSV bruto, ou "Baixar .csv" para salvar como um arquivo que abre direto no Excel, Google Sheets ou LibreOffice Calc.
Nada disso passa por um servidor. A leitura do JSON, o achatamento e a formatação do CSV rodam como JavaScript no seu próprio dispositivo, então a conversão funciona da mesma forma tanto para um array com três registros quanto para um com trinta mil, e nada do que você cola é transmitido para processamento em outro lugar.
Achatando JSON Aninhado: Notação de Ponto e Arrays Explicados
Uma planilha é fundamentalmente bidimensional: linhas e colunas, nada aninhado dentro de uma célula. JSON não tem essa restrição, um objeto pode conter outro objeto, que pode conter um array, que pode conter mais objetos, com quantos níveis de profundidade os dados precisarem. Converter entre os dois formatos significa tomar uma decisão sobre cada estrutura aninhada dos seus dados, e essa ferramenta toma essa decisão seguindo um conjunto pequeno e previsível de regras.
Objetos aninhados são achatados com notação de ponto. Dado {"usuario": {"perfil": {"nome": "Ana", "verificado": true}}}, a ferramenta desce em usuario, depois em perfil, e produz duas colunas chamadas usuario.perfil.nome e usuario.perfil.verificado. Ela percorre quantos níveis de aninhamento existirem, então uma resposta de API bem estruturada, com quatro ou cinco camadas de profundidade, ainda vira uma linha plana de colunas em vez de um bloco ilegível de texto JSON espremido em uma única célula.
Arrays se dividem em dois casos bem diferentes dependendo do que contêm. Um array de valores simples, como "etiquetas": ["admin", "financeiro"], é unido em uma única célula como admin;financeiro em vez de espalhado por várias colunas, já que não existe um nome de coluna natural para "a terceira etiqueta" e a maioria das listas de etiquetas não precisa ser pesquisada ou ordenada coluna por coluna. Já um array de objetos, como uma lista de itens de um pedido, é expandido com notação de índice: itens[0].sku, itens[0].preco, itens[1].sku, itens[1].preco, e assim por diante, para que nenhum dado de nenhum item do array seja descartado silenciosamente ou misturado em uma string ilegível.
Dados mistos são tratados da mesma forma, independentemente de quão inconsistentes pareçam. Antes de escrever qualquer linha, a ferramenta examina todos os objetos da entrada e constrói o conjunto completo de nomes de coluna do conjunto de dados inteiro, não apenas as chaves encontradas no primeiro registro. Se o registro cinco tiver um campo que os registros um a quatro não têm, esse campo ainda ganha sua própria coluna, e toda linha que não tiver um valor para ele simplesmente recebe uma célula vazia, sem desalinhar o resto da tabela.
Escolhendo um Delimitador: Vírgula, Ponto e Vírgula, Tabulação ou Pipe
"CSV" significa valores separados por vírgula, mas a vírgula é só o padrão inicial, e escolher o delimitador errado é um dos motivos mais comuns de um arquivo convertido parecer quebrado assim que alguém abre. Essa ferramenta oferece quatro opções de delimitador, e cada uma resolve um problema real e específico, não existe apenas para dar a sensação de mais opções.
| Delimitador | Melhor para | Por quê |
|---|---|---|
| Vírgula (,) | Excel e Google Sheets em inglês, a maioria das APIs | O padrão universal de CSV, o que praticamente toda ferramenta espera a menos que seja informado o contrário |
| Ponto e vírgula (;) | Excel configurado para o Brasil, Alemanha, França e outros locais que usam vírgula decimal | Essas configurações regionais usam a vírgula como separador decimal em números, então o Excel nesses idiomas espera ponto e vírgula entre colunas |
| Tabulação (TSV) | Dados que já têm muitas vírgulas nos valores | Caracteres de tabulação quase nunca aparecem dentro de texto real, então raramente é preciso usar aspas |
| Pipe (|) | Ferramentas de importação legadas e pipelines de dados mais antigos | Alguns sistemas antigos de ETL e integrações de mainframe padronizaram o pipe muito antes de vírgula versus ponto e vírgula virar uma questão de idioma |
A escolha entre vírgula e ponto e vírgula atrapalha mais gente do que qualquer outra configuração desta página, porque é invisível até o arquivo já estar aberto. Se um colega abrir, no Excel configurado para o Brasil, um CSV separado por vírgula, é comum a planilha mostrar todos os valores amontoados na coluna A, sem nenhuma divisão, porque o Excel ali está esperando ponto e vírgula, e uma vírgula parece pontuação comum dentro do valor em vez de um limite de coluna. Trocar o delimitador desta ferramenta para ponto e vírgula antes de enviar o arquivo para quem usa Excel em português evita esse problema por completo, sem exigir nenhuma configuração do outro lado.
Aspas e Escape: Vírgulas, Aspas e Quebras de Linha Dentro de um Campo
Depois de escolher o delimitador, o conversor ainda precisa lidar com valores que contenham exatamente esse caractere, uma aspa dupla ou uma quebra de linha de verdade, sem corromper a estrutura da linha. Uma descrição de produto que diz "Disponível em vermelho, azul e verde" tem vírgulas que não são separadores de coluna, e um conversor ingênuo que apenas juntasse os campos com vírgula quebraria essa descrição única em três colunas separadas e erradas.
Essa ferramenta segue a regra padrão de aspas do CSV: um campo só recebe aspas duplas quando realmente precisa, ou seja, quando contém o caractere delimitador, uma aspa dupla literal ou uma quebra de linha. Tudo o mais é mantido como texto simples, sem aspas, o que mantém a saída fácil de ler e evita poluir valores simples como nomes e números com aspas desnecessárias.
- Delimitador embutido.
Silva, Joãovira"Silva, João"quando o delimitador é vírgula, para que a vírgula dentro do nome não seja confundida com um limite de coluna. - Aspas embutidas. Um valor como
Ele disse "oi"vira"Ele disse ""oi""": o campo inteiro é envolvido em aspas, e cada aspa interna é duplicada para que um programa de planilha consiga diferenciá-la das aspas que marcam as bordas do campo. - Quebras de linha embutidas. Um endereço com várias linhas armazenado como uma única string em JSON, com uma quebra de linha real no meio, também é envolvido em aspas. Isso permite que o campo ocupe legitimamente mais de uma linha no texto bruto do CSV, enquanto qualquer programa de planilha ainda o lê de volta como uma única célula, e não como duas linhas separadas.
Isso importa mais para dados vindos de campos de texto livre, como avaliações de clientes, descrições de produtos ou campos de observações, onde vírgulas, aspas e quebras de linha aparecem o tempo todo e de forma imprevisível. Acertar as aspas de primeira é a diferença entre um CSV que abre limpo e outro em que metade das linhas fica deslocada por causa de uma vírgula perdida.
UTF-8, o Byte Order Mark e Por Que Nomes Acentuados Viram Caracteres Estranhos no Excel
Um arquivo CSV é só um conjunto de bytes; nada dentro do formato do arquivo declara qual codificação de texto esses bytes representam. Essa ambiguidade é invisível em texto simples com apenas letras de A a Z, mas vira um problema real assim que um nome, cidade ou descrição de produto contém um caractere acentuado ou fora do alfabeto latino básico, algo como João, Conceição, São Paulo ou Müller. Salvo e aberto com suposições diferentes de codificação, esses caracteres saem como sequências corrompidas, tipo João em vez do texto original.
Uma correção comum para isso é o byte order mark de UTF-8, três bytes específicos (EF BB BF) colocados no início do arquivo, que avisam a um programa compatível "este arquivo é UTF-8, leia dessa forma" antes de qualquer caractere de dado aparecer. O Excel no Windows é um dos programas que procura esse marcador: um CSV em UTF-8 que começa com o BOM costuma abrir corretamente ao ser clicado duas vezes, enquanto o mesmo arquivo sem o BOM muitas vezes é lido com a página de código local do sistema, corrompendo silenciosamente qualquer caractere acentuado do arquivo.
Vale ser direto sobre o que essa ferramenta especificamente faz: o botão de download aqui gera um arquivo CSV em UTF-8 puro, sem inserir um byte order mark. Para dados totalmente em inglês sem acentos, isso não faz nenhuma diferença visível. Para dados com nomes acentuados ou nomes de cidades fora do inglês, significa que clicar duas vezes no arquivo baixado pode mostrar caracteres bagunçados mesmo com o arquivo codificado corretamente por baixo. A correção confiável, que funciona independentemente da questão do BOM, é evitar o clique duplo e em vez disso usar o assistente Dados > De Texto/CSV do Excel, que permite informar explicitamente "este arquivo é UTF-8" antes de qualquer célula ser exibida.
Abrindo o Resultado no Excel, Google Sheets e LibreOffice Calc
O mesmo arquivo CSV se comporta de forma um pouco diferente dependendo de qual programa de planilha o abre, principalmente porque cada um assume padrões diferentes de delimitador e codificação.
Microsoft Excel
Clicar duas vezes em um arquivo .csv entrega o arquivo ao abridor rápido do Excel, que adivinha o delimitador a partir das configurações regionais do Windows e adivinha a codificação a partir da página de código do sistema, em vez de verificar se é UTF-8. É rápido, mas é exatamente esse caminho que causa tanto a confusão entre vírgula e ponto e vírgula quanto a corrupção de caracteres acentuados descrita acima. O caminho mais confiável é o assistente Dados > De Texto/CSV, às vezes chamado de Obter Dados, que mostra uma prévia e permite definir a origem do arquivo como UTF-8 e confirmar o delimitador antes de qualquer coisa ser importada.
Google Sheets
Use Arquivo > Importar > Fazer upload e escolha o arquivo CSV. O Google Sheets é bem melhor do que o clique duplo padrão do Excel em detectar automaticamente tanto a codificação UTF-8 quanto o delimitador, então um arquivo separado por ponto e vírgula ou por vírgula gerado por essa ferramenta costuma importar corretamente sem nenhuma configuração manual, embora a caixa de importação ainda permita corrigir o separador se o palpite estiver errado.
LibreOffice Calc
O LibreOffice mostra a caixa de diálogo de Importação de Texto toda vez que você abre um arquivo .csv, e não só quando você pede explicitamente, como faz o Excel. Isso gera um pouco mais de fricção para uma olhada rápida em um arquivo, mas garante controle manual total sempre: um menu de conjunto de caracteres onde é possível escolher "Unicode (UTF-8)" diretamente, e caixas de seleção para vírgula, ponto e vírgula, tabulação e outros separadores, sem nenhuma ambiguidade sobre como o arquivo será interpretado.
Por Que Esse Conversor Roda Inteiramente no Seu Navegador
A maioria das ferramentas "converter JSON para CSV" encontradas na internet envia para um servidor tudo o que você cola, processa lá e devolve o resultado. Essa ida e volta é invisível no uso comum, mas significa que seus dados, ainda que brevemente, ficaram em uma infraestrutura que você não controla. Para um pedaço pequeno de dado público de exemplo, isso não é problema nenhum. Para uma exportação de registros reais de clientes, um dump interno de banco de dados ou qualquer coisa coberta por um contrato de confidencialidade, é uma preocupação real, e é exatamente o tipo de coisa que uma revisão de segurança apontaria imediatamente.
Esse conversor nunca faz essa viagem de ida e volta. A leitura do JSON, o achatamento dos objetos aninhados e a montagem da saída CSV são todos JavaScript simples que vem junto com a página e roda no seu dispositivo no instante em que você clica em Converter. Abra a aba de rede do seu navegador enquanto usa a ferramenta e você não vai ver uma única requisição carregando seus dados para lugar nenhum. Isso tem um efeito prático além da privacidade: não existe fila de servidor esperando, nem limite de taxa de API ou teto de tamanho de upload impostos por um backend, já que o próprio computador faz todo o trabalho.
O que isso significa para equipes que lidam com exportações sensíveis
Se você está convertendo uma exportação de banco de dados, uma lista de registros de usuários, itens de um contrato ou qualquer outra coisa que não queira ver saindo da sua organização, uma ferramenta puramente local elimina esse risco da equação inteira, em vez de pedir que você confie em uma política de privacidade que provavelmente nunca leu. É o mesmo raciocínio que leva equipes de engenharia a rodar um formatador ou uma transformação de dados localmente, em vez de colar dados de produção em um formulário qualquer da web.
Formas Comuns de Usar Esse Conversor de JSON para CSV
Depuração e revisão de respostas de API
Um desenvolvedor puxa uma resposta JSON de um endpoint REST e precisa entregar uma versão legível para um testador de QA ou um gestor de produto que vive de planilha, não das ferramentas de desenvolvedor do navegador. Converter a resposta aqui transforma uma parede de chaves e colchetes em linhas e colunas que qualquer pessoa da equipe consegue examinar e filtrar.
Exportando resultados de consultas NoSQL
MongoDB, Firestore e bancos de dados de documentos parecidos retornam resultados de consulta em JSON por padrão. Em vez de escrever um script de exportação só para aquele uso, colar um lote de resultados de consulta nessa ferramenta gera um CSV que abre direto no Excel ou no Sheets para uma análise pontual, um filtro rápido ou uma tabela dinâmica.
Preparando feeds de produto e dados de catálogo
Marketplaces e plataformas de marketing costumam exigir CSV para upload em massa de produtos, enquanto os dados do produto em si muitas vezes vêm de um feed ou API em JSON. Converter uma exportação em JSON de um catálogo de produtos, incluindo campos aninhados como faixas de preço ou atributos de variação, economiza montar uma planilha do zero na mão.
Análise de logs e linhas de log estruturadas
Aplicações que emitem logs estruturados em JSON geram dados fáceis de processar por máquina, mas cansativos de examinar visualmente. Colar um lote de entradas de log nessa ferramenta e achatá-las em colunas facilita bastante ordenar por horário, filtrar por código de status ou notar um padrão em centenas de entradas.
Migração de dados entre sistemas
Mover dados de uma plataforma para outra costuma significar que o sistema de origem exporta JSON enquanto o sistema de destino só aceita importação em CSV. Converter a exportação aqui, conferir os cabeçalhos de coluna que o achatamento produziu e ajustar nomes de campo conforme necessário costuma ser mais rápido do que escrever um script descartável para uma migração pontual.
Dicas para uma Saída CSV Limpa e Armadilhas Comuns
- Cuidado com a explosão de colunas em arrays longos de objetos. Se um registro tem um array com cinquenta itens de pedido e outro tem apenas três, o achatamento gera até cinquenta conjuntos de colunas
itens[N].campo, a maioria vazia para os registros mais curtos. Quando os arrays variam bastante de tamanho entre os registros, considere desmarcar "Achatar objetos aninhados" para que cada array fique como uma única string JSON em uma célula, em vez de espalhado em colunas. - Números que precisam continuar como texto. Um CEP, telefone ou código armazenado como string em JSON, como
"01311", vem no CSV como texto e mantém o zero à esquerda. Se depois o Excel reformatar essa coluna como número e derrubar o zero à esquerda por conta própria, defina o formato da coluna como Texto antes ou durante a importação, e não depois. - Valores nulos e ausentes viram células em branco, não a palavra "null". Isso mantém o CSV limpo para filtrar e ordenar, mas também significa que não dá para distinguir visualmente "definido explicitamente como nulo" de "a chave nem existia" depois que os dados já estão na planilha; se essa distinção importar, confira o JSON de origem antes de converter.
- Reconfira o delimitador depois de colar um novo conjunto de dados. O menu permanece na última opção selecionada, então se você converteu um arquivo com ponto e vírgula para um colega e depois cola um novo conjunto de dados, vale conferir se o delimitador ainda combina com quem ou o que vai abrir o próximo arquivo.
- Arrays bem grandes ainda funcionam bem, só fique de olho na aba do navegador. Não existe limite fixo embutido na ferramenta, mas um array JSON com dezenas de milhares de registros profundamente aninhados usa bem mais memória do que um pequeno; se a aba começar a ficar lenta, converter os dados em lotes menores funciona igual de bem.
A maior parte de um CSV que sai errado tem origem em um destes cinco pontos, não em um bug na lógica de conversão em si: um array de tamanho inconsistente, um número que deveria ter ficado como texto, um delimitador que não combina do lado de quem recebe, ou uma codificação incompatível na hora de abrir o arquivo. Conferir a caixa Saída CSV antes de baixar, especialmente a linha de cabeçalho, é a forma mais rápida de pegar qualquer um desses problemas cedo.
Perguntas Frequentes
Ferramentas relacionadas de conversão de dados
🔒 Privacidade 100% Local
Toda a leitura do JSON e a geração do CSV acontecem <strong>inteiramente no seu navegador</strong>. Nenhum dado é enviado a servidor algum. Seu JSON permanece no seu dispositivo o tempo todo.