Markdown para HTML
Converta Markdown para HTML com suporte de sintaxe estilo GitHub — tabelas, listas de tarefas, código com cercas e riscado. Uma prévia ao vivo é renderizada em um frame isolado para que nada do que você cole possa ser executado.
- Os arquivos nunca saem do seu dispositivo
- Grátis, sem cadastro
- Sem marcas d'água
- Funciona offline depois de carregado
Como markdown para html
- 1
Digite ou cole Markdown
O HTML e a prévia atualizam enquanto você digita.
- 2
Verifique a prévia
Renderizada em um frame isolado, então o conteúdo colado não pode executar scripts.
- 3
Copie o HTML
Copie a marcação ou baixe como um arquivo .html.
CommonMark versus GitHub Flavored Markdown
Markdown começou como um formato pouco especificado sem uma gramática única e autoritativa, o que significava que implementações diferentes discordavam em casos extremos — como listas aninhadas deveriam se comportar, se sublinhados dentro de uma palavra contam como ênfase — frequentemente de formas que produziam uma saída renderizada genuinamente diferente do mesmo texto-fonte idêntico. O CommonMark surgiu especificamente para corrigir isso definindo uma especificação única, precisa e sem ambiguidade que qualquer analisador compatível deve seguir exatamente. GitHub Flavored Markdown (GFM) é construído sobre essa base do CommonMark e adiciona várias extensões que o CommonMark puro não define de jeito nenhum: tabelas construídas com caracteres de barra vertical e uma linha separadora de traços, caixas de seleção de lista de tarefas escritas como `- [ ]` e `- [x]`, texto riscado envolvido em til duplo, e hiperlink automático de URLs nuas sem precisar de sintaxe de link explícita. GFM é o dialeto que esta ferramenta implementa porque é no que GitHub, Reddit, e a esmagadora maioria dos geradores de sites estáticos e ferramentas de documentação se padronizaram, tornando-o o alvo mais amplamente útil para qualquer coisa escrita para ser lida em outro lugar.
Contra o que a prévia isolada protege, e contra o que não protege
A sintaxe do Markdown permite deliberadamente incorporar HTML bruto diretamente dentro dele — isso é intencional e é o que permite aos autores de Markdown inserir um elemento incorporado, um alinhamento específico, ou uma peça de estilo para a qual a própria sintaxe do Markdown não tem abreviação. O risco é que uma tag `<script>` ou um manipulador de evento inline como `onerror=` colado em Markdown não confiável normalmente seria executado no contexto que o renderiza, o que é um vetor real de scripting entre sites se o Markdown veio de alguém diferente da pessoa vendo a prévia. Renderizar a prévia ao vivo dentro de um iframe isolado com scripts desativados significa que qualquer tag de script ou manipulador de evento assim na prévia simplesmente não é executado — o navegador se recusa a executar código dentro de um frame corretamente isolado, contendo o risco a essa prévia isolada.
O que o isolamento não faz é sanitizar a *saída HTML gerada* que esta ferramenta produz para você copiar — essa saída em nível de texto ainda contém qualquer HTML bruto presente no Markdown original, fielmente preservado, exatamente como a especificação do Markdown pretende. Se esse HTML gerado for inserido em uma página ao vivo mostrando conteúdo de um autor não confiável, precisa de sua própria etapa de sanitização separada no servidor antes de publicar, que é uma etapa distinta de qualquer coisa que este isolamento de prévia trate.
Por que o Markdown permite HTML bruto afinal
Markdown foi deliberadamente projetado como uma abreviação para as construções HTML às quais escritores recorrem com mais frequência — cabeçalhos, links, ênfase, listas — em vez de como uma substituição completa de toda a capacidade do HTML. Qualquer coisa para a qual a própria sintaxe do Markdown não tenha equivalente, de um estilo inline específico a um vídeo incorporado, é destinada a ser escrita como HTML literal diretamente dentro do código-fonte do Markdown, e o analisador a transporta sem alteração em vez de rejeitá-la como inválida. Esta é uma decisão de design deliberada que remonta à especificação original do Markdown, não uma lacuna ou descuido em nenhuma implementação particular.
Perguntas frequentes
Qual variante de Markdown é suportada?
GitHub Flavored Markdown: tabelas, blocos de código com cercas, listas de tarefas, riscado e links automáticos, sobre o núcleo do CommonMark. Esse é o dialeto que GitHub, Reddit e a maioria dos geradores de sites estáticos usam.
É seguro colar Markdown de uma fonte não confiável?
A prévia é renderizada dentro de um iframe isolado com scripts desativados, então tags `<script>` incorporadas e manipuladores de eventos não podem ser executados. Note que o *HTML gerado* ainda contém qualquer HTML bruto que estava no seu Markdown — sanitize-o no servidor antes de publicar conteúdo que você não escreveu.
Suporta HTML bruto dentro do Markdown?
Sim — Markdown permite HTML inline e é transportado como está. É por isso que a nota de sanitização acima importa se a fonte não for confiável.
Por que minha tabela não renderiza?
Tabelas GFM precisam de uma linha separadora de traços sob o cabeçalho, e uma linha em branco inicial se a tabela seguir um parágrafo. Uma única barra vertical faltando na linha separadora silenciosamente converte tudo de volta para texto simples.
Tarefas comuns de markdown para html
Você também pode precisar
JSON para CSV
Converta arrays JSON em linhas de planilha
Formatador de JSON
Formate, valide e minifique JSON instantaneamente
Contador de palavras
Conte palavras, frases e tempo de leitura enquanto você digita
CSV para JSON
Converta exportações de planilhas para JSON
Excel para CSV
Converta planilhas XLSX para CSV, por aba