使用方法
- 把 HTML 粘贴到 “HTML” 中。示例内容包含一个标题、一段带强调和链接的文字,以及一个列表。
- 阅读 “Markdown(CommonMark)”:它会随您的输入而更新。
- 点击复制按钮复制它,并保存为 .md 文件,或粘贴到 Markdown 编辑器中。
转换什么,以及如何转换
标题 h1 到 h6 变为 ATX 标题,带一到六个井号。strong 和 b 变为 粗体文字,em 和 i 变为 *斜体文字*。code 元素变为代码段,pre 元素变为围栏代码块,代码带有 language- 类时会保留其语言。br 变为硬换行,blockquote 的每一行前加 >,ul 和 ol 分别变为以 - 或数字开头的列表。带 href 的 a 元素变为链接,带 src 的 img 变为图片,并保留其替代文字(CommonMark 第4.2、4.5、5.1、5.2、6.1、6.2、6.3与6.7节)。
Markdown 会误读为标记的字符,会用反斜杠转义:星号、下划线、反引号、方括号和尖括号,以及看起来像标题、引用或列表开头的行。CommonMark 第2.4节允许在任何 ASCII 标点字符前使用反斜杠。
不保留的内容
脚本、样式、模板、框架、表单控件和媒体连同其内容一起被略去。除 href、src、alt 和 title 之外的属性都会被丢弃。CommonMark 没有表格、下划线或颜色,因此表格会变为每个单元格一个段落,u、span 等元素的文字会保留,但去掉了格式。
三个元素和一个需要转义的字符
表格中每段 HTML 片段,都会得到右列中工具写出的 Markdown。
| HTML 的内容 | Markdown |
|---|---|
| 二级标题,文字为“笔记” | ## 笔记 |
| 一段带粗体文字的段落 | 一些 **粗体** 文字 |
| 只有一项“第一项”的列表 | - 第一项 |
| 文字 5 * 3 = 15,其中有一个星号 | 5 * 3 = 15 |
常见问题
Markdown 中为什么会有反斜杠?
反斜杠表示后面的字符是文字而不是标记,例如星号或方括号。CommonMark 在渲染 Markdown 时会删除它(第2.4节),因此页面显示的字符与 HTML 中的完全相同。
工具会运行我的 HTML,还是把它保留在页面上?
不会。HTML 由 DOMParser 解析为一个独立的文档,这个文档没有浏览上下文,也不会运行脚本。工具只复制其中的文字和结构,并把 Markdown 作为文本显示。
为什么表格会变成段落?
CommonMark 没有表格语法,一些服务添加的管道表格是扩展语法。每个单元格会变为一个段落,因此文字会保留,但表格的版面不会保留。
链接和图片会保留吗?
会。带 href 的 a 元素会变为链接,如果有 title 也会保留;带 src 的 img 会变为图片,其替代文字会被转义。其他属性不会保留。
没有 Markdown 对应形式的元素会怎样?
它们的文字会保留,格式则会被丢弃。例如 span、u 和 mark 会保留其中的文字,而 div 或 section 会开始一个新的文字段落。
资料来源
- CommonMark 规范0.31.2:第2.4、4.1、4.2、4.4、4.5、5.1、5.2、6.1、6.2、6.3与6.7节(英文)
- WHATWG HTML 标准,第8.5.1节,DOMParser 接口(英文)
- MDN:DOMParser(英文)
数据和文字最近核对于2026年11月10日星期二。