← 退出

Markdown 转 Word

MD文本转换成可编辑Word文档

Markdown 内容

支持标题、段落、加粗、斜体、列表、表格、代码块、引用和图片(仅 data: 内嵌图片会被嵌入,其他图片地址只保留文字说明,不会联网下载)。所有处理完全在浏览器本地完成,不会上传你的内容。

关于Markdown 转 Word

「Markdown 转 Word」把你在文本框里写的 Markdown 转换成可以编辑的 .docx 文档。它先用 marked 库把 Markdown 解析成 HTML,再把其中的标题、段落、加粗、斜体、列表项(含有序和嵌套列表)和链接逐个转成 Word 的段落。此外还支持表格(生成真正的 Word 表格)、代码块(等宽字体加灰色底纹)、引用块(缩进加左边框)和图片(只嵌入 data: 内嵌图片,其他图片地址只留文字说明)。下面的说明和限制都是对照这个工具的实际转换逻辑写出的。

操作步骤

  1. 在「Markdown 内容」文本框里粘贴或输入你的 Markdown。页面打开时已经预填了一段示例,里面有一个标题、一段含加粗的文字和两条列表,你可以直接用它试一次。
  2. 确认内容不是空的。文本框为空或只有空白字符时,按钮不可点击。
  3. 点击「转换并下载 Word」。生成期间按钮显示「生成中…」,完成后浏览器会下载名为 converted.docx 的文件。
  4. 用 Word 或 WPS 打开文件,检查并调整样式。如果转换失败,页面会提示「转换失败,请检查Markdown内容格式,或者重试。」

转换规则与一个实际例子

按 marked 实际生成的 HTML 和工具里的转换代码对应起来看:页面预填的示例包含「# 标题」、一行含「**加粗**」的文字和两条以短横线开头的列表。marked 会生成 h1、p、ul 三个顶层块,其中 ul 里有两个 li,所以 Word 文档里会出现 4 个段落:一个应用了内置「标题 1」样式的段落,一个其中「加粗」两个字为粗体的普通段落,以及两个带项目符号的段落。具体对应关系是:一级到六级标题(#、##、###、####、#####、######)变成 Word 的「标题 1」到「标题 6」;加粗(**文字**)和斜体(*文字*)变成粗体、斜体;无序列表的每一项变成一个项目符号段落;有序列表的每一项变成以「1. 」「2. 」开头的段落;嵌套的子列表单独成段并缩进一级。表格、代码块、引用和图片的处理见下面的限制说明。

支持范围与已知限制

  • 有序列表(1. 2. 3.)的序号是直接写进段落文字里的(例如「1. 内容」),不是 Word 的自动编号,所以在 Word 里增删条目后需要自己调整数字。
  • 嵌套列表会保留层级:子列表的每一项单独成段并按层级缩进(无序列表用项目符号的下一级,有序列表用缩进)。最多支持 9 层。
  • 五级和六级标题(#####、######)会对应 Word 的「标题 5」「标题 6」。
  • 表格会生成真正的 Word 表格:单边框、宽度占满页面,表头(th)加粗,保留 Markdown 里的列对齐(左/中/右)。单元格里的行内格式(加粗、斜体、行内代码、链接)可用,但一个单元格只会生成一个段落,不支持单元格内换成多个段落或嵌套列表,也不支持合并单元格。
  • 围栏代码块(```)每一行输出为一个段落,使用 Consolas 等宽字体、10 磅字号,并带浅灰色底纹,空行也会保留;不做语法高亮,也不会因为语言标记(如 js)而变色。行内代码用等宽字体,没有底纹。如果电脑上没有 Consolas,Word 会用替代字体。
  • 引用块(>)里的段落会整体缩进,并带一条灰色左边框;嵌套引用每多一层多缩进一级。引用块里的列表保留边框,但项目符号列表不额外缩进。分隔线(---)仍然变成一个空白段落。
  • 链接会写成「链接文字 (网址)」,网址以普通文字保留,不是可点击的超链接。
  • 图片(![alt](url))只有 data: 开头、base64 编码的 png/jpg/gif/bmp 内嵌图片会被嵌入 Word,宽度超过 600 像素时按比例缩小到 600 像素;其他图片地址(如 https://…)不会联网下载,会变成斜体文字「[image: alt] (地址)」;解码失败的 data: 图片以及 svg 变成「[image: alt]」。
  • 删除线(~~文字~~)的标记会被去掉,但文字不会显示删除线。
  • 标题等样式使用的是 Word 的内置样式,外观由你电脑上的 Word 模板决定,工具不设置字体、字号或页面大小。
  • 只有加粗和斜体两种行内格式被识别,同一段文字里的粗体加斜体叠加是可以的。
  • 固定下载文件名为 converted.docx,没有改名选项。

常见问题:有序列表的编号是 Word 的自动编号吗?

不是。有序列表的序号是作为文字直接写进每个段落的(如「1. 」「2. 」),起始数字按 Markdown 里的写法确定。这样不依赖 Word 的自动编号,显示稳定;如果之后在 Word 里调整了条目顺序,需要手动改数字,或者选中这些段落后改用 Word 的「编号」按钮。

常见问题:网络图片为什么没有出现在 Word 里?

为了不在你不知情的情况下发起网络请求(也避免跨域限制导致下载失败),工具只嵌入以 data: 开头的内嵌图片。https 等外部地址的图片会变成「[image: 说明文字] (地址)」这样的文字。如果需要图片,可以先把图片转成 data: 地址再粘贴,或在 Word 里手动插入。

常见问题:加粗、斜体可以嵌在标题或列表里吗?

可以。工具处理每个块时会递归读取里面的文字节点,遇到加粗或斜体标记就为对应文字设置粗体或斜体。不过标题本身已经使用 Word 的标题样式,所以你在标题里再加粗,效果取决于标题样式本身的外观。

常见问题:和直接在 Word 里粘贴 Markdown 有什么不同?

直接粘贴只会得到带着井号和星号的原始文字。这个工具会先解析 Markdown,把井号变成标题样式、星号变成粗体或斜体,得到的文档更接近排版后的样子。但对复杂文档(合并单元格、单元格内多段落、语法高亮等),它的覆盖有限,建议转换后自己检查一遍。

常见问题:能转换很长的文档吗?

可以,文档在浏览器里生成,速度取决于内容长度和设备性能,代码里没有设置上限。点击后需要的等待时间随长度增加,期间按钮不可点击。

隐私与处理方式

Markdown 的解析和 .docx 的生成都在你的浏览器里完成,所需的两个库在你点击转换时由页面按需加载,代码里没有向服务器发送你文本的请求。文本只存在于当前页面中,关闭或刷新页面后即消失。