ToolDeck

Conversor HTML para Markdown

Converta HTML para o formato Markdown

Experimente um exemplo

Entrada HTML

Saída Markdown

Roda localmente · Seguro para colar segredos
A saída Markdown aparecerá aqui…

O que é a conversão de HTML para Markdown?

A conversão de HTML para Markdown transforma marcação HTML em Markdown, uma sintaxe leve de formatação em texto simples criada por John Gruber em 2004. O Markdown foi projetado para ser legível sem renderização. Enquanto o HTML exige tags de abertura e fechamento como <strong> e <a href="">, o Markdown usa caracteres abreviados: **negrito**, [links](url) e # títulos. Converter HTML para Markdown produz arquivos mais fáceis de ler, editar e versionar do que HTML puro.

O processo de conversão mapeia elementos HTML para seus equivalentes em Markdown. Um <h2> vira ##, um <ul><li> vira - item, e uma tag <a> vira [texto](url). Alguns elementos HTML não têm equivalente direto em Markdown, como <div>, <span> ou atributos de dados personalizados. Conversores geralmente removem essas tags ou as repassam como HTML puro, dependendo da configuração.

O Markdown se tornou o formato de escrita padrão para documentação de desenvolvedores (GitHub, GitLab, Bitbucket), geradores de sites estáticos (Hugo, Jekyll, Astro), aplicativos de anotações (Obsidian, Notion) e blogs técnicos. Converter conteúdo HTML existente para Markdown é uma etapa comum ao migrar sites, importar conteúdo de CMS ou arquivar páginas da web em um formato portátil. Ao contrário do HTML, arquivos Markdown geram diffs limpos no controle de versão, tornando a revisão de alterações em documentação algo prático.

Por que usar um conversor de HTML para Markdown?

Reescrever HTML manualmente como Markdown é lento e sujeito a erros, especialmente em páginas com listas aninhadas, tabelas ou dezenas de links. Um conversor automatizado realiza o mapeamento estrutural de forma instantânea e consistente.

Converta instantaneamente no navegador
Cole o HTML e obtenha a saída em Markdown em milissegundos. Sem ida ao servidor, sem filas de processamento. A conversão roda inteiramente no seu navegador usando JavaScript.
🔒
Mantenha seus dados privados
O seu HTML nunca sai do seu dispositivo. Todo o processamento ocorre no lado do cliente, sem upload, sem registro e sem acesso de terceiros ao seu conteúdo.
📝
Preserve a estrutura do documento
Títulos, listas, links, imagens, blocos de código e tabelas são mapeados para seus equivalentes corretos em Markdown. Estruturas aninhadas e formatação inline são tratadas recursivamente.
🔀
Sem conta ou instalação necessária
Abra a ferramenta e comece a converter. Não há nada para instalar, nenhuma chave de API para configurar e nenhum formulário de cadastro. Funciona em qualquer dispositivo com um navegador moderno.

Casos de uso: HTML para Markdown

Desenvolvedor Frontend: Migração de CMS
Exporte posts ou páginas do WordPress, Drupal ou de um CMS headless como HTML e converta-os para Markdown para uso com geradores de sites estáticos como Next.js, Astro ou Hugo.
Engenheiro Backend: Documentação de API
Converta documentações de API geradas automaticamente em HTML para arquivos Markdown que ficam junto ao seu código-fonte. Documentos Markdown se integram com a renderização do GitHub e podem ser versionados junto ao código que descrevem.
DevOps: Conversão de Runbooks
Transforme páginas de wikis internos (Confluence, SharePoint) exportadas como HTML em runbooks Markdown armazenados no seu repositório Git junto ao código de infraestrutura que descrevem.
Engenheiro de QA: Documentação de Casos de Teste
Converta relatórios de teste HTML ou planos de teste manuais de ferramentas web em arquivos Markdown que podem ser revisados em pull requests junto às mudanças de código que verificam.
Engenheiro de Dados: Limpeza de Web Scraping
Remova o HTML desnecessário de páginas raspadas e produza texto Markdown limpo. Isso elimina navegação, anúncios e marcação de layout, preservando o conteúdo e a estrutura do artigo.
Estudante: Notas de Pesquisa
Copie conteúdo de recursos da web e converta o HTML para Markdown para importar no Obsidian, Notion ou qualquer sistema de anotações baseado em Markdown. Preserva títulos, links e formatação.

