Markdown 表格生成器

在网格里编辑 Markdown 表格,或从 Excel、WPS、CSV、JSON、HTML 粘贴生成。自动转义竖线和换行,中文列宽按 2 列计算,对得整齐。

  • 在浏览器中处理
  • 数据不离开你的设备
  • 免费 · 无需注册
「列对齐」用空格把每个单元格补到该列最宽单元格的宽度。宽度按显示列数计算:中日韩文字和 emoji 算 2 列。「紧凑」只在单元格两侧各留一个空格,不补齐。 「Markdown」按输入原样写出,**加粗**、`代码` 和链接照常生效。「纯文本」在会被 Markdown 当成格式的字符前加反斜杠(* ` ~ [ $,以及会起作用的 _ < & \),渲染后显示的就是输入的文字。两种模式下竖线都会转义。 表格的一行必须写在同一行里,所以单元格内的换行(Shift+Enter)写成 <br>。渲染器会过滤 HTML 时选「空格」。 只影响「列对齐」排版。勾选后,宽度随字体变化的字符(○ × ① →)在补空格时按 2 列计算,不勾选按 1 列。编辑器里这些字符和汉字一样宽时勾选。

点击单元格直接输入。Enter 跳到下方单元格,在最后一行会新增一行;Shift+Enter 在单元格内换行。输入法确认候选词的 Enter 不会跳格。从 Excel、WPS、Google 表格或网页复制的单元格可以粘贴到任意单元格,表格会自动扩展。表头上方的下拉框设置每列的对齐方式:默认写 ---,左对齐 :---,居中 :---:,右对齐 ---:。网格只显示前 1,000 行,Markdown 输出包含全部行。
这些按钮作用于当前选中的单元格:在它的位置插入或删除行、列,移动它所在的列,按它所在的列排序。该列的非空单元格全是数字时按数值排序,否则按文本排序;空单元格排在最后。「行列互换」把行和列对调,对齐方式恢复为默认。「撤销」退回上一次按钮操作、粘贴或导入,最多 50 步;在单元格里打字不算一步。「清空」把表格恢复为 3 × 3。
Markdown 表格 随输入实时更新。「预览」用 GFM 解析器(micromark)渲染表格;单元格里的 HTML 按文字显示,只有 <br> 显示为换行。在两种视图下,「复制 Markdown」和「下载 .md」给出的都是 Markdown,下载的文件名是 table.md。

阅读完整使用指南 Markdown 表格生成器:可视化编辑,支持 CSV 和 JSON 导入
示例、说明与常见问题 带实际输出的示例、与同类工具的差别,以及常见问题。

示例:从电子表格复制季度数据

左上角是空单元格,一个单元格里有两行备注,最后一格为空。粘贴到第一个表头单元格,并把「一季度」设为右对齐:

|      | 一季度 | 二季度               |
| ---- | -----: | -------------------- |
| 华东 |  1,200 | 延迟:<br>供应商缺货 |
| 华南 |    980 |                      |

空的第一格保留了自己的列,「一季度」仍在「1,200」上方。单元格里的换行写成 <br>,因为真正的换行会结束这一行(GFM 规范 4.10 节)。

示例:全角竖线写的表格

如果手写表格时竖线和横线打成了全角的 | -(例如开着全角标点输入),GFM 不会识别:它只认半角 |,这样的表格在 GitHub、Gitee 上显示为一段普通文字(本工具测试脚本记录了两家 API 的实际返回)。把它粘贴到「导入数据」:

|接口|方法|说明|
|---|:--:|---|
|/users|GET|用户列表|
|/users/{id}|DELETE|删除用户|

工具按半角读取并在状态栏说明,输出:

| 接口        |  方法  | 说明     |
| ----------- | :----: | -------- |
| /users      |  GET   | 用户列表 |
| /users/{id} | DELETE | 删除用户 |

只有分隔行里的全角横线和冒号会改成半角,单元格里的「:」原样保留。

示例:数据库字段表里的下划线

单元格默认按 Markdown 处理,**加粗**、`代码` 和链接都能用。字段名里的 _ 和 * 却不该变成格式。把「单元格内容」设为纯文本:

| 字段      | 类型    | 说明       |
| --------- | ------- | ---------- |
| user_id   | bigint  | 主键       |
| \_deleted | bool    | 软删除标记 |
| tags      | varchar | 用 \| 分隔 |

user_id 中间的下划线不会触发斜体,所以不加反斜杠;开头的 _deleted 会加。选 Markdown 模式时,输出下方会提示有几个单元格渲染后和原文不同。

Gitee、GitHub 与 micromark 的差异

测试脚本把输出交给 micromark 渲染,并与 2026-10-02 从 GitHub、Gitee 的 Markdown API 以及 Zenn、Qiita 的渲染器取回的 HTML 逐格对比:

单元格里写        GitHub / Gitee / Qiita / Zenn    micromark(remark、MDX、Astro)
a\|b              a|b                              a|b
x\\|y             一个单元格 x|y                   两个单元格 x\ 和 y
`a|b`             在 `a 处结束单元格                同左
行一<br>行二      换行                             允许 HTML 时换行
**注意:**这里    不加粗                           不加粗

工具不会写出 \\|。最后一行是 CommonMark 的规则:** 紧挨着全角标点「:」时不能开始或结束强调,写成 **注意**:这里 即可加粗。

中文列为什么能对齐

「列对齐」排版按显示宽度补空格:汉字、假名、谚文、全角符号和 emoji 计 2 列,组合符号计 0 列,依据 Unicode UAX #11 与 EastAsianWidth 18.0.0 数据。计算规则与 markdownlint 的 MD060 所用的 string-width 8.1.0 一致,测试脚本用 MD055、MD056、MD058、MD060 检查了 200 个随机表格的两种排版。○ × ① → 这类字符在 UAX #11 里属于宽度不定(在东亚旧字符集里是全角)。如果编辑器把它们显示为 2 列,勾选对应选项。

与同类工具对比

2026-10-02 用同一组数据(左上角空单元格、两行单元格、a|b、5*3*2、东京)测试:

  • tableconvert.com(中文版在 Bing「markdown表格生成」排第一)从 Excel 读取时丢掉左上角的空单元格,表头因此少一列,数据行多出的单元格在 GitHub 上不显示;a|b 没有转义。
  • tablesgenerator.com 的「Paste table data」把文本以表单 POST 提交到它的服务器,同样丢掉空单元格,并把两行单元格拆成两行。
  • 两者都按字符数补空格,东京 所在的格在等宽字体里多出两列宽,对不齐。

限制

  • 不支持合并单元格:GFM 没有 colspan / rowspan,HTML 里的合并单元格会拆开,文字放在第一格。
  • 单元格里只能写行内 Markdown,不能放列表、引用或代码块。
  • 单元格首尾空格会被 GFM 去掉,制表符写成空格。
  • 网格只显示前 1,000 行,Markdown 输出包含全部行。
  • 导入时只读取文本里的第一个 Markdown 表格、HTML 里的第一个 <table>。
  • 导入的文本读不了时不导入,输出保持为空,直到文本能读取:JSON 有语法错误时给出行和列(「自动识别」下只要文本像 JSON 值那样开头也如此,[{"a":1}, 报「第 1 行第 10 列」);Markdown 表格的分隔行与表头行单元格数不同时写出所在行。CSV 字段以引号开头却没有闭合时按原样导入,并提示所在行。
  • 「打开文件」和拖入一次读取一个 CSV、TSV、JSON、Markdown 或 HTML 文件,不超过 10 MB,按 UTF-8 读取。其他编码的文件不会打开:Excel 用 GBK 保存、第一行是 name,city 的 CSV 会提示「第 10 个字节(从 0 数)不是有效的 UTF-8」。在 Excel 里另存为「CSV UTF-8」后再打开。

只需单向转换 CSV 时用 CSV 转 Markdown 表格;整页 HTML 转换用 HTML 转 Markdown;想看表格在全文里的效果,用 Markdown 预览。

FAQ

Markdown 表格的单元格里怎么换行?

GFM 表格的每一行只能写在一行里,单元格里出现真正的换行会把这一行截断。在单元格里按 Shift+Enter,工具会在该处写入 <br>,GitHub、Gitee、Qiita、Zenn 都把它显示为换行。如果你的渲染器会过滤 HTML,把「换行」设为空格。

为什么单元格里的竖线会把表格弄乱?

未转义的 | 一律开始新的单元格,在 `代码` 里也一样。工具把单元格里的 | 写成 \|。反斜杠紧跟竖线写成 \\\|,因为 \\| 在 GitHub 上是一个单元格,在 micromark(remark、MDX、Astro)里却会被拆成两个。

可以直接粘贴 Excel 或 WPS 表格里复制的单元格吗?

可以。点任意单元格后粘贴。剪贴板里有 HTML 表格时工具读取它(合并单元格会拆开,单元格内的换行保留),否则按制表符分隔的文本读取。空单元格(包括左上角的空单元格)保持原位。

为什么在编辑器里列还是对不齐?

工具按显示宽度补空格:汉字、全角符号和 emoji 计 2 列(Unicode UAX #11)。只有在中文字形正好是英文两倍宽的字体里(终端或中文等宽字体)列才会对齐,比例字体里不会对齐。

表格内容会上传到服务器吗?

不会。编辑、导入和预览都在浏览器里完成。页面只在本机记住输出选项(排版、单元格内容、换行、宽度不定字符和 Markdown / 预览视图),不保存表格内容。