自己验证:你在这里拖入的文件不会被上传
这件事不该只凭我们一句话。本站关于本地处理的每一条说法,都能用浏览器自带的工具在一分钟内验证。
下面包含:如何自己验证引擎、本站发起的全部网络请求清单(包括离开本站域名的那些)、各功能背后的开源引擎,以及我们承认的局限。
1. 三种自己验证的方法
断网测试:先打开一次转换页,然后切换飞行模式——或在 DevTools → Network 里勾选「Offline」——再转换一个 .docx。它依然能转换,因为引擎已经在你本机运行。任何依赖我们服务器的工具在这一步都会立刻失败。
Network 面板:打开 DevTools → Network,清空列表,然后转换一个文件。你只会看到同源的引擎下载(/pandoc.wasm、/pdf-inspector.wasm、/pdf.worker.min.mjs),此外没有任何请求。按 Fetch/XHR 过滤——上传会以发往外部域名的 POST 形式出现。这里没有。
根本不存在接收文件的后端:本站只是 HTML、JavaScript 和 WebAssembly 组成的静态文件包。在页面源码里搜上传接口或 API key——两者都没有。若你哪天找到一个携带你文档的请求,那我们就无话可说。
2. 本站会发起的每一个请求
与其让你自己发现例外,不如我们主动列出来。引擎二进制由本站域名提供,之后缓存在你的浏览器:/pandoc.wasm(约 56 MB,真正的 Pandoc 编译器,只下载一次)、/pdf-inspector.wasm(约 6 MB,PDF 引擎)、/pdf.worker.min.mjs(约 1 MB,OCR 用的 pdf.js worker)。
另有三类资源来自 jsDelivr CDN:tesseract.js 的 worker、core 与语言模型——只在你使用 OCR 时获取,且只取你选择的那一种语言;KaTeX(约 340 KB)用于在 HTML 预览和 Markdown → PDF 中渲染数学公式;Mermaid(约 1 MB)仅当文档里含 Mermaid 图表代码块时才加载。
这些请求都不携带你的文档或其内容,只是对库代码和 OCR 语言数据的普通 GET 请求。你可以在 DevTools 里验证:选中该请求,确认 Payload / Request body 为空。
3. 到底在你的浏览器里跑什么
Word、ODT、EPUB、HTML、reStructuredText、LaTeX、CSV 等格式由编译成 WebAssembly 的 Pandoc 转换——与命令行版本同一个引擎,在后台线程中运行。PDF 输入由 pdf-inspector(Rust → WebAssembly)与 pdf.js 处理;扫描件或拍照文字由 tesseract.js 识别。Markdown → PDF 使用浏览器自带的打印为 PDF 功能。
所有引擎都是开源软件,其许可证列在服务条款页:Pandoc 与内置的 pandoc-wasm core 为 GPL,pdf-inspector 为 MIT,pdf.js 与 tesseract.js 为 Apache-2.0。由于这些引擎被分发到你的浏览器,对应源代码即上述项目。
中间没有任何私有转换服务、没有按量计费的 API key、不需要账号。正因如此,批量转换和 Pro 选项(引文、Lua 过滤器、自定义模板)在拔掉网线时依然可用。
4. 诚实的局限
首次访问需要下载引擎:约 56 MB 的 WebAssembly,之后会被缓存。网络较慢时第一次转换需要等待——服务器端转换器可以把这件事藏起来,我们藏不了。
离线只在首次访问之后才行。一台从未访问过本站、且完全没有网络的设备无法转换任何文件,因为引擎从未被缓存。
OCR 在你首次使用某种语言时会从 jsDelivr CDN 获取对应语言模型(每种约 2–15 MB),速度远低于原生文本提取。扫描页、手写体和低对比度照片是最难的情况。
文档格式互转天生有损:复杂版式、分栏、文本框、修订痕迹、批注和部分公式无法在每条路径上都保留。依赖输出之前请务必先检查。
不提供 Word → PDF。通过 LaTeX 输出 PDF 是 Pandoc 命令行独有能力,而 Markdown → PDF 受限于浏览器打印对话框能做到的事——无法设置字体嵌入,也无法编辑 PDF 元数据。
没有 REST API、没有命令行工具、没有自动化钩子。若你需要服务端的大规模转换,请在本机运行 Pandoc:本站用的就是同一个引擎。
5. 还不信?自己复现
在终端执行:curl -s https://wordtomarkdown.com/en/ | grep -oE 'https://[a-zA-Z0-9.-]+' | sort -u 会列出该页面引用的全部主机。你会看到本站域名和 https://schema.org——后者是给搜索引擎读取的 JSON-LD 标识符,不是请求——以及没有任何上传接口。
在 DevTools 里打开 Network 面板,转换一个文件,然后逐个点击请求查看 Payload 标签。每个请求的 payload 都是空的,就说明没有发送任何内容:唯一的流量是下载代码和模型。
如果你发现任何与本页说法相矛盾的请求,请通过联系页告诉我们。我们会改正页面,而不是争辩。