Referência de Elementos HTML para Markdown

A tabela abaixo mostra como os elementos HTML mais comuns mapeiam para seus equivalentes em Markdown. Esse mapeamento segue as convenções do GitHub-Flavored Markdown (GFM), que estende a especificação CommonMark com tabelas, tachado e listas de tarefas. Elementos não listados aqui (como <div>, <form> ou componentes web personalizados) não têm equivalente em Markdown e são removidos ou repassados como HTML puro.

Elemento HTMLSintaxe MarkdownObservações
<h1>...<h6># ... ######ATX headings, level matches tag number
<p>Blank line separationDouble newline between paragraphs
<strong>, <b>**text**Bold / strong emphasis
<em>, <i>*text*Italic / emphasis
<a href="url">[text](url)Inline link with optional title
<img src="url">![alt](url)Image with alt text
<ul><li>- itemUnordered list with dash or asterisk
<ol><li>1. itemOrdered list, numbers restart per block
<blockquote>> textBlock quote, nestable with >>
<code>`code`Inline code span
<pre><code>```lang\ncode\n```Fenced code block with optional language
<hr>---Horizontal rule (three dashes)
<table>| col | col |GFM table syntax with alignment
<del>, <s>~~text~~Strikethrough (GFM extension)

Variantes do Markdown: GFM vs CommonMark vs Original

Nem todo Markdown é igual. O formato de saída importa porque diferentes plataformas processam Markdown de forma diferente. As três variantes mais comuns são GitHub-Flavored Markdown (GFM), CommonMark e o Markdown original de Gruber.

GitHub-Flavored Markdown (GFM)
A variante mais amplamente utilizada. Adiciona tabelas (sintaxe de pipes), tachado (~~texto~~), listas de tarefas (- [x]) e URLs com link automático. Usado pelo GitHub, GitLab e pela maioria das ferramentas para desenvolvedores. Este conversor gera Markdown compatível com GFM por padrão.
CommonMark
Uma especificação rigorosa que resolve ambiguidades na sintaxe Markdown original. Define regras exatas para continuação de listas, análise de ênfase e aninhamento em nível de bloco. Usado como base para GFM e muitos geradores de sites estáticos.
Markdown Original
A especificação de 2004 de John Gruber. Não suporta tabelas, blocos de código delimitados ou tachado. A maioria das ferramentas modernas o trata como um subconjunto do CommonMark. Raramente usado como formato alvo hoje em dia.

Exemplos de Código

Exemplos funcionais em JavaScript (Turndown), Python (markdownify e html2text), Go e Pandoc na linha de comando.

JavaScript (Turndown)
import TurndownService from 'turndown'

const turndown = new TurndownService({ headingStyle: 'atx' })
const html = '<h1>Title</h1><p>A <strong>bold</strong> paragraph.</p>'
const md = turndown.turndown(html)
console.log(md)
// → "# Title\n\nA **bold** paragraph."
Python (markdownify)
from markdownify import markdownify

html = '<h2>Section</h2><ul><li>First</li><li>Second</li></ul>'
md = markdownify(html, heading_style='ATX')
print(md)
# → "## Section\n\n- First\n- Second"
Python (html2text)
import html2text

converter = html2text.HTML2Text()
converter.body_width = 0  # disable line wrapping

html = '<p>Visit <a href="https://example.com">Example</a> for details.</p>'
md = converter.handle(html)
print(md)
# → "Visit [Example](https://example.com) for details."
Go (html-to-markdown)
package main

import (
	"fmt"
	md "github.com/JohannesKaufmann/html-to-markdown"
)

func main() {
	converter := md.NewConverter("", true, nil)
	html := `<h3>Go Example</h3><p>Code: <code>fmt.Println()</code></p>`
	markdown, _ := converter.ConvertString(html)
	fmt.Println(markdown)
	// → "### Go Example\n\nCode: `fmt.Println()`"
}
CLI (Pandoc)
# Convert an HTML file to Markdown
pandoc input.html -f html -t markdown -o output.md

# Pipe HTML from stdin
echo '<p>Hello <em>world</em></p>' | pandoc -f html -t markdown
# → Hello *world*

# Use GitHub-Flavored Markdown output
pandoc input.html -f html -t gfm -o output.md

Perguntas Frequentes

Quais elementos HTML não podem ser convertidos para Markdown?
O Markdown não tem equivalente para <div>, <span>, <form>, <input>, <iframe> ou qualquer elemento com classes CSS e estilos personalizados. A maioria dos conversores remove essas tags e mantém apenas o texto interno. Alguns conversores podem repassar HTML não suportado sem alterações, o que é válido já que a especificação Markdown permite explicitamente HTML inline. Se você precisar preservar esses elementos, configure seu conversor para manter o HTML puro em vez de removê-lo.
Como as tabelas HTML são convertidas para Markdown?
Tabelas HTML mapeiam para a sintaxe de tabela de pipes do GFM: | Cabeçalho | Cabeçalho | com uma linha separadora | --- | --- |. As tabelas GFM não suportam colspan, rowspan ou estilo a nível de célula. Tabelas complexas com células mescladas são achatadas, o que pode perder informações estruturais. Para tabelas de dados simples, a conversão é sem perdas.
A conversão de HTML para Markdown é sem perdas?
Não. O Markdown é um subconjunto do HTML, portanto, algumas informações sempre são perdidas durante a conversão. Classes CSS, estilos inline, atributos de dados, elementos de formulário e tags semânticas como <article> ou <section> não têm equivalente em Markdown. O conteúdo de texto e a estrutura básica (títulos, listas, links, ênfase) são preservados com precisão. Para a maioria dos fluxos de trabalho de documentação e migração de conteúdo, os elementos preservados são os que realmente importam.
Qual é a diferença entre HTML para Markdown e HTML para texto simples?
HTML para texto simples remove toda a formatação e produz texto bruto sem estrutura. HTML para Markdown preserva a estrutura do documento: títulos continuam sendo títulos, links mantêm suas URLs, listas permanecem como listas e a ênfase é mantida. A saída Markdown pode ser renderizada de volta para HTML com a mesma estrutura lógica.
Posso converter Markdown de volta para HTML?
Sim. Todo processador Markdown (marked, markdown-it, Python-Markdown, goldmark) converte Markdown para HTML. Essa ida e volta é um dos motivos pelos quais o Markdown é popular: você escreve em um formato legível e renderiza para HTML na web. A ida e volta não é perfeitamente simétrica porque a conversão de HTML para Markdown descarta elementos não suportados.
Como o conversor trata HTML com CSS inline ou JavaScript?
CSS inline (atributos style) e blocos <style> são removidos durante a conversão, já que o Markdown não tem sintaxe de estilo. JavaScript (tags <script> e manipuladores de eventos como onclick) também é removido. O conversor extrai apenas o conteúdo e a estrutura do documento. Isso torna a conversão de HTML para Markdown uma etapa útil de sanitização ao importar conteúdo HTML não confiável para sua documentação.
Qual variante de Markdown devo usar no meu projeto?
Use GitHub-Flavored Markdown (GFM) se o seu conteúdo for visualizado no GitHub, GitLab ou na maioria das plataformas de documentação. Use CommonMark se precisar de conformidade estrita com a especificação e análise previsível em diferentes renderizadores. O Markdown original é relevante apenas para sistemas legados. O GFM é o padrão mais seguro para a maioria dos projetos.