Você escreveu um post em Markdown, mas a plataforma de blog só aceita HTML. Você quer inserir um corpo formatado em Markdown dentro de um template de e-mail. Você está trazendo conteúdo Markdown para o editor WYSIWYG de um CMS. Todos esses cenários terminam na mesma etapa: converter Markdown em HTML.
O Pandoc ou um script de build podem fazer isso localmente, mas digitar um comando a cada colagem rápida acaba ficando tedioso, e muita gente prefere não colar rascunhos internos em uma ferramenta online de terceiros. Este guia aborda a relação entre Markdown e HTML, quando essa conversão aparece na prática e como fazê-la diretamente no navegador.
Resposta rápida
Cole seu Markdown em Markdown para HTML e pressione Run. O HTML aparece instantaneamente. Nada para instalar, e a conversão roda inteiramente no navegador — seus dados nunca saem da sua máquina.
A saída segue duas especificações: CommonMarkAbre em uma nova aba para a sintaxe central, e a especificação do GitHub Flavored MarkdownAbre em uma nova aba para tabelas, listas de tarefas, texto tachado e autolinks. Para entender como as duas diferem, veja CommonMark vs GFM.
Como Markdown e HTML se relacionam
Markdown é uma linguagem de marcação leve que prioriza a legibilidade humana enquanto ainda expressa estrutura. HTML é o formato que os navegadores realmente renderizam, com tags envolvendo cada parte do conteúdo. Os dois se mapeiam de forma direta um no outro. Este Markdown:
# Heading
This is a paragraph with **bold** and _italic_.
- Item 1
- Item 2
se transforma neste HTML:
<h1>Heading</h1>
<p>This is a paragraph with <strong>bold</strong> and <em>italic</em>.</p>
<ul>
<li>Item 1</li>
<li>Item 2</li>
</ul>
O Markdown foi projetado com a saída em HTML em mente, e o mapeamento de sintaxe para tag é, em grande parte, de um para um.
Quando a conversão aparece
Plataformas de blog e CMS sem suporte a Markdown
O editor clássico do WordPress, vários CMSes legados e muitas ferramentas internas de publicação ainda esperam HTML diretamente. Escrever em Markdown e converter na entrada é mais rápido do que brigar com um editor WYSIWYG por consistência de layout.
E-mail HTML
Plataformas de newsletter aceitam corpos em HTML. Escrever a fonte em Markdown mantém o rascunho legível e ainda permite que você entregue o HTML final dentro de um template.
Sites estáticos e pipelines de documentação
Alguns geradores de sites estáticos ou ferramentas de documentação não interpretam Markdown diretamente e esperam HTML pré-renderizado como parte da etapa de build.
Converta com o FormatArc
Markdown para HTML recebe o Markdown colado e produz HTML. Não há nada para instalar.
Passo 1: Abra a ferramenta
Acesse Markdown para HTML.
Passo 2: Cole seu Markdown
Cole a fonte Markdown no painel esquerdo. Títulos, listas, links, imagens, blocos de código cercados e o restante da sintaxe comum são suportados.
Passo 3: Pressione Run
Pressione Run e o HTML aparece no painel direito.


O GitHub Flavored Markdown está ativado, então tabelas com pipe (| col1 | col2 |) e checkboxes de listas de tarefas (- [x]) são convertidos nos elementos HTML correspondentes.
A conversão roda inteiramente no navegador. Rascunhos não publicados e documentos internos permanecem na sua máquina.
Sintaxe suportada
Os principais recursos do GFM são cobertos:
- Títulos (
#até######) - Parágrafos e quebras de linha
- Ênfase (
**bold**,_italic_,~~strikethrough~~) - Listas ordenadas e não ordenadas
- Listas de tarefas (
- [ ],- [x]) - Links e imagens
- Código inline e blocos de código cercados
- Tabelas
- Citações em bloco
- Linhas horizontais
Notação matemática (KaTeX, MathJax) não é suportada.
Para um olhar mais aprofundado sobre como as tabelas Markdown são escritas — pipes, alinhamento, escape de células, conteúdo multilinha — veja o cheatsheet de sintaxe de tabelas Markdown.
Markdown para HTML em código: quando você precisa de uma biblioteca
Uma ferramenta no navegador é ótima para conversões pontuais, mas se você está construindo um pipeline, um site estático ou embutindo a conversão dentro de uma aplicação, uma biblioteca JavaScript ou CLI é a escolha certa. Aqui estão as opções que a maioria dos desenvolvedores costuma usar.
marked.js (navegador e Node)
Um parser de Markdown pequeno e rápido que roda tanto no navegador quanto no Node. Instale com npm install marked e converta em uma linha:
import { marked } from 'marked';
const html = marked.parse('# Hello\n\nThis is **bold**.');
O GFM vem ativado por padrão, então listas de tarefas, tabelas com pipe e blocos de código cercados seguem a especificação sem configuração extra.
Sem etapa de build? Carregue a partir de um CDN e converta direto na página — combine com um sanitizador como o DOMPurify sempre que a entrada não for o seu próprio texto:
<script type="module">
import { marked } from 'https://cdn.jsdelivr.net/npm/marked/lib/marked.esm.js';
document.body.innerHTML = marked.parse('# Hello from the browser');
</script>
markdown-it (parser extensível)
Outro parser popular de Markdown para HTML, construído em torno de um sistema de plugins. Recorra a ele quando precisar de notas de rodapé, blocos contêiner, contêineres personalizados ou qualquer sintaxe fora do padrão:
import MarkdownIt from 'markdown-it';
const md = new MarkdownIt({ html: true, linkify: true });
const html = md.render('# Hello\n\nThis is **bold**.');
Para tabelas e listas de tarefas, instale os plugins equivalentes ao GFM (markdown-it-task-lists, etc.), já que não vêm ativados por padrão.
remark (pipeline unificado)
marked e markdown-it entregam uma string HTML em uma única etapa. O remarkAbre em uma nova aba segue outro caminho: ele analisa o Markdown em uma árvore de sintaxe que os plugins transformam antes de qualquer coisa ser serializada para HTML. A conversão vira um pipeline: remark-gfm para tabelas e listas de tarefas, remark-rehype para passar para a árvore HTML, depois rehype-sanitize ou qualquer outra transformação que você precise, terminando em rehype-stringify:
import { remark } from 'remark';
import remarkGfm from 'remark-gfm';
import remarkRehype from 'remark-rehype';
import rehypeSanitize from 'rehype-sanitize';
import rehypeStringify from 'rehype-stringify';
const html = await remark()
.use(remarkGfm)
.use(remarkRehype)
.use(rehypeSanitize)
.use(rehypeStringify)
.process('# Hello\n\nThis is **bold**.');
Isso é mais peças em movimento do que um marked.parse() de uma linha só, e essa é exatamente a troca: escolha remark quando a conversão é uma etapa dentro de uma transformação maior (sanitização, âncoras de título, um sumário gerado) e não o trabalho todo. É assim também que o próprio FormatArc divide o trabalho internamente: a ferramenta Markdown para HTML converte o texto colado com marked, enquanto o blog que você está lendo é renderizado por um pipeline remark + rehype (GFM, sanitização, âncoras de título para o sumário).
Pandoc (CLI)
O conversor universal de documentos. É a melhor escolha para pipelines de build, jobs em lote ou quando você precisa converter entre formatos além de Markdown ↔ HTML:
pandoc -f markdown -t html input.md -o output.html
O Pandoc suporta CommonMark, GFM, MultiMarkdown e mais via flags. É mais lento que as bibliotecas JS para uma única conversão, mas imbatível em cobertura de formatos e saída em PDF / DOCX.
Por padrão, o Pandoc gera um fragmento HTML. Estas flags do manual do PandocAbre em uma nova aba cobrem a maioria das necessidades de conversão para HTML:
| Flag | O que faz |
|---|---|
-f gfm | Interpreta a entrada como GitHub Flavored Markdown em vez do Markdown estendido do Pandoc |
--standalone | Gera um documento HTML completo com <html> e <head> em vez de um fragmento |
--toc | Gera um sumário a partir dos títulos (só tem efeito com --standalone) |
--template FILE | Renderiza a saída usando seu próprio template HTML |
--embed-resources | Incorpora imagens, CSS e scripts para produzir um único arquivo autocontido |
--highlight-style STYLE | Escolhe um tema de realce de sintaxe para os blocos de código (pygments, kate, ...) |
Comparação
| Ferramenta | Roda no navegador | Tabelas GFM nativas | Requer instalação | Melhor para |
|---|---|---|---|---|
| FormatArc (esta ferramenta) | Sim | Sim | Não | Conversão pontual por colagem |
| marked.js | Sim | Sim | Sim (npm) | Conversão embutida em app |
| markdown-it | Sim | Via plugin | Sim (npm) | Extensões de sintaxe personalizadas |
| remark | Sim | Via plugin (remark-gfm) | Sim (npm) | Pipelines em várias etapas (sanitização, sumário, transformações personalizadas) |
| Showdown | Sim | Via opção (tables: true) | Sim (npm) | Projetos antigos; também converte de HTML para Markdown |
| Pandoc | Não | Sim | Sim (binário) | Pipelines de build, lotes multi-formato |
Se você só precisa colar Markdown e copiar HTML, a ferramenta no navegador acima é suficiente. Para builds automatizados, Pandoc. Para integração em app ou empacotar um parser em um bundle de frontend, marked.js ou markdown-it.
Pontos de atenção ao usar a saída
Sanitize entradas não confiáveis separadamente
O Markdown permite HTML bruto, o que significa que quaisquer tags <script> na fonte passam diretamente para a saída. Se você está convertendo o seu próprio texto, tudo bem. Se está convertendo entrada de usuários ou de qualquer fonte não confiável, passe o resultado pelo DOMPurify ou um sanitizador semelhante antes de renderizá-lo.
Nenhuma estilização incluída
A saída é apenas HTML estrutural. CSS não é adicionado. A expectativa é que onde quer que você cole — um blog, um CMS, um template de e-mail — forneça os estilos visuais.
Realce de sintaxe em blocos de código
Especificar uma linguagem com ```js adiciona class="language-js" ao elemento <code> renderizado, mas o realce de sintaxe de fato exige carregar algo como Prism.js ou highlight.js na página que o renderiza.
Perguntas frequentes
Isso suporta GitHub Flavored Markdown (tabelas, listas de tarefas, código cercado)?
Sim. O conversor segue a especificação do GitHub Flavored Markdown, então tabelas com pipe (| col1 | col2 |), checkboxes de listas de tarefas (- [x]), texto tachado (~~text~~) e blocos de código cercados com dicas de linguagem opcionais são todos convertidos nos elementos HTML correspondentes.
A conversão é feita no navegador?
Sim. Tanto a análise quanto a geração de HTML rodam inteiramente no seu navegador usando JavaScript. Nada é enviado para um servidor, então rascunhos internos e documentos não publicados permanecem na sua máquina.
Devo sanitizar a saída HTML antes de publicar?
Se a fonte é o seu próprio texto, a saída pode ser usada diretamente com segurança. Se o Markdown vem de uma fonte não confiável, como entrada de formulário ou conteúdo de terceiros, passe o resultado por um sanitizador como o DOMPurify antes de renderizá-lo. HTML bruto embutido no Markdown — incluindo tags <script> — passa para a saída como está.
Qual a diferença em relação ao Pandoc?
O Pandoc é um conversor de linha de comando poderoso que lida com muitos formatos e produz uma saída altamente personalizável, mas exige instalação e um terminal. Esta ferramenta no navegador é mais rápida para conversões pontuais: cole, clique em Run, copie o resultado. Para pipelines de build e jobs em lote, o Pandoc continua sendo a melhor escolha.
Posso converter HTML de volta para Markdown?
Sim. Para o sentido inverso, use o conversor de HTML para Markdown, que reduz as tags HTML a uma fonte Markdown limpa. O artigo complementar é o guia de HTML para Markdown.
Se seus arquivos Markdown têm frontmatter YAML, veja Frontmatter YAML para JSON em Markdown para a matriz de compatibilidade com SSGs e os cinco tipos que quebram durante a conversão.
Para finalizar
Converter Markdown em HTML é algo com que todo usuário de Markdown acaba se deparando em algum momento. Para conversões pontuais, uma ferramenta no navegador como Markdown para HTML é mais rápida do que instalar e lembrar de uma CLI.
Para o sentido inverso, veja HTML para Markdown. Para transformar CSV em uma tabela Markdown, veja o guia de CSV para Markdown. Se você quer a mesma conversão a partir da barra de ferramentas do seu navegador, confira o guia da Extensão FormatArc para Chrome 2026.