关于这个站
一个小工具,以及它背后的想法
Docs to MD 把文档转成 Markdown。产品就这一件事。
由一名独立开发者做和维护,转换全程跑在你自己的浏览器里。
生效日期 2026-08-04
为什么会有这个东西
写东西在 Word、Google Docs 和表格里,发布却在 Markdown 里 —— 静态站、Wiki、README、git 仓库里的 docs 目录。这中间那道坎,被手工跨过去的次数远比应该的多,而手工意味着重新敲一遍标题、重新拼一遍表格、把链接一个个补回去。
能做这件事的转换器不少。它们几乎都是同一套路:你把文件上传到服务器,那边的程序转好,你再下载结果。这个设计本身没问题,但它同时意味着你的文档会在别人的机器上待一会儿。对一篇博客草稿来说无所谓,对一份合同、一份病历、一组内部数字、一部还没发表的稿子来说就不是。
所以这个站反过来做。转换用 JavaScript 跑在你的浏览器里,在你自己的机器上。没有上传这一步,因为压根没有可上传的地方。
实际是怎么跑的
你把文件丢进来,浏览器在本地读它,把字节交给同样跑在浏览器里的解析器。解析器把文档变成一个结构,这个结构再写成 Markdown。整条链路只在你的文件和你的屏幕之间。
解析器都是开源库,按格式各选一个:
- Mammoth 读 .docx。老的 .doc 由我们自己写的读取器逐字节解析 —— 那是 2007 年前的二进制格式,没有能在浏览器里跑的现成库。
- PDF 用 Mozilla 的 pdf.js。它和它需要的字体、字符映射表都由本站提供,不走 CDN —— 一个文档解析器还要去第三方拿东西,就把这件事的意义抵消了。
- HTML 先过 DOMPurify 清洗,清干净之后再由 Turndown 转成 Markdown。
- CSV 和 TSV 用 Papa Parse;.xlsx 工作簿用 read-excel-file。
刻意不做的事
没有账号,因为没有东西要存。没有 API,因为没有服务器可调。没有 OCR,所以扫描版 PDF 转不了 —— 而工具会直接告诉你,不会甩给你一个空文件。没有 Google Drive 对接,因为那意味着要向你索取全部文件的访问权,并且替你保管一个令牌。
每种转换也都有实打实的限制,各个工具页会列自己那一份。合并单元格会被拍平,因为 Markdown 的管道表格表达不了。修订痕迹会被丢掉。PDF 的标题层级是从字号推的、不是读出来的,因为 PDF 本身不记这个。这些话写在前面,而不是等你转完了要紧的东西才发现。
钱从哪来
工具免费,也没有付费档。打算用广告覆盖托管成本,所以以后你可能会在这些页面上看到广告。广告绝不会摆在容易被当成下载或转换按钮的位置,也不会在转换完成后突然插进来、把页面在你光标底下顶走。
广告不改变转换的方式。你的文件照样留在你机器上 —— 这不是一条为了收入就能翻过来的政策,而是「压根没有服务器」这件事的必然结果。
姊妹站
Docs2HTML 做的是反方向的同一件事:把 Markdown、DOCX、CSV 和 Excel 转成 HTML。同样的做法,同样的隐私模型,输出格式不同。
这页上有看不明白的地方,或者你想让我们改点什么? 联系