HTML转Markdown

粘贴HTML代码、上传.html文件,或输入一个网址,即可获得整洁的Markdown——标题、列表、表格、链接、代码块和强调格式完整保留,导航栏、广告、Cookie横幅和脚本会被自动剥离。专为将网页提供给ChatGPT、Claude或RAG流水线而设计,无需在标记上浪费上下文窗口;例如,在一篇典型的维基百科文章上,它能把大约78,000个令牌的原始HTML转换为不到9,000个令牌的Markdown。

为什么把 HTML 粘贴给 AI 的成本这么高

在一个典型的现代网页中,可读的文字只占文件的很小一部分。其余的是标签、class 属性、内联样式、SVG 图标路径、JSON 数据块和 script 标签——这些都会消耗 token,却不会给语言模型带来任何有用的信息。例如,在 Markdown 的维基百科词条上,这个转换器把大约 78,000 个原始 HTML token 转换成了不到 9,000 个、而且更易读的 Markdown token。

Markdown 保留了真正重要的部分。一个 ## 仍然是一个章节边界,一个表格仍然是带表头行的表格,一段代码块仍然用围栏标记——这样模型就能直接利用这种结构,而不必从一堆 <div> 里去猜测结构。

页面「外壳」是如何被移除的

转换之前,该工具会执行一次类似 readability 的处理。script、style、iframe 和 form 元素首先被移除。接着,任何在结构上属于导航的内容——<nav>、<aside>、<footer>,以及诸如 navigation 和 contentinfo 这样的 ARIA 角色,还有 class 或 id 标明是菜单、侧边栏、广告、Cookie 横幅、订阅框、分享栏或评论区的元素——都会被排除。最后,工具从 <body> 向下遍历,找到仍包含页面几乎全部正文的最窄元素,这通常就落在文章主体上。工具随后会准确告诉你它丢弃了哪些区块,如果你更想转换整份文档,这整个处理过程也可以一键关闭。

常见问题

为什么要将网页转换为Markdown供ChatGPT或Claude使用?

有两个原因:成本和理解。原始HTML大部分是标记代码,直接粘贴会把大部分上下文窗口浪费在标签和类名上——Markdown通常能用十分之一的令牌表达同样的内容。而且由于Markdown将标题、列表和表格保留为真实结构,模型能够区分章节标题与正文、表格表头与数据行,而这些区别在纯文本提取中会被完全丢弃。

它能抓取网址,还是我必须粘贴HTML?

两种方式都可以。切换到网址标签页,输入一个地址,页面会通过本站抓取——由于跨域规则,浏览器无法直接读取其他域名的HTML,因此这里必然需要一个服务器步骤。在HTML到达转换器之前,脚本会被剥离,相对链接会被转换为绝对链接。粘贴HTML或上传.html文件则完全在您的浏览器中完成,不会向任何地方发送任何内容。

它能处理表格、嵌套列表和代码块吗?

可以。表格会转换为带表头行的GitHub风格Markdown表格,单元格内的竖线会被转义以防止表格损坏。嵌套列表会保留其嵌套层级和项目符号或编号样式,包括项目符号列表中嵌套的编号列表。代码块会转换为围栏代码块,编程语言则从类似language-python的类名中识别。行内代码、粗体、斜体、删除线和引用块都会被保留。

图片和链接会怎样处理?

链接默认保留其网址,格式为[文本](url),也可以切换为只保留链接文字——在链接密集的页面(比如维基文章)上,仅此一项就能将令牌数减半。图片默认使用其替代文本,因为聊天机器人无法看到图片,而替代文本正是以URL成本的一小部分传达含义的部分。您也可以切换为标准的![alt](src)语法,或完全去除图片。

会保存任何内容吗?

不会。粘贴或上传的HTML永远不会离开您的浏览器。您抓取的网址仅通过本站获取HTML,该内容会直接返回给您的浏览器,不会被记录在任何地方。

相关工具