O que esta ferramenta faz
Entra HTML, sai Markdown.
<h1>Título</h1>
<p>Algo em <strong>negrito</strong> e um <a href="https://x.dev">link</a>.</p>
<ul><li>um</li><li>dois</li></ul>
# Título
Algo em **negrito** e um [link](https://x.dev).
* um
* dois
Os títulos são ATX a menos que você peça setext, os marcadores são * a menos que você peça -, e um <pre><code class="language-js"> guarda a linguagem na cerca.
Uma tabela continua tabela
<table><tr><th>Nome</th><th>Papel</th></tr><tr><td>Ada</td><td>Autora</td></tr></table>
| Nome | Papel |
| --- | --- |
| Ada | Autora |
O turndown não tem regra para <table>: antes desta página, uma tabela saía como suas células, uma linha debaixo da outra, e nada no resultado dizia que ali houve uma grade. É o pior tipo de defeito — uma saída que se lê como se estivesse certa. A regra agora escreve uma tabela GFM, e uma tabela sem <th> usa a primeira linha como cabeçalho, porque o GFM não aceita nenhuma sem ele.
Um script não é um parágrafo
<p>Olá</p><script>alert(1)</script>
Olá
O corpo de um <script> é código que o navegador executa, não texto que ele mostra, e estava sendo copiado para o seu documento como prosa. O <style> fazia o mesmo com o CSS. Os dois são removidos. Tudo o que a página realmente exibe fica.
O que uma tabela de pipes não segura
Uma tabela GFM é uma grade de células de uma linha só, então quatro coisas são achatadas em vez de perdidas:
colspanerowspan. A célula guarda a sua coluna e o resto do trecho fica vazio; as linhas sob umrowspanandam uma coluna para a esquerda.- Uma tabela dentro de uma célula. O GFM não tem tabelas aninhadas: a de dentro é escrita em linha na sua célula, com os pipes escapados.
- Parágrafos e listas dentro de uma célula. São juntados numa linha só.
- A
<caption>. Não tem lugar numa tabela de pipes, então vira um parágrafo logo acima em vez de sumir.
O resto — a ordem dos blocos, o texto, os links — passa como estava.
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.