CSV → tabela HTML

CSV numa tabela HTML.
Semântica, não uma grade de div.

A primeira linha vira um <thead> de verdade com atributos scope, então um leitor de tela consegue ler a tabela como tabela.

Vírgulas entre aspas, quebras de linha dentro de uma célula e exportações europeias com ponto e vírgula estão cobertas.

Solte um arquivo aqui.

Ou escolha pelo botão. Ou simplesmente cole com Ctrl+V. Dezenas de uma vez não é problema.

.csv .tsv .txt / 25 MB por arquivo / roda no seu navegador, nada é enviado

Outros formatos: .md .markdown .mdown MD → HTML · .docx .doc DOCX → HTML · .html .htm Google Docs → HTML · .text Texto → HTML · .xlsx Excel → tabela · .pdf docstomd.com

Ou cole aqui

Saída
Saída
Indentação
CSS da tabela
Linha de cabeçalho
Delimitador

Como funciona

  1. 01Solte um .csv ou .tsv acima, ou cole as linhas direto na caixa. Nada sai da aba.
  2. 02O separador é deduzido do próprio arquivo — vírgula, ponto e vírgula, tabulação ou barra vertical — e informado acima da saída. Troque se o palpite errar.
  3. 03Escolha se a primeira linha é cabeçalho e se quer o CSS responsivo, e depois copie o HTML ou baixe o arquivo.

O que funciona

  • Qualquer separador que a exportação tenha usado, deduzido do arquivo ou definido à mão
  • Campos entre aspas chegam inteiros; uma quebra de linha dentro de uma célula vira <br> em vez de partir a linha
  • Exportações alemãs, francesas e brasileiras, onde o separador é ponto e vírgula porque a vírgula é o decimal
  • Primeira linha como <thead> com <th scope="col">, ou sem cabeçalho
  • Uma marca de ordem de bytes inicial, descartada para não acabar dentro do seu primeiro <th>
  • Linhas curtas completadas com <td> vazios para que todas carreguem o mesmo número de células

O que não faz

  • UTF-8 na entrada e na saída, que é o que o meta charset declara; outras codificações podem chegar com caracteres estranhos
  • 25 MB de texto e 100.000 células de uma vez
  • O texto da célula é escapado, nunca reformatado: 007 chega ao <td> como 007
  • Sem ordenar, filtrar nem somar — ele converte, não calcula
  • Não há JavaScript na saída, então a tabela não é interativa
  • Aspas não fechadas derrotam qualquer leitor de CSV, e células podem cair na coluna errada

Perguntas que chegam aqui

Porque dados tabulares são exatamente o motivo pelo qual o elemento table existe. Um leitor de tela anuncia as dimensões, permite navegar célula por célula e lê o cabeçalho da coluna junto com cada célula — nada disso uma grade de div oferece. Mecanismos de busca também leem isso como dados. Estilo não é motivo para abrir mão disso.

Indo no sentido oposto?

O DocsToMD é esta mesma ferramenta ao contrário: Word, PDF, Excel e HTML para Markdown. Mesma abordagem, mesmo modelo de privacidade, saída inversa.

docstomd.com