Abra ou cole um arquivo CSV e receba uma <table> com um <thead> de títulos <th scope="col"> e um <tr> por linha, ou uma página HTML completa que abre direto no navegador. Todo valor passa por escape de HTML, então um <script> ou um & nos seus dados aparece como texto e nunca vira marcação. A conversão acontece no seu navegador, e o arquivo nunca é enviado.
Como converter CSV em HTML
- Clique em Abrir arquivo, arraste um arquivo
.csv,.tsvou.txtpara a ferramenta ou escolha Colar. Se as colunas parecerem erradas, ajuste o delimitador ou a codificação em Configurações de importação. - Em Saída, escolha Só a tabela para colar a marcação em uma página ou CMS que já existe, ou Página HTML completa para ter um arquivo independente.
- Preencha a Legenda (opcional), decida sobre o estilo e as quebras de linha e depois clique em Copiar ou Baixar HTML.
Para um README ou uma wiki, uma tabela Markdown costuma ser mais fácil de editar; para um arquivo pronto para imprimir, use CSV para PDF.
O que cada opção faz
| Só a tabela | É o padrão. Gera apenas o elemento <table>, pronto para colar em uma página, em um modelo de e-mail ou em um bloco HTML do CMS. |
|---|---|
| Página HTML completa | Acrescenta <!doctype html>, <html lang="en">, <meta charset="utf-8"> e um <title> (a legenda ou, sem ela, Table), para o arquivo abrir corretamente em qualquer navegador. |
| Legenda (opcional) | Grava um <caption> como primeiro filho da tabela: é o nome acessível que os leitores de tela anunciam para ela. |
| Adicionar estilo simples | Vem ativada. Na página completa, embute uma folha de estilo pequena: bordas, linha de cabeçalho sombreada e números alinhados à direita. Com Só a tabela, em vez disso, coloca class="csv-table" na tabela e class="num" nas células numéricas, para que o seu próprio CSS defina a aparência. |
| Mostrar quebras de linha nas células | Vem ativada. Uma quebra de linha dentro do valor vira <br>. Desativada, a quebra fica no código-fonte, onde os navegadores a exibem como um espaço. |
Como os dados mais delicados são tratados
&,<,>,"e'são gravados como&,<,>,"e'em toda célula, cabeçalho e legenda. Tags nos seus dados aparecem como texto, o que também significa que um HTML já existente no CSV não é renderizado.- Cada célula tem
dir="auto", então valores em árabe ou hebraico aparecem da direita para a esquerda mesmo dentro de uma página da esquerda para a direita. - Uma coluna só é considerada numérica quando todos os valores preenchidos são números simples; uma coluna de ID como
0042fica como texto e não é alinhada à direita. Os valores em si nunca são reformatados. - Vírgulas, aspas e quebras de linha entre aspas são lidas conforme a RFC 4180. Um cabeçalho em branco vira
Column 3e um repetido viraname (2). - A saída é UTF-8. A página completa declara isso com
<meta charset="utf-8">; ao colar Só a tabela em outra página, essa página também precisa estar em UTF-8.
Solução de problemas
- Letras acentuadas aparecem como é no arquivo de origem. O CSV não está em UTF-8. Escolha a codificação dele (muitas vezes Windows-1252, em exportações antigas do Excel) em Configurações de importação e abra o arquivo de novo.
- As tags dos meus dados aparecem como texto. O HTML das células passou por escape de propósito, para não rodar como marcação. Se você confia no conteúdo e quer vê-lo renderizado, edite o resultado.
- A tabela colada não tem bordas. Só a tabela acrescenta nomes de classe (com o estilo ativado), não CSS. Estilize
.csv-tableetd.numna folha de estilo do seu site, ou escolha Página HTML completa para ter os estilos embutidos. - Uma coluna concentra todos os valores. O delimitador foi detectado errado; defina-o em Configurações de importação.
Limites e privacidade
Arquivos de até 25 MB, 100.000 linhas ou 2 milhões de células abrem com prévia ao vivo das primeiras 200 linhas. Arquivos maiores são convertidos em modo de streaming: o arquivo é lido duas vezes, em partes (uma para medir as colunas e descobrir quais são numéricas, outra para gravar), um aviso informa que o download cobre o arquivo inteiro e a opção Copiar não fica disponível. Cada arquivo de saída tem limite de 4 GB.
A conversão roda em um worker em segundo plano nesta aba, então a página continua respondendo e Cancelar interrompe o processo. O CSV nunca é enviado a um servidor.
Exemplo
Uma lista de pedidos com um E comercial, um apóstrofo, aspas e HTML dentro de um comentário em duas linhas, convertida com as configurações padrão (Só a tabela, com estilo e quebras de linha visíveis). qty só tem números, por isso suas células recebem class="num".
id,product,qty,comment 0042,Fish & Chips,2,"<b>Extra</b> vinegar no salt" 0043,"O'Brien's ""Stout""",12,
<table class="csv-table">
<thead>
<tr>
<th scope="col">id</th>
<th scope="col">product</th>
<th scope="col">qty</th>
<th scope="col">comment</th>
</tr>
</thead>
<tbody>
<tr>
<td dir="auto">0042</td>
<td dir="auto">Fish & Chips</td>
<td class="num" dir="auto">2</td>
<td dir="auto"><b>Extra</b> vinegar<br>no salt</td>
</tr>
<tr>
<td dir="auto">0043</td>
<td dir="auto">O'Brien's "Stout"</td>
<td class="num" dir="auto">12</td>
<td dir="auto"></td>
</tr>
</tbody>
</table>Perguntas frequentes
É seguro colar o resultado no meu site?
Os dados não conseguem injetar marcação: todo valor, cabeçalho e a legenda passam por escape de HTML, e nenhum valor é colocado dentro de um atributo. As únicas tags da saída são os elementos de tabela que o próprio conversor escreve.
Por que a página diz lang="en"?
A página completa pega a etiqueta de idioma do idioma do site que você está usando. Se os seus dados estiverem em outro idioma, altere o atributo lang depois de baixar.
Dá para ordenar ou filtrar a tabela HTML?
A saída é uma tabela estática, sem scripts. Ordene ou filtre os dados antes com Ordenar CSV ou Filtrar CSV e depois converta.