Funciona no seu dispositivo · Seu arquivo nunca sai do seu dispositivo.
Solte uma exportação .csv ou cole o texto e receba uma lista JSON — um objeto por linha, com o cabeçalho como chaves. O leitor segue a RFC 4180, então campos entre aspas, aspas duplicadas e vírgulas ou quebras de linha dentro de uma célula sobrevivem intactos.
O separador de colunas é detectado automaticamente entre vírgula, ponto e vírgula, tabulação e barra vertical — exportações brasileiras com ponto e vírgula funcionam sem configurar nada — e você pode trocá-lo. Por padrão "12" vira o número 12, "true" vira booleano e uma célula vazia vira null — mas só onde nada muda: 1.50, 1e3, zeros à esquerda (007, comuns em CEP e códigos) e IDs longos continuam texto, porque como números seriam escritos de volta de outro jeito. Desligue a opção e cada valor continua exatamente o texto que era.
Nomes de cabeçalho repetidos ou vazios recebem nomes únicos (column_3), um BOM é retirado, um arquivo salvo em UTF-16 ou numa página de código antiga é lido como tal e identificado, linhas com mais células que o cabeçalho são apontadas com o número da linha, e um problema de leitura é reportado com linha e coluna, não com uma mensagem vaga. A prévia mostra as primeiras 200 linhas antes de você baixar.
Não serve para: Reconstruir estruturas aninhadas — um CSV é plano, então cada linha vira um objeto plano; colunas com ponto no nome não são reaninhadas.
Com a opção ligada, uma célula vira número só quando esse número seria escrito de volta como o mesmo texto: 12, -4 e 3.5 viram números. 1.50, 1e3 e -0 continuam texto, porque como números voltariam como 1.5, 1000 e 0. O mesmo vale para 007, +5, " 12", 3,5, 1,250, um sinal de porcentagem ou de moeda, e um ID mais longo do que um número consegue guardar com exatidão.
true e false são reconhecidos com qualquer combinação de maiúsculas e minúsculas, então TRUE vira true. Uma célula vazia vira null, mas a palavra NULL continua texto, já que também pode ser um valor ou um nome. Datas como 2024-01-05 sempre continuam texto.
As células são associadas ao cabeçalho pela posição. Uma linha com menos células recebe null nas colunas que faltam (uma string vazia com a detecção desligada). Uma linha com mais células que o cabeçalho não tem onde pôr as que sobram, então elas ficam de fora, e uma mensagem acima da prévia diz em quantas linhas isso aconteceu e em que linha está a primeira. Isso costuma significar que um valor como Silva, João contém o separador sem aspas.
Linhas em branco são puladas. Os nomes do cabeçalho perdem os espaços em volta; os valores não, então " Recife" mantém o espaço.
Uma aspa só abre um campo entre aspas quando é o primeiro caractere do campo; no meio, como em tela de 5", ela continua fazendo parte do texto. Uma aspa que abre um campo e nunca é fechada puxaria o resto do arquivo para uma célula só, então a conversão para e informa a linha e a coluna em que essa aspa abriu.
A detecção olha os primeiros 64 KB, até 50 linhas, e escolhe o separador que dá o mesmo número de colunas no maior número de linhas; separadores dentro de aspas não contam. Num arquivo com ponto e vírgula e vírgula decimal, como A;1,5, o ponto e vírgula é encontrado e 1,5 continua texto.
O arquivo é lido conforme os seus bytes: uma marca de ordem de bytes (BOM), UTF-16 (que o Excel grava como «Texto Unicode») ou UTF-8. Quando os bytes não são UTF-8 válido, entra a página de código antiga que faz deles palavras: as páginas de código do Windows para texto da Europa Ocidental e Central, cirílico, grego, turco, hebraico, árabe (com persa e urdu) e tailandês, ou GB18030, Big5, Shift_JIS e EUC-KR para chinês, japonês e coreano. A linha do arquivo então avisa, por exemplo «lido como windows-1256, não UTF-8»; um arquivo muito curto tem poucas letras para julgar, então confira a prévia.
Esta página em outros idiomas: English · العربية · Deutsch · Français · Español · Русский · 中文 · हिन्दी · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা