HTML 转 Markdown

把 HTML 转换为 Markdown 文本。

什么是HTML 转 Markdown?

HTML 转 Markdown 工具用于把一段 HTML 代码(网页正文、富文本编辑器导出的内容、邮件模板等)转换成对应的 Markdown 语法文本。转换过程会把 <h1>~<h6> 变成 # ~ ######,<strong>/<b> 变成 **粗体**,<a href> 变成 [文字](链接),<ul>/<ol> 变成列表符号,<code>/<pre> 变成代码块等,让原本带标签的富文本变成纯文本也能保留格式意图的轻量标记语言。

为什么使用HTML 转 Markdown?

典型场景:把网页文章内容整理成 Markdown 存进笔记软件(Obsidian、语雀、Notion 导入);把富文本编辑器(如 TinyMCE、Quill)导出的 HTML 转成 Markdown 存数据库,方便后续用 Markdown 渲染器统一展示;写技术文档时需要把某个网页的片段「降级」为纯文本格式方便粘贴到 GitHub README 或博客源文件。 与「HTML 转纯文本」不同,转 Markdown 会保留标题层级、加粗斜体、链接、列表、代码块等结构信息,转换后仍可以再渲染回接近原样的效果;但要注意复杂结构(多层嵌套表格、内联样式、iframe、脚本、复杂的 CSS 布局)在 Markdown 里没有对应语法,转换时会被简化或丢失,这是 Markdown 本身表达能力有限决定的,并非工具的 bug。

使用示例

标题与段落

输入 <h2>标题</h2><p>这是<strong>加粗</strong>文字。</p>,输出:## 标题\n\n这是**加粗**文字。

链接与列表

输入 <p>访问 <a href="https://example.com">示例站点</a></p><ul><li>第一项</li><li>第二项</li></ul>,输出:访问 [示例站点](https://example.com)\n\n- 第一项\n- 第二项

代码块

输入 <pre><code>console.log('hi')</code></pre>,输出为围栏代码块,用三个反引号包裹 console.log('hi') 这行内容。

使用提示

如果源 HTML 是从 Word 或某些富文本编辑器直接复制出来的,往往夹杂大量冗余的 span/style 标签,建议先用浏览器「检查元素」复制精简后的 HTML 结构,转换效果会更干净。

常见问题

支持哪些 HTML 标签?
支持 h1-h6、p、a、strong/b、em/i、ul、ol、li、code、pre、blockquote、img、br 等常见标签,未识别的标签会保留其内部文本内容。
复杂或不规范的 HTML 能正确转换吗?
本工具面向常见排版标签做轻量转换,对表格、行内样式、深层嵌套结构等复杂场景可能无法完全还原,建议转换后再人工微调。
数据会上传吗?
不会。转换使用浏览器内置 DOMParser 解析 HTML 并在本地生成 Markdown。
表格能转吗?
简单的 <table> 会被转成 Markdown 表格语法(用 | 分隔单元格),但如果表格里有合并单元格(rowspan/colspan)、嵌套表格,这些 Markdown 原生不支持的结构会被展开或简化,不能保证 100% 还原。
图片和内联样式会丢失吗?
<img> 标签会转成 ![alt](src) 形式保留图片链接;但 style="color:red" 这类内联 CSS 样式、<div> 的布局排版在 Markdown 里没有等价语法,转换后会被忽略,只保留纯文本内容与基本结构标签。
转换是在本地完成的吗?
是,HTML 解析和转换规则都在浏览器本地 JavaScript 中执行,输入内容不会上传到服务器,可以放心处理内部文档或未公开的网页内容。
转换结果和原网页看起来不一样怎么办?
Markdown 是比 HTML 表达能力弱得多的标记语言,脚本、复杂 CSS、iframe 嵌入内容等都无法用 Markdown 表示,这是格式本身的限制;如果只需要保留纯文字排版,转换结果通常已经足够,若需要完整还原网页样式应保留原始 HTML。

相关工具

← 返回工具箱· 数据均在浏览器本地处理,不上传服务器。