100 % local — seus dados nunca saem do seu navegador

Markdown para HTML — cole numa template

Transforme Markdown em HTML: tabelas GFM, listas de tarefas, riscado e notas de rodapé, prontos para uma página, um modelo de e-mail ou um CMS.

Instantâneo Privado Zero cookies

Entrada Markdown

Saída HTML

O que esta ferramenta faz

Entra Markdown, sai HTML.

# Título

Algo em **negrito** e um [link](https://x.dev).
<h1>Título</h1>
<p>Algo em <strong>negrito</strong> e um <a href="https://x.dev">link</a>.</p>

O GitHub Flavored Markdown está ligado: tabelas, listas de tarefas, riscado e links automáticos são lidos. Um bloco cercado guarda a linguagem em class="language-js", que é o que os destacadores esperam.

Enfim, notas de rodapé

Ada escreveu o primeiro algoritmo[^1].

[^1]: Sobre as notas de Menabrea, 1843.
<p>Ada escreveu o primeiro algoritmo<sup class="footnote-ref"><a href="#fn-1" id="fnref-1">1</a></sup>.</p>
<section class="footnotes">
<ol>
<li id="fn-1"><p>Sobre as notas de Menabrea, 1843. <a href="#fnref-1">↩</a></p></li>
</ol>
</section>

O marked, a biblioteca por trás desta ferramenta, não tem regra para notas. [^1] era então lido como link de referência e [^1]: Sobre as notas de Menabrea, 1843. como a definição dele: a marca virava um link para uma página com o nome da nota, e o texto da nota não aparecia em lugar nenhum. Era um defeito real, encontrado ao escrever esta página e corrigido. As notas são numeradas na ordem das marcas, e uma marca sem nota atrás continua sendo o texto que é.

O HTML é seu, e não está sanitizado

Um [link inofensivo](javascript:alert(1)) e <div onclick="roubar()">HTML cru</div>.

Os dois passam intactos, e aí o Markdown cumpre o que promete: o formato permite HTML cru, e um conversor que o tirasse estaria mentindo sobre o seu documento. O resultado, aqui, é exibido como texto e nunca inserido na própria página.

A consequência é sua: se o Markdown vem de outra pessoa — um comentário, um chamado, um formulário —, sanitize o HTML antes de publicar. Uma biblioteca como o DOMPurify faz isso numa chamada, e o lugar dela é onde o HTML é publicado, não aqui.

O que você não recebe

  • Um documento. Sem <html>, sem <head>, sem codificação declarada, sem folha de estilo: isto é um fragmento para colar dentro de algo.
  • Âncoras nos títulos. O GitHub põe um id em cada título; é convenção de exibição, não Markdown, então os <h2> saem nus.
  • Um <br> a cada quebra de linha. Uma quebra simples dentro do parágrafo continua sendo um espaço, como manda a especificação. Dois espaços no fim da linha, ou uma linha em branco, fazem o que você espera.

Privado por padrão

Tudo é executado localmente no seu navegador com JavaScript. Os seus dados nunca são enviados para um servidor, o que torna a ferramenta segura para conteúdo sensível e funciona offline.

Perguntas frequentes

O HTML é sanitizado?
Não, e essa é a regra do Markdown, não um descuido: o formato permite HTML cru, então um `<script>` ou um `onclick` escrito no seu Markdown sai exatamente como entrou. Esta página mostra o resultado como texto e nunca o insere em si mesma. Se você converte Markdown de outra pessoa para publicar, passe antes por um sanitizador — um `[link](javascript:…)` passa pelo mesmo motivo.
As notas de rodapé funcionam?
Sim, desde que esta página foi escrita. O marked não tem regra para elas: `[^1]` era lido como link de referência e `[^1]: a nota` como a definição dele, de modo que a marca virava um link para uma página chamada “a nota” e a nota sumia do documento. Agora são numeradas na ordem das marcas e reunidas no pé, com link de volta, como o GitHub as mostra.
O que eu recebo exatamente?
Um fragmento, não um documento: sem `<html>`, sem `<head>`, sem folha de estilo e sem `id` nos títulos. Cole num template ou num campo de CMS. O GFM está ligado: tabelas, listas de tarefas, riscado, links automáticos e blocos cercados com `class="language-…"` passam todos.

Conversores relacionados