Conversor de Markdown para HTML

Cole Markdown e receba HTML semântico limpo de volta, <h1> a <h6>, <ul>, <ol>, <table>, <pre><code> com sintaxe destacada, <blockquote>, URLs autolinkadas. Escolha documento completo (com <html>, <head> e uma folha de estilo mínima) ou fragmento (apenas o conteúdo do corpo) dependendo se você está integrando em uma página existente ou produzindo um arquivo autônomo.

Como converter Markdown para HTML

  1. 1

    Cole Markdown

    Documento completo ou trecho. O front-matter YAML é removido automaticamente se presente.

  2. 2

    Escolha o conjunto de extensões

    Somente CommonMark, GFM (tabelas, listas de tarefas, autolinks) ou GFM + matemática.

  3. 3

    Escolha o modo de saída

    Fragmento para incorporação, ou documento HTML completo com cabeçalho e CSS mínimo.

  4. 4

    Copie ou baixe HTML

    Pegue o HTML como texto ou salve como um arquivo `.html`.

Tabela de mapeamento

Markdown HTML
# Heading 1 <h1>Heading 1</h1>
**bold** <strong>bold</strong>
*italic* <em>italic</em>
`code` <code>code</code>
Código cercado com lang <pre><code class="language-js">
- item <ul><li>item</li></ul>
1. item <ol><li>item</li></ol>
> quote <blockquote><p>quote</p></blockquote>
[text](url) <a href="url">text</a>
![alt](src) <img src="src" alt="alt">
--- <hr>
Tabela GFM <table><thead>...</thead>...
- [x] done <input type="checkbox" checked disabled>

Realce de sintaxe

Blocos de código cercados com dicas de linguagem recebem um atributo class="language-xxx" no elemento <code>. O conversor também insere a saída tokenizada do highlight.js quando você ativa “pré-destacado”, útil se a página de destino não carregar um tempo de execução de realce.

Documento completo vs. fragmento

  • Fragmento é apenas o HTML interno, comece com <h1> ou qualquer que seja o primeiro elemento. Cole em um bloco CMS existente, corpo de e-mail ou componente frontend.
  • Documento completo envolve o fragmento em <!DOCTYPE html>, <html>, <head> com uma pequena folha de estilo padrão (tipografia, blocos de código, tabelas). Salve como .html e ele abre em qualquer navegador, sem arquivos extras necessários.

CSS inline vs. externo

  • Estilos inline (alternar) colocam todo o CSS diretamente nos elementos. Feio, mas à prova de falhas para modelos de e-mail.
  • Classes (padrão) mantêm o HTML limpo e esperam que a folha de estilo do seu site cuide da formatação.

Notas de acessibilidade

  • Os cabeçalhos são renderizados como <h1><h6> semânticos, preservando sua hierarquia. Não pule níveis na fonte.
  • Imagens sem texto alternativo produzem <img alt=""> (um alt vazio intencional para imagens decorativas), mas adicione texto alternativo, a menos que a imagem realmente seja decoração.
  • Tabelas recebem um <thead> para a linha do cabeçalho, melhorando a navegação por leitores de tela.

Perguntas frequentes

Sim. HTML bruto na fonte é passado com tags de script e atributos de evento removidos. Se você precisar de saída não sanitizada (você confia na entrada), há um alternador, não use em conteúdo fornecido pelo usuário.

Listas de tarefas GFM (- [x], - [ ]) se tornam elementos <input type="checkbox" disabled>. O atributo disabled impede mudanças acidentais de estado na visualização renderizada.

Sim, ative estilos inline. O conversor insere um atributo de estilo mínimo em cada bloco, que é o que os clientes de e-mail (Outlook, Gmail) precisam, pois eles removem blocos <style>.

Ative a extensão de matemática e blocos $x^2$ ou $$...$$ são renderizados via KaTeX. O conversor gera SVG ou HTML estático, sem necessidade de MathJax em tempo de execução.

Não. A análise e a geração de HTML acontecem no seu navegador. A fonte e a saída nunca saem do seu dispositivo.

Ferramentas relacionadas

Ferramenta disponível em outros idiomas