Extrator de Tabelas HTML
Extraia o markup <table> de HTML para CSV, TSV, JSON ou Markdown, expandindo células mescladas colspan/rowspan.
Entrada
Cole uma página inteira ou só o markup da tabela — tudo fora de <table> é ignorado.
Um número de tabela começando em 1, ou “all” para extrair todas as tabelas da página.
Usado como chaves dos objetos JSON e como a linha de cabeçalho do Markdown.
Repete o valor de uma célula mesclada em todas as colunas e linhas que ela abrange, mantendo as colunas alinhadas.
Saída
| # | Linhas | Colunas | Legenda / primeira célula |
|---|---|---|---|
| No data yet | |||
Mais formas de usar esta ferramenta
API REST
curl -X POST https://api.iotools.cloud/v1/tool/html-table-extractor \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"html": "<table><tr><th>Name</th><th>Role</th></tr><tr><t…",
"format": "csv",
"table": "1",
"headers": "true",
"expandMerged": "true"
}'Troque pela sua própria chave, da sua conta. Os campos da ferramenta viram o corpo da requisição — sem envelope.
Peça a um agente de IA
Use the IOTools `html-table-extractor` tool (HTML Table Extractor) on this input:
YOUR_INPUT_HERECole isto em qualquer agente conectado ao servidor MCP do IOTools e depois adicione sua entrada.
Widget para incorporar
<iframe
src="https://iotools.cloud/embed/html-table-extractor/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Extrator de Tabelas HTML — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>Coloque isso na sua própria página — grátis, sem chave, só um link de volta.
| Custo por chamada de API/MCP | A partir de 5 créditos |
|---|---|
| Precisa de mais créditos? | Ver preços |
Também disponível via
Guias
Fez scraping de uma página e acabou com um emaranhado de markup <table>? Cole aqui e receba de volta dados limpos e estruturados — CSV para uma planilha, TSV quando suas células estão cheias de vírgulas, JSON para código ou uma tabela Markdown para um README. Tudo roda no seu navegador; o HTML nunca sai da sua máquina.
Como usar
- Cole seu HTML na caixa de entrada ou arraste um arquivo
.htmlpara o campo de envio. Uma página salva inteira também serve — tudo fora de um<table>é ignorado. - Escolha o formato de saída: CSV, TSV, JSON ou Markdown.
- Se a página tiver mais de uma tabela, confira a lista Tabelas encontradas logo abaixo e informe o número da tabela em Tabela a extrair. Digite
allpara extrair todas as tabelas de uma vez. - Deixe A primeira linha contém cabeçalhos marcado se a primeira linha tiver os nomes das colunas — ela se torna as chaves dos objetos JSON e a linha de cabeçalho do Markdown.
- Copie ou baixe o resultado.
Configurações
- Tabela a extrair — um número a partir de 1 (
1,2,3…) ouall. Tabelas aninhadas dentro das células de outra tabela são contadas como parte da tabela pai, não como tabelas separadas. - A primeira linha contém cabeçalhos — com saída JSON, marcado gera um array de objetos com chaves do texto do cabeçalho; desmarcado, gera um array de arrays. Com Markdown, desmarcado insere uma linha de cabeçalho vazia para que a tabela continue sendo renderizada.
- Expandir células mescladas — veja abaixo.
Como ele trata colspan e rowspan?
Ele os expande. Uma célula com colspan="3" grava seu valor nas três colunas que cobre, e uma célula rowspan="2" se repete na linha seguinte. O resultado é um retângulo denso em que a coluna 3 de cada linha é de fato a coluna 3, que é o que uma planilha ou um consumidor de JSON precisa. A maioria dos extratores ignora isso e entrega linhas irregulares que você precisa realinhar manualmente.
Desative Expandir células mescladas se preferir que cada <td> contribua com exatamente uma célula — útil ao inspecionar a estrutura do markup bruto em vez da grade renderizada.
O que acontece com a formatação dentro de uma célula?
Tags inline (<a>, <strong>, <span>…) são removidas e apenas o texto é mantido. <br> vira um espaço, entidades HTML como &, e — são decodificadas, e sequências de espaços em branco são reduzidas a um único espaço — então uma célula formatada em cinco linhas indentadas sai como um único valor organizado.
Ele consegue buscar uma tabela a partir de uma URL?
Não, e isso é intencional: nada é enviado nem buscado, então a ferramenta funciona tão bem em páginas internas, painéis com login e localhost quanto em sites públicos. Use "Exibir código-fonte" do navegador ou DevTools → Copiar elemento e, em seguida, cole o resultado.
Por que as vírgulas estão entre aspas no meu CSV?
Porque uma célula contendo vírgula, aspas ou quebra de linha quebraria a estrutura de colunas. A saída segue as regras normais de aspas do CSV ("Grace, R.", com qualquer " interna duplicada), então as planilhas a importam corretamente. Se preferir evitar aspas por completo, mude para TSV.
Ferramentas relacionadas
Na direção oposta — transformar dados de volta em markup — está a JSON to HTML Table. Para reorganizar o CSV que você obtém aqui, a CSV Column Extractor escolhe e reordena colunas, e a Table to Markdown Converter trata dados de planilha colados. Se quiser a página inteira como texto corrido, e não apenas as tabelas, use o HTML to Markdown.