Conversor de CSV para JSON online
O conversor de CSV para JSON transforma uma tabela CSV em uma lista de objetos JSON, usando a primeira linha como nome das chaves. Ele detecta sozinho se o separador é vírgula, ponto e vírgula ou tabulação, entende campos entre aspas e converte números e booleanos. Tudo roda no seu navegador, sem enviar o arquivo a nenhum servidor.
A conversão é feita no seu navegador. Os dados e os arquivos não são enviados a nenhum servidor.
Achou um resultado errado ou tem uma sugestão? Avise por e-mail.
Como usar
- Cole o CSV no campo da esquerda, ou clique em Abrir arquivo.
- Deixe o separador em Detectar ou escolha um. Desmarque Primeira linha é o cabeçalho se o CSV não tiver títulos.
- Desmarque Converter números e booleanos se quiser todos os valores como texto.
- Clique em Copiar resultado ou em Baixar arquivo.
Como funciona
A ferramenta lê o CSV segundo a RFC 4180: campos entre aspas podem conter o separador e quebras de linha, e aspas duplas dentro de um campo são escritas em dobro. Linhas em branco são ignoradas e a marca BOM do início do arquivo é descartada.
Cada linha depois do cabeçalho vira um objeto. Cabeçalhos repetidos ganham um sufixo (nome, nome_2) e cabeçalhos vazios viram coluna_1, coluna_2 e assim por diante. Linhas com menos campos que o cabeçalho ficam com texto vazio nas chaves que faltam.
Com a conversão de tipos ligada, 12 vira o número 12 e true vira o booleano true, mas só quando todos os valores preenchidos da coluna são do mesmo tipo, para que os registros fiquem coerentes. Uma coluna com qualquer valor que não seja número (como 007, um CEP com zero à esquerda, um número com mais de 15 dígitos ou um decimal com vírgula, 1,5) fica inteira como texto. Células vazias de uma coluna numérica viram null.
Exemplo
CSV:
nome;idade;ativo
Ana;30;true
Bia;25;false
JSON: [{"nome":"Ana","idade":30,"ativo":true},{"nome":"Bia","idade":25,"ativo":false}]
Perguntas frequentes
A ferramenta lê CSV do Excel em português?
Sim. O Excel em português salva com ponto e vírgula como separador, e a detecção automática reconhece isso. Acentos funcionam se o arquivo estiver em UTF-8.
Por que o número 007 continua como texto?
Porque converter para número apagaria os zeros à esquerda, o que estraga códigos, CEPs e identificadores. Quando uma coluna tem um valor assim, a coluna inteira fica como texto, para que todos os registros tenham o mesmo tipo. Colunas só com números sem zeros à esquerda e com até 15 dígitos são convertidas.
O que fazer com números que usam vírgula decimal, como 1,5?
Eles ficam como texto, porque em JSON o decimal usa ponto. Troque a vírgula por ponto na origem, ou converta no seu código depois de ler o JSON.
O CSV não tem cabeçalho. E agora?
Desmarque Primeira linha é o cabeçalho. O resultado passa a ser uma lista de listas, uma para cada linha, em vez de uma lista de objetos.
Outras ferramentas que podem ajudar
- Conversor JSON para CSVConverta JSON em CSV online: escolha o separador, achate objetos aninhados e baixe o arquivo
- Formatador JSONFormate, indente, minifique e valide JSON online
- Validador JSONValide JSON online e veja a linha e a coluna do erro, o tipo e a profundidade
- Conversor de Timestamp UnixConverta timestamp Unix (segundos ou milissegundos) em data e hora, e data em timestamp
- Testador de RegexTeste expressões regulares online: destaque dos casamentos, grupos e flags
- Comparador JSONCompare dois JSON online e veja o caminho de cada chave adicionada, removida ou alterada