Conversor HTML para Markdown (GFM)

Conversor HTML para Markdown (GFM)

Converta HTML para Markdown com tabelas GFM, blocos de código e suporte a capturas web. Remova estilos inline e exporte arquivos .md limpos.

Cenários Predefinidos
Parser DOM W3C ➔ Serializador Markdown0 nodes
DOM Tree0 nodesSanitizer-0 debrisGFM RulesGFMSerializer-0% bytes
Código HTML de OrigemHTML5
Dialeto Markdown:

Aguardando Código HTML

Caracteres0
Palavras0
Linhas0
Taxa de Redução0%
Índice de Limpeza100%
Tempo Estimado de Leitura1m
Referência técnica e guia de arquitetura

Conversor HTML para Markdown & GFM — Guia de referência

Converta HTML para Markdown com tabelas GFM, blocos de código e captura web limpa. Remova estilos inline redundantes e exporte arquivos MD sem ruído.

Conversor HTML para Markdown & GFM — Guia de referência — Arquitetura em memória do lado do cliente e fluxo de dados
Conversor HTML para Markdown & GFM — Guia de referência — Arquitetura em memória do lado do cliente e fluxo de dados

Parâmetros-chave e controles

Normalização de Títulos (ATX vs Setext)Protocolo de Cabeçalhos Markdown

Define a sintaxe estrutural dos títulos. O estilo ATX prefixa as linhas com um a seis cardinais (# a ######), padrão com suporte universal no GitHub, GitLab e Obsidian. O estilo Setext utiliza sublinhados com sinais de igual (===) para H1 e hifens (---) para H2, suportando apenas dois níveis de profundidade.

Padrão: ATX (# Título)
Serialização de Tabelas GFM & AlinhamentoParser AST de Tabelas

Converte elementos HTML <table>, <thead> e <tbody> em tabelas delimitadas por barras verticais (pipes) no padrão GitHub Flavored Markdown. Realiza o escape de barras literais dentro de células como (\|), normaliza o número de colunas e adiciona dois-pontos de alinhamento (:--- à esquerda, :---: centralizado, ---: à direita).

Padrão: GFM Delimitado por Pipes
Delimitador de Blocos de CódigoPadrão de Delimitação de Sintaxe

Determina os limites dos blocos de código delimitados (fenced). O uso de três crases (```) ou tis (~~~) preserva o identificador da linguagem (ex.: ```typescript). A indentação tradicional de 4 espaços segue a especificação CommonMark, mas não suporta metadados nativos de destaque de sintaxe.

Padrão: Crases Triplas (```)
Marcador de Lista Não OrdenadaPadrão Sintático de Listas

Define o caractere marcador para itens de lista (-, * ou +). O uso de hífen (-) oferece a leitura mais limpa em ferramentas de diff e linters de Markdown, além de evitar ambiguidades com marcadores de ênfase (*).

Padrão: Hífen (-)
Estratégia de Serialização de Links & MídiaArquitetura de Referência de URIs

O estilo inline formata hiperlinks diretamente como [âncora](url "título"), ideal para fluxos de leitura contínuos. O estilo por referência formata links como [âncora][id], consolidando as definições no rodapé do documento, ideal para documentações técnicas com citações repetitivas.

Padrão: Inline [texto](url)
Higienização DOM & Remoção de Estilos InlineDiretiva do Motor de Sanitização

Limpa a árvore DOM W3C removendo tags obsoletas de apresentação (<font>, <center>), eliminando atributos style inline (style="..."), expurgando parâmetros de rastreamento de URLs (utm_*, fbclid) e removendo comentários HTML para gerar um Markdown puramente semântico.

Padrão: Ativado (Limpeza Estrita)

Dicas profissionais e melhores práticas

Escape Caracteres de Barra Vertical (|) em Células para Evitar Quebra de Colunas

No GitHub Flavored Markdown (GFM), barras verticais sem escape (|) em células de tabela são interpretadas como delimitadores de coluna, corrompendo a estrutura da linha. A boa prática exige escapar barras literais como (\|) ou envolvê-las em crases de código inline (`|`). Nosso conversor detecta e escapa automaticamente caracteres pipe isolados em todas as células.

CommonMark Exige Dois Espaços Finais ou Barra Invertida para Quebras de Linha

No HTML, a tag <br> gera uma quebra de linha forçada. No CommonMark e no GFM, uma quebra de linha simples no editor é tratada como espaço em branco e aglutinada ao parágrafo. Para produzir uma quebra de linha visível sem abrir um novo parágrafo, termine a linha anterior com dois espaços finais ou uma barra invertida (\).

Listas Aninhadas Exigem Rigorosamente 4 Espaços ou Tabulação no CommonMark

Embora o GitHub Flavored Markdown tolere indentação flexível de 2 espaços para listas simples, a especificação CommonMark RFC 7763 exige que sublistas e blocos multilinhas sejam alinhados com o primeiro caractere após o marcador da lista pai (normalmente 4 espaços). Indentação insuficiente faz com que os parsers interpretem as sublistas como blocos de código raiz ou parágrafos avulsos.

Preserve HTML Bruto para Elementos Interativos Sem Suporte Nativo no Markdown

O Markdown não possui sintaxe nativa para painéis retráteis (<details><summary>), teclas de atalho (<kbd>), players de vídeo (<video>) ou subscrito/sobrescrito (<sub>/<sup>). Remover essas tags destrói a interatividade. Parsers modernos de Markdown (incluindo GitHub e MDX) permitem nativamente a passagem direta de HTML bruto para esses elementos.

Armadilhas comuns e solução de problemas

⚠️Colunas da Tabela Desconfiguradas em Texto Bruto Ilegível

As tabelas no padrão GFM exigem estritamente uma grade retangular com número uniforme de colunas e não suportam nativamente células mescladas criadas com atributos HTML colspan ou rowspan. Ao converter tabelas com mesclagem, normalize a estrutura em uma matriz retangular regular antes da conversão ou ative a opção de preservação de tags HTML brutas (Raw HTML Table Passthrough).

⚠️Formatação de Bloco de Código Quebrada por Conflito de Crases Aninhadas

Ao converter documentações técnicas ou cheatsheets que contêm blocos de código Markdown dentro de elementos HTML <pre><code>, as crases triplas internas colidem com o delimitador externo do bloco. Resolva isso alterando o delimitador do bloco externo para 4 crases (````) ou três tis (~~~), sintaxe expressamente reservada pela especificação CommonMark para escape de delimitadores.

⚠️Criação Acidental de Listas Numeradas em Anos ou Números de Versão

Linhas iniciadas por números seguidos de ponto e espaço (por exemplo, '2026. Um ano histórico' ou '1.0. Lançamento oficial') são interpretadas automaticamente pelo CommonMark como itens de lista ordenada, gerando auto-incremento numérico indesejado. Resolva esse problema escapando o ponto com uma barra invertida (ex.: '2026\. Um ano histórico').

Perguntas frequentes (FAQ)

Como converter tabelas HTML em tabelas GitHub Flavored Markdown?▼

As tabelas HTML são convertidas para o padrão GFM mapeando as células <th> em cabeçalhos delimitados por barras verticais (|), gerando uma linha divisória de alinhamento (ex.: | :--- | :---: | ---: | derivada de estilos text-align ou atributos align) e formatando cada <tr> como uma linha fechada por pipes. Quebras de linha dentro das células são transformadas em espaços ou tags <br>, e barras literais recebem escape como (\|).

Por que o bloco de código Markdown convertido perde o realce de sintaxe?▼

O realce de sintaxe (syntax highlighting) no Markdown requer um identificador de linguagem explícito logo após as crases de abertura (ex.: ```typescript). No HTML, esses metadados geralmente ficam gravados como classes CSS na tag <code> (como class="language-python" ou class="highlight-js"). Se o HTML original não possuir essas classes, o conversor criará um bloco de código genérico sem coloração sintática.

Qual é a diferença entre CommonMark e GitHub Flavored Markdown (GFM)?▼

O CommonMark é a especificação formal e inequívoca da sintaxe central do Markdown (RFC 7763), criada para eliminar divergências entre diferentes interpretadores. Já o GitHub Flavored Markdown (GFM) é um superconjunto estrito do CommonMark que expande o padrão com recursos fundamentais para engenharia de software: tabelas com delimitadores de pipe, listas de tarefas com caixas de seleção ([ ] / [x]), texto tachado (~~del~~) e autolinks para URLs.

Como converter texto rico copiado de páginas web diretamente para Markdown sem abrir o código-fonte HTML?▼

Sistemas operacionais modernos gravam texto simples e código HTML formatado simultaneamente na área de transferência. Ao utilizar o botão 'Colar Texto Formatado' em nosso conversor, a Clipboard API assíncrona do navegador (navigator.clipboard.read) extrai diretamente o payload MIME text/html, convertendo textos estruturados, tabelas e links sem necessidade de inspecionar elementos pelo DevTools.

Como o conversor processa tags HTML não suportadas pelo Markdown, como video ou iframe?▼

As especificações padrão do Markdown omitem intencionalmente elementos multimídia incorporados e componentes interativos avançados. O conversor processa essas tags por meio de duas abordagens configuráveis: (1) Preservação de elementos W3C válidos (<video>, <iframe>, <details>, <summary>, <kbd>) como HTML bruto inline, renderizado sem falhas por interpretadores modernos de Markdown, ou (2) Remoção integral de tags não semânticas para gerar uma saída textual estritamente limpa.

Ferramentas e utilitários relacionados

Todas as ferramentas →