Conversor de HTML para Markdown
Converta HTML em Markdown limpo no seu navegador — tabelas GFM, listas de tarefas e links. Escolha cabeçalhos ATX/Setext e links inline ou de referência. Ótimo para migrar conteúdo web ou alimentar LLMs. 100% privado, sem upload.
CSS personalizado
O que é a conversão de HTML para Markdown?
A conversão de HTML para Markdown pega um documento HTML renderizado — as tags, atributos e aninhamento que um navegador exibe — e o reescreve como Markdown, o formato leve de texto puro feito para escrita e controle de versão. Onde Markdown para HTML expande texto compacto em marcação para exibição, esta é a direção inversa e redutiva: você começa com HTML rico e verboso e o destila até o conjunto pequeno e legível de convenções que o Markdown oferece.
Por baixo dos panos, o conversor analisa o seu HTML numa árvore DOM — a mesma estrutura de nós que um navegador constrói — e então percorre essa árvore e emite o equivalente em Markdown para cada nó que reconhece. Um <h2> vira ## , um <strong> vira **texto**, um <ul> vira uma lista com marcadores, um vira um link, um <table> vira uma tabela com pipes GFM. Percorrer um DOM real, em vez de rodar expressões regulares sobre a string bruta, é o que permite lidar com listas aninhadas, formatação inline mista e tabelas corretamente, em vez de quebrar em casos extremos.
Você recorre a esta conversão quando está migrando para fora do HTML, não para dentro. Conteúdo preso num CMS, num editor WYSIWYG, numa página web antiga ou num campo de texto rico é difícil de comparar, difícil de revisar e difícil de mover. Convertê-lo para Markdown o liberta para um formato que vive feliz num repositório Git, num gerador de site estático ou num app de notas — e, cada vez mais, num formato que modelos de linguagem grandes leem com eficiência. O detalhe, que ferramentas honestas declaram claramente, é que a conversão é com perdas: o HTML pode expressar coisas que o Markdown não pode, então alguma estrutura e cada detalhe de estilização são deliberadamente descartados em troca de texto limpo e portável.
A operação inversa — Markdown de volta para HTML, para quando você estiver pronto para publicar ou pré-visualizar — é igualmente útil. Mude para a aba Markdown → HTML ou abra o conversor de Markdown para HTML dedicado.
HTML in:
<h2>Pricing</h2>
<p>Plans start at <strong>$9/mo</strong>. See the <a href="https://example.com/pricing">details</a>.</p>
<table>
<thead><tr><th>Plan</th><th>Price</th></tr></thead>
<tbody><tr><td>Pro</td><td>$9</td></tr></tbody>
</table>
Markdown out:
## Pricing
Plans start at **$9/mo**. See the [details](https://example.com/pricing).
| Plan | Price |
| ---- | ----- |
| Pro | $9 |
<!-- <div>, classes, and inline styles in the source are dropped — Markdown can't represent them. --> Recursos Principais
Saída Ciente de GFM
Mira no GitHub Flavored Markdown, não apenas no CommonMark puro: tabelas HTML viram tabelas com pipes, <li>s com checkbox viram listas de tarefas (`- [x]`), e <del>/<s> viram ~~texto riscado~~. O Markdown cai direto num README, numa issue do GitHub ou num site de documentação e renderiza da mesma forma.
Cabeçalhos ATX ou Setext
Escolha cabeçalhos ATX prefixados com cerquilha (# H1) ou cabeçalhos Setext sublinhados (=== para H1, --- para H2). Setext cobre apenas os dois níveis superiores, então o conversor cai para ATX em H3 e mais profundos automaticamente — você nunca obtém um cabeçalho inválido.
Links Inline ou de Referência
Alterne entre links inline — [texto](url) ao lado da prosa — e links de referência, que reúnem cada URL numa lista numerada no pé do documento. O estilo de referência mantém legíveis os parágrafos com muitos links e permite reutilizar uma URL por rótulo.
Blocos de Código Cercados
Um bloco <pre><code> vira um bloco de código cercado com três crases, e uma classe language- no elemento <code> é levada adiante como a info string da cerca. O <code> inline vira spans de crases, então os trechos sobrevivem à viagem intactos.
Lida com Listas e Tabelas Aninhadas
Percorre o DOM real, então estruturas aninhadas de <ul>/<ol> convertem para listas Markdown corretamente indentadas e listas ordenadas renumeram a partir de 1. Tabelas simples achatam para tabelas com pipes; as genuinamente complexas caem para HTML bruto em vez de perder dados.
100% Privado, no Navegador
Cada conversão roda localmente com JavaScript — o seu HTML e o Markdown resultante nunca saem do seu dispositivo, nunca atingem um servidor e funcionam offline após o carregamento da página. Seguro para exportações de CMS internas, conteúdo de clientes e páginas não publicadas.
Exemplos
<table> web para uma tabela com pipes GFM
<table>
<thead><tr><th>Região</th><th>Vendas</th></tr></thead>
<tbody>
<tr><td>EMEA</td><td>1.204</td></tr>
<tr><td>APAC</td><td>980</td></tr>
</tbody>
</table> | Região | Vendas | | ------ | ------ | | EMEA | 1.204 | | APAC | 980 |
Um <table> HTML copiado ou raspado colapsa numa tabela com pipes do GitHub Flavored Markdown. A linha <thead> vira o cabeçalho, a linha delimitadora de traços é gerada para você e cada <tr> vira uma linha delimitada por pipes — pronta para colocar num README ou numa página de documentação.
Links: estilo inline vs referência
<p>Leia o <a href="https://example.com/guide">guia de configuração</a> e a <a href="https://example.com/api">referência da API</a>.</p>
Inline: Leia o [guia de configuração](https://example.com/guide) e a [referência da API](https://example.com/api). Referência: Leia o [guia de configuração][1] e a [referência da API][2]. [1]: https://example.com/guide [2]: https://example.com/api
As mesmas âncoras renderizam de duas formas. Inline mantém a URL ao lado do texto; o estilo de referência move cada URL para uma lista numerada no rodapé, o que mantém parágrafos longos legíveis quando uma frase carrega vários links. Escolha o estilo com o rádio Links.
<ul>/<ol> aninhados para listas Markdown indentadas
<ul>
<li>Build
<ol>
<li>Compilar</li>
<li>Empacotar</li>
</ol>
</li>
<li>Lançar</li>
</ul> - Build 1. Compilar 2. Empacotar - Lançar
O aninhamento é preservado pela indentação: o <ol> interno fica dois espaços abaixo do seu <li> pai e muda de um marcador `-` para a numeração `1.`. O Markdown renumera listas ordenadas automaticamente, então a fonte permanece limpa mesmo que o HTML tenha usado atributos value explícitos.
Um trecho de HTML de página web para Markdown limpo
<article> <h1>Changelog</h1> <p>Lançamos o <strong>modo escuro</strong> e corrigimos <code>parseDate()</code>.</p> <blockquote><p>Obrigado a todos que reportaram.</p></blockquote> </article>
# Changelog Lançamos o **modo escuro** e corrigimos `parseDate()`. > Obrigado a todos que reportaram.
Cole uma fatia de uma página real — o invólucro <article> é descartado (o Markdown não tem elemento de contêiner), o <h1> vira `#`, <strong> vira `**`, o <code> inline vira crases e o <blockquote> vira uma linha `>`. Invólucros estruturais sem equivalente em Markdown simplesmente desaparecem.
Como Converter HTML para Markdown
- 1
Cole o seu HTML
Coloque uma página web copiada, uma exportação de CMS ou WYSIWYG, ou um trecho de HTML raspado. O DOM é analisado e serializado em Markdown no seu navegador conforme você cola — sem upload, sem limite de tamanho além da memória do seu navegador.
- 2
Escolha os estilos de cabeçalho e link
Escolha cabeçalhos ATX (#) ou Setext (===) e links inline ou de referência. O Markdown re-renderiza ao vivo, então você pode comparar estilos instantaneamente. A saída mira no GitHub Flavored Markdown — tabelas, listas de tarefas e texto riscado incluídos.
- 3
Copie ou baixe
Clique em Copiar para pegar o Markdown, ou Baixar para salvar um arquivo .md. Para ir na direção oposta, mude para a aba Markdown → HTML e cole o seu Markdown para obter HTML renderizado de volta.
Armadilhas Comuns
Esperar que a Estrutura de <div>/<span> Sobreviva
Contêineres genéricos não carregam equivalente em Markdown, então são desencapsulados — seu conteúdo permanece, mas a tag, e qualquer classe ou style nela, desaparece. Se o seu layout dependia de um <div> de invólucro ou de um <span> estilizado, essa estilização some no Markdown. Isso é esperado, não um bug; o Markdown simplesmente não tem como expressá-la.
<div class="callout warning"><span style="color:red">Atenção!</span></div> <!-- esperando que a caixa de destaque e a cor vermelha sobrevivam -->
Atenção! <!-- contêiner e estilos descartados; só o texto permanece no Markdown -->
Quebras de Linha <br> Perdidas Dentro de Parágrafos
Um <br> dentro de um parágrafo é uma quebra de linha suave, que o Markdown representa com dois espaços finais antes da nova linha (ou uma barra invertida). Colar HTML e esperar que quebras de linha visíveis sobrevivam pode surpreender quando linhas adjacentes refluem numa só. O conversor emite a forma de quebra forte, mas se você editar à mão depois, não remova os espaços finais.
Linha um<br>Linha dois <!-- se a forma de quebra for removida, elas se fundem numa linha -->
Linha um Linha dois <!-- dois espaços finais preservam o <br> como quebra forte -->
Tabelas Profundamente Aninhadas Degradando
Tabelas com pipes GFM não podem aninhar nem conter conteúdo de bloco. Um layout legado que coloca uma tabela (ou uma lista, ou múltiplos parágrafos) dentro de uma célula de tabela não pode virar uma tabela com pipes limpa — o conversor achata o que pode e deixa o resto como HTML bruto para que nada se perca. A correção é simplificar a origem, não a saída.
<table><tr><td><table><tr><td>interno</td></tr></table></td></tr></table> <!-- tabela aninhada não pode virar uma tabela com pipes plana -->
<!-- Achate para uma tabela de nível único primeiro: --> <table><tr><td>interno</td></tr></table> → | interno | | ------- |
Esperar que <script> ou Estilos Sobrevivam
<script>, <style> e elementos de nível de cabeçalho são código e apresentação, não conteúdo do documento, então são removidos inteiramente — não convertidos, não preservados como HTML bruto. Colar uma página inteira e esperar que comportamento ou CSS migrem para o Markdown vai decepcionar. O Markdown é um formato de conteúdo; se você precisa do código ou da estilização, mantenha o HTML.
<style>.x{color:blue}</style>
<script>track()</script>
<p>Corpo</p>
<!-- esperando que o style e o script passem --> Corpo <!-- só o conteúdo sobrevive; <script>/<style> são descartados -->
Casos de Uso Comuns
- Migrar conteúdo web ou de CMS para Notion, Obsidian ou um site estático
- Tire páginas de um CMS, de uma exportação do WordPress ou de um site HTML antigo e converta-as para Markdown que cai direto no Notion, Obsidian, Hugo ou Jekyll. Você troca marcação verbosa por texto portável que vive de forma limpa num repositório Git e gera diffs sensatos em revisão.
- Exportar de um editor WYSIWYG
- Editores de texto rico emitem HTML denso e cheio de atributos. Cole essa saída aqui para recuperar o Markdown limpo por baixo — cabeçalhos, listas, links e ênfase — para que o conteúdo possa migrar para um pipeline de documentação ou uma base de conhecimento baseada em Markdown em vez de ficar preso no editor.
- Limpar HTML em Markdown para alimentar LLMs e pipelines RAG
- O HTML bruto queima tokens com tags, scripts e estilização que um modelo nunca precisa. Converter uma página raspada para Markdown elimina esse ruído enquanto mantém a estrutura que um LLM lê bem, então você encaixa mais conteúdo real na janela de contexto e obtém embeddings mais limpos para recuperação.
- Converter um texto rico colado em Markdown
- Copie texto formatado de uma página web, um e-mail ou um documento e ele chega como HTML na área de transferência. Cole-o aqui para transformar esse texto rico em Markdown que você pode commitar, enviar num pull request ou escrever nas suas notas — formatação preservada, bagunça eliminada.
- Arquivar uma página como Markdown
- Salve o conteúdo significativo de uma página web como um arquivo .md pequeno e à prova de futuro, em vez de um snapshot HTML pesado cheio de scripts e rastreamento. O Markdown permanece legível em qualquer editor de texto daqui a décadas e ocupa uma fração do espaço.
- Transformar documentação HTML legada em Markdown
- Documentação antiga escrita como HTML feito à mão é dolorosa de manter. Converta-a para Markdown para trazê-la a um fluxo de trabalho moderno de docs-as-code — onde ela pode ser passada por linter, revisada em pull requests e renderizada por um gerador de site estático.
Detalhes Técnicos
- Saída CommonMark vs GitHub Flavored Markdown
- O conversor pode mirar no CommonMark puro ou, por padrão, no superconjunto GitHub Flavored Markdown. O CommonMark define cabeçalhos, ênfase, listas, links, imagens, código e blockquotes com precisão. O GFM adiciona quatro construções que mapeiam diretamente de HTML comum: <table> → tabela com pipes, itens de lista com checkbox → listas de tarefas, <del>/<s> → texto riscado, e URLs nuas → autolinks. Como a maioria do conteúdo web usa tabelas e afins, a saída GFM é o padrão prático; escolha CommonMark apenas quando o renderizador de destino não entender as extensões GFM, caso em que tabelas caem para HTML bruto.
- Conversão com Perdas e Irreversível — Dito Claramente
- O HTML é estritamente mais expressivo do que o Markdown, então a conversão não pode ser sem perdas, e vale a pena ser franco sobre isso. O Markdown não tem sintaxe para <div>, <span> ou outros contêineres genéricos; nenhuma forma de carregar nomes de classe, id, style inline, colspan/rowspan ou atributos data-* arbitrários; e nenhuma representação para a maioria dos elementos semânticos ou de layout. Esses são desencapsulados (conteúdo mantido, tag descartada), descartados (atributos), ou — quando descartar perderia significado — preservados como HTML inline bruto. Uma ida e volta HTML → Markdown → HTML não reproduzirá o original. Essa é uma troca deliberada: o Markdown existe para ser limpo, comparável por diff e editável por humanos, não para espelhar o HTML. A maioria dos concorrentes ignora isso; declará-lo permite que você decida de olhos abertos se o Markdown é o destino certo.
- Compromissos de Estilo: ATX/Setext, Inline/Referência, Cercado/Indentado
- Três escolhas de saída têm compromissos reais. Cabeçalhos ATX (#) cobrem todos os seis níveis e fazem grep de forma limpa; Setext (sublinhado) só existe para H1/H2, então a ferramenta o emite para os dois níveis superiores e cai para ATX abaixo. Links inline mantêm a URL ao lado do texto — melhor para links esparsos; links de referência puxam as URLs para o pé do documento — melhor para prosa densa em links e reuso por rótulo. Para código, blocos cercados (três crases) carregam uma info string de linguagem e aninham com segurança, enquanto blocos de código indentados (quatro espaços) não conseguem expressar uma linguagem e quebram dentro de listas — então este conversor sempre emite blocos cercados a partir de <pre><code>.
Boas Práticas
- Formate o HTML Antes de Converter
- HTML minificado ou profundamente emaranhado — especialmente tabelas de layout aninhadas e elementos inline avulsos — converte de forma mais limpa quando está bem formado primeiro. Passe a fonte bagunçada pelo nosso Formatador HTML para fazer o pretty-print e normalizá-lo, depois converta. Entrada limpa rende Markdown limpo com menos quedas para HTML bruto.
- Espere e Revise as Perdas
- Trate a conversão como com perdas por design. Classes, estilos inline, invólucros <div>/<span> e atributos exóticos somem na saída, e isso geralmente é o que você quer para um Markdown portável — mas examine o resultado em busca de algo semanticamente importante que vivia apenas num atributo (um aria-label, uma célula mesclada por colspan) e adicione-o de volta à mão se importar.
- Escolha o Estilo de Link pela Densidade do Documento
- Use links inline para prosa com um link aqui e ali — a URL fica ao lado do seu texto e a fonte se lê naturalmente. Mude para links de referência quando uma seção tem muitos links ou reutiliza as mesmas URLs: puxá-las para uma lista numerada no pé mantém os parágrafos escaneáveis e evita repetir URLs longas.
- Converta para Markdown Antes de Enviar Páginas a um LLM
- Quando você alimenta conteúdo web a um modelo — para um prompt, um embedding ou um repositório RAG — converta o HTML para Markdown primeiro. Você elimina tags, scripts e estilização que desperdiçam tokens e adicionam ruído, mantém a estrutura que o modelo de fato usa e encaixa substancialmente mais conteúdo real dentro da janela de contexto.
- Verifique Tabelas Complexas Após a Conversão
- Tabelas com pipes GFM são planas — sem tabelas aninhadas, sem conteúdo de bloco em células, sem células mescladas. Após converter uma tabela densa em dados ou de layout, confira o Markdown: grades simples convertem perfeitamente, mas qualquer coisa com colspans ou blocos aninhados degrada e pode aparecer como HTML bruto. Simplifique a tabela de origem primeiro se uma tabela com pipes limpa importar.
Perguntas Frequentes
Como os links inline vs referência são tratados?
Cabeçalhos ATX vs Setext — qual devo usar?
O que acontece com HTML que o Markdown não consegue representar, como <div> e <span>?
Ele remove <script> e estilos?
Como tabelas e listas aninhadas são tratadas?
A conversão de HTML para Markdown é sem perdas?
Posso alimentar o Markdown a um LLM ou ChatGPT?
Meus arquivos são enviados para um servidor?
Funciona offline?
Posso converter Markdown de volta para HTML?
Ferramentas relacionadas
Ver todas as ferramentas →Decodificador e Codificador Base64
Codificação e Formatação
Decodifique e codifique Base64 online gratuitamente. Conversão em tempo real com suporte completo a UTF-8 e emoji. 100% privado — executa no seu navegador. Sem necessidade de cadastro.
Conversor de Base64 para Imagem
Codificação e Formatação
Decodifique uma string Base64 ou data URI de volta para imagem no navegador. Pré-visualize, leia dimensões e MIME, e baixe como PNG, JPG, GIF, SVG. Sem upload.
Conversor CSV para JSON
Codificação e Formatação
Converta CSV para JSON no navegador. RFC 4180, inferência de tipos, cabeçalho, seguro para inteiros grandes. 100% privado, sem upload.
Conversor de Imagem para Base64
Codificação e Formatação
Converta imagens em data URIs Base64 no seu navegador — PNG, JPG, GIF, WebP, SVG, ICO. Copie a saída em HTML, CSS, Markdown e JSON. 100% privado, sem upload.
JSON Diff (Comparar)
Codificação e Formatação
Compare dois arquivos JSON instantaneamente no navegador. Destaque lado a lado, saída JSON Patch (RFC 6902), ignore campos ruidosos como timestamps e IDs. 100% privado, sem upload.
Formatador e Validador JSON
Codificação e Formatação
Formate, valide e embeleze JSON instantaneamente no seu navegador. Ferramenta online gratuita com validação de sintaxe, detecção de erros, minificação e cópia com um clique. 100% privado — seus dados nunca saem do seu dispositivo.