100 % local — seus dados nunca saem do seu navegador

JSON para CSV — abra numa planilha

Transforme um array JSON de objetos em planilha. As chaves viram a linha de cabeçalho, pronta para abrir no Excel, Numbers ou Google Sheets.

Instantâneo Privado Zero cookies
Delimitador

Entrada JSON

Saída CSV

O que esta ferramenta faz

Um array de objetos vira linhas; as chaves viram o cabeçalho.

[
  { "nome": "Ada", "nascimento": 1815 },
  { "nome": "Alan", "nascimento": 1912 }
]
nome,nascimento
Ada,1815
Alan,1912

A raiz precisa ser um array de objetos: uma tabela é uma lista de registros, e um objeto sozinho não tem linhas. Embrulhe em [ ] se você queria uma linha.

Identificadores longos mantêm os dígitos

[{ "id": 12345678901234567890 }]

sai com os vinte dígitos. Conversores que analisam primeiro o JSON para um valor JavaScript arredondam além de uns quinze — em silêncio, e para um número que já não corresponde à linha de onde veio.

Três ambiguidades, ditas

Null e string vazia são a mesma célula. null e "" não produzem nada entre os separadores, e leitor nenhum os distinguirá depois. Se a diferença importa, o CSV é o destino errado.

Um valor aninhado vira JSON na célula. Uma célula carrega um valor; a sua chave carrega uma subárvore. Espalhá-la por colunas pai.filho inventadas imporia uma convenção que o seu consumidor nunca aprovou.

Registros irregulares dão uma união. O cabeçalho é toda chave vista, na ordem de aparição; a quem falta uma recebe célula vazia. Descartar a coluna, ou a linha, perderia dados por amor a um retângulo arrumado.

A opção Excel

O Excel não lê com confiança um CSV em UTF-8 simples: ele adivinha a codificação pelos bytes e quase sempre adivinha a página de código antiga do seu sistema — é assim que café vira café.

A opção Excel escreve duas coisas que o Excel entende: uma marca de ordem de bytes e uma linha sep=, no início nomeando o separador. Nenhuma é CSV padrão — sep= é até uma extensão da Microsoft que outros leitores mostrarão como primeira linha de dados — daí ser uma opção que você liga, e não o padrão.

Privado por padrão

Tudo é executado localmente no seu navegador com JavaScript. Os seus dados nunca são enviados para um servidor, o que torna a ferramenta segura para conteúdo sensível e funciona offline.

Perguntas frequentes

Por que o Excel mostra meus acentos como garrancho?
Porque o Excel adivinha a codificação pelos bytes e, sem pista, adivinha a página de código antiga do seu sistema em vez de UTF-8. A opção Excel escreve uma marca de ordem de bytes e uma linha `sep=`, que lhe dizem tanto a codificação quanto o separador. Não é CSV padrão, daí ser uma opção e não o padrão.
Um CSV consegue distinguir null de string vazia?
Não, e nenhum consegue. `{"note": null}` e `{"note": ""}` dão ambos uma célula vazia, e reler o arquivo não dirá qual era. Se essa diferença importa, o CSV é o destino errado — ou acrescente sua própria convenção, um `NULL` literal por exemplo, antes de converter.
Meus registros não têm todos as mesmas chaves. O que acontece?
O cabeçalho é a união de todas as chaves vistas, na ordem de aparição, e o registro ao qual falta uma recebe célula vazia. Nada é descartado por ser irregular: um export em que só algumas linhas têm um campo opcional é normal, não um erro.

Conversores relacionados