HTML 转 Markdown 在线转换

把网页上的表格转成 Markdown。整段 HTML 粘进来就行,会自动找出其中的 table。

输入

The only part of this site that uses a server. The address is sent to it so the page can be fetched, because a browser is not allowed to fetch someone else's page itself. Your own files are never involved.

这里不上传任何东西,解析在本页完成。
编辑
在上面粘贴或上传内容,表格会显示在这里。
输出DataMarkupDocumentsCodeSchemasImages

有表格可以转换时,结果会显示在这里。

HTML 是什么

HTML 表格就是一个 table 元素,里面有 thead 和 tbody,表头用 th,数据用 td。

网页、邮件模板,以及任何要粘进 CMS 的地方。

Markdown 是什么

Markdown 表格就是用竖线分隔单元格,表头下面加一行短横线。对齐方式靠在那行短横线里放冒号来控制。

README 文件、GitHub issue、各类文档站点,以及 Obsidian 和 Notion。

HTML 转成 Markdown 时会发生什么变化

取页面里的第一个表格。单元格内容会去掉内联标签并解码实体,所以 <td><b>合计</b>&nbsp;</td> 读出来就是「合计」。单元格里嵌套的表格不会往下解析。

单元格会补空格对齐,这样源文件在编辑器里看着也是整齐的。值里的竖线会转义,换行会写成 <br>,因为 Markdown 表格的一行不能跨行。

取第一个 table 元素。单元格里的内联标签会被去掉,HTML 实体会解码,所以 &nbsp; 变成空格、&amp; 变成 &。

单元格里的加粗和链接不会保留成 Markdown 语法,只留下文字。要判断哪些标记该转、哪些该丢,需要一套规则,而这套规则对表格来说往往猜错。

嵌套在单元格里的表格不会往下解析。Markdown 表格本来也放不下它。

示例

三行数据,其中有以零开头的编号、含逗号的值、含引号的值,以及一个空单元格。格式之间的差异主要就出现在这四个地方。

HTML 输入
<table>
  <thead>
    <tr><th>id</th><th>name</th><th>role</th><th>started</th><th>hours</th></tr>
  </thead>
  <tbody>
    <tr><td>007</td><td>Halima Yusuf</td><td>Analyst, data</td><td>2024-03-15</td><td>38.5</td></tr>
    <tr><td>012</td><td>Jonah "Jo" Pryce</td><td>Engineer</td><td>2025-11-02</td><td></td></tr>
    <tr><td>104</td><td>Wei Chen</td><td>Manager</td><td>2023-06-30</td><td>40</td></tr>
  </tbody>
</table>
Markdown 输出
| id  | name             | role          | started    | hours |
| --- | ---------------- | ------------- | ---------- | ----- |
| 007 | Halima Yusuf     | Analyst, data | 2024-03-15 | 38.5  |
| 012 | Jonah "Jo" Pryce | Engineer      | 2025-11-02 |       |
| 104 | Wei Chen         | Manager       | 2023-06-30 | 40    |

常见问题

怎么把 HTML 转成 Markdown?

把 HTML 粘进上面的框,或者把文件拖进去。在表格里核对一下,然后从输出面板复制或下载 Markdown。一步就够了,数据始终不离开你的浏览器。

Markdown 表格的单元格里能换行吗?

不能直接换。遇到换行符这一行就结束了。要在单元格里换行得用 <br> 标签,常见的渲染器都会把它原样输出到 HTML。

文件大小有限制吗?

没有。处理是在你自己的机器上完成的,所以限制来自你的内存而不是上传额度。几万行的文件一两秒就转完了。

我的数据会被上传吗?

不会。解析和生成都是本页的 JavaScript 做的。你可以一边转换一边看浏览器的网络面板,会看到什么都没有发出去。

相关转换

其他语言: English