Visualizador de CSV

Abra um arquivo CSV, TSV ou Excel — ou cole texto bruto — e leia tudo como uma tabela limpa, com ordenação e filtro.

O arquivo é analisado localmente no seu navegador com SheetJS. Só a biblioteca de análise vem de um CDN; seus dados ficam.

Solte um arquivo CSV / TSV / XLSX ou clique para escolher

Delimitador
Linhas por página
—

Carregue ou cole dados para ver a grade.

Como funciona

A análise fica por conta do SheetJS, o leitor de planilhas open-source de referência, rodando localmente no seu navegador. Entrada de texto (dados colados ou arquivos .csv/.tsv) passa pelo parser de delimitadores — o modo auto deixa o parser inferir o separador da primeira linha, o modo manual força um específico. Arquivos binários (.xlsx, .xls, .ods) passam pelo leitor completo de pastas de trabalho, e a aba ativa é achatada num array de arrays; assim toda fonte vira uma grade uniforme antes de qualquer renderização.

Linha de cabeçalho e aspas
Com o alternador de cabeçalho ligado, a linha 1 nomeia as colunas e fica presa na linha superior fixa; desligado, as colunas são numeradas e a linha 1 continua sendo dado. O parser respeita as aspas da RFC 4180: vírgulas e quebras de linha dentro de campos entre aspas permanecem na célula, e aspas duplas dobradas escapam uma aspa literal.
Ordenação estável e consciente de números
Clicar num cabeçalho ordena em ordem crescente e depois decrescente. Células que o parser lê como números comparam por valor — assim 9 vem antes de 10 — e o resto compara como texto, sem distinguir maiúsculas. Linhas com chaves iguais preservam a ordem relativa original porque a ordenação decora cada linha com seu índice de entrada e desempata por ele; além disso, o sort nativo do JavaScript já é estável nos motores modernos.
Por que a paginação importa
Uma grade é feita de nós DOM reais: 50 mil linhas × 10 colunas são meio milhão de elementos, o que trava o layout e faz filtro e ordenação arrastarem. Renderizar só a página atual mantém cada interação instantânea, e até a visão Todas tem teto de 5.000 linhas renderizadas — o arquivo continua totalmente analisado, você apenas vê uma janela dele.

Perguntas frequentes

Arquivos do Excel também são exibidos?

Sim. Solte uma planilha .xlsx ou .xls e a aba ativa — a que estava aberta quando o arquivo foi salvo, ou a primeira se nenhuma estiver marcada — é achatada numa grade. As outras abas não aparecem, e as fórmulas chegam com o último valor calculado, que é o que o arquivo guarda para outros aplicativos.

Por que as datas aparecem diferentes da minha planilha?

Porque as datas são renderizadas a partir do valor bruto armazenado, não do formato de exibição escolhido. Uma célula de data pode surgir como uma string estilo ISO, 2026-01-15T00:00:00, ou como o número serial que o SheetJS não reconheceu, dependendo de como o arquivo foi gravado. O visualizador é intencionalmente honesto: você vê o que o arquivo guarda.

Como funciona a autodetecção do delimitador?

Em colagens de texto e arquivos .csv, a opção Auto deixa o parser decidir pela mistura de caracteres da primeira linha; arquivos .tsv começam com tabulação. Se um arquivo usa ponto e vírgula — comum onde a vírgula é separador decimal —, mude manualmente no seletor Delimitador e a tabela é reanalisada na hora.

Que tamanho de arquivo é confortável?

Analisar dezenas de milhares de linhas é corriqueiro, mas o limite é a grade: renderizar 100 mil linhas de uma vez travaria a aba, por isso a visão Todas tem teto de 5.000 linhas renderizadas e o tamanho padrão de página é 50. Para espiar uma exportação gigantesca, mantenha a paginação em vez de forçar Todas.

Algo é enviado para um servidor?

Não. O arquivo é lido com FileReader e analisado localmente pela biblioteca SheetJS; seus dados nunca saem da aba. A única requisição de rede é o download único dessa biblioteca pública de parsing pelo CDN da SheetJS — o conteúdo do seu arquivo não é enviado a lugar nenhum.