Markdown转HTML
左侧写 Markdown 右侧实时出 HTML:表格、任务列表、代码围栏、标题锚点与目录都按 CommonMark 与 GFM 规则解析,可下载成品或直接复制
Markdown 编辑与预览
实时预览
编码
本工具只做 Markdown 到 HTML 的格式转换,不是 HTML 清理器;关闭「允许 HTML」时会转义尖括号与引号,开启后原始 HTML 会原样输出。默认按 CommonMark 规则解析,GFM 扩展覆盖表格、删除线、任务列表与裸链接自动链接。
字符 0 · 行 0 · HTML 0 字节
工具介绍
把 Markdown 转成 HTML 这件事看起来只是换标签,实际麻烦在于规则细节:表格为什么没渲染出来、段落里换行为什么被吃掉、代码块里的尖括号要不要自己转义、目录锚点怎么和标题对上。这个工具把这些规则写成可开关的选项,右侧预览所见即所得,左侧改一个字符右侧立刻变,转换结果可以直接复制走或者下载成文件。
支持的语法
- 块级:
#到######标题与===、---下划线式标题;段落;围栏代码块(三个反引号或波浪号,带语言名时输出class="language-xxx");四个空格起手的缩进代码块;可嵌套的引用;无序列表用-*+,有序列表用1.或1),起始数字会保留成<ol start>;分隔线---***___ - 列表细节:按缩进层级嵌套,换用另一种标记符号会另起一个列表,条目之间留空行会生成松散列表(条目包成
<p>),GFM 任务列表复选框输出为不可勾选的input,关闭 GFM 时保留原文 - 表格:需要表头加分隔行,
:------::---:分别对应左中右对齐,输出为style="text-align:...";行内单元格不足会补齐,多余会提示并忽略,单元格里的竖线用\|转义 - 行内:
**粗**、*斜*、***粗斜***、_下划线斜_、~~删除线~~、`行内代码`(一行里用两个或三个反引号包反引号也可以),行内代码优先级高于强调标记,所以`*a*`不会被当成斜体 - 链接与图片:行内式
[文字](url "标题")、参考式[文字][标记]配[标记]: url、尖括号自动链接<https://…>与<mailto:…>、裸链接自动识别、图片 - 换行:行末两个空格或一个反斜杠是硬换行,输出
<br>;普通换行默认并入同一段落,勾选「软换行转 br」后每行都断 - 转义:反斜杠转义
\*这类符号,未识别的字符按字面输出
标题锚点与目录
- 每个标题按文字生成 slug 作为
id,中文保留、标点去掉、空格变连字符,同名标题自动追加-1、-2,长文里不会出现锚点互相覆盖 - 开启「生成目录」后在正文前插入嵌套的
<ul class="md-toc">,层级对应标题级别,配合锚点就是一套页内导航 - 关闭「标题锚点」则输出干净的
<h2>,适合粘贴到已经自带目录的系统里
关于原始 HTML
- 默认关闭「允许 HTML」:正文里的尖括号与引号全部转义,写
<script>只会显示成文字,静态博客正文、评论区这类场景更安全 - 打开后原样输出源码里的 HTML 块,方便嵌入
<details>、表格合并单元格、<img width>这类 Markdown 表达不了的结构;此时请确保内容是自己写的 - 代码块里的尖括号无论开关都会转义,贴代码不会被解析成标签
复制与下载
- 复制 HTML:直接把片段粘进模板或富文本源码视图
- 复制后转义:把结果里的
<>&"再转一层实体,用来写文档说明、教程示例,或者往 HTML 里嵌一段 HTML - 下载 .md / .html:HTML 文件带
<meta charset>,编码下拉里可以选带 BOM 的 UTF-8,避免 Windows 记事本或老浏览器打开时中文乱码 - 正文存在浏览器本地,刷新或下次打开会自动回到上次的文本和选项
常见问题
- 为什么我写的表格没变成表格?最常见的三种情况:缺分隔行(表头下面那行
|---|---|)、关闭了 GFM 扩展、整张表前后没空行而被当成正续。缺分隔行或某行单元格多于表头时,页面下方会给出解析提示 - 段落里的换行为什么被吃掉?Markdown 的规则是单个换行不算换行,需要行末留两个空格、写一个反斜杠,或者干脆空一行分段;嫌麻烦就勾上「软换行转 br」
- 和 HTML 格式化工具的区别?本工具做的是标记语言到标签的转换,转换完的 HTML 如果想再排版缩进、换行对齐,可以用下面的 HTML 格式化链接
- 支持脚注、定义列表、代码高亮吗?不支持。脚注与定义列表属于各家扩展,没有统一实现;这里也不引入高亮库,只输出
class="language-x",交给你的站点模板去做着色 - 开启「允许 HTML」有风险吗?有。这个模式下你写的标签会原样进入结果,粘贴来的内容里若带脚本就会被执行。只是想把别人给的 HTML 洗成纯文本的话,别开这个开关
- 内容会上传吗?不会。解析、预览、复制、下载全部在浏览器里完成,页面不发任何请求,断网也能用
- 长文档会卡吗?自动转换有轻微防抖,几万字级别的文档也不会边打字边卡顿;统计行会显示源字符数、行数与生成 HTML 的字节数,便于估算体积
- 转换提示和报错有什么用?解析出问题时会带行号提示(例如代码围栏没有闭合会按到文末处理并告诉你位置),不会静默吞掉内容
转好的 HTML 想再整理缩进用 HTML 格式化;只想要里面的纯文字用 HTML 去标签;要把成段标签当文本贴进代码里用 HTML 实体编码;改完一版想对比差异用 文本对比;统计正文字数与段落用 字数统计。