Markdown 表格生成器
在网格里填内容、点一下选择列对齐方式,即可复制规范的 Markdown 表格语法。数据不上传,编辑器完全在你的浏览器中运行。
Markdown 中怎么写表格?
Markdown 表格由竖线和一行短横线组成:第一行用竖线分隔表头单元格,第二行写至少三个短横线作为分隔行,之后每一行就是一条数据。在分隔行里加冒号即可设置该列的对齐方式。GitHub、GitLab、Obsidian 以及主流静态站点生成器都能直接渲染。
| 姓名 | 角色 | 提交数 |
| :---- | :--------: | -----: |
| Ada | 工程师 | 128 |
| Grace | 维护者 | 64 |渲染为三列表格:姓名左对齐、角色居中、提交数右对齐,第一行作为加粗表头显示。
在线使用 Markdown 表格生成器
表格编辑器
预览
| Markdown 工具 | 说明 | 上手难度 | 适用场景 |
|---|---|---|---|
| Markdown 表格生成器 | 可视化创建并调整表格 | 中 | 文档、数据整理 |
| Markdown 预览 | 实时渲染 | 低 | 内容写作 |
| Markdown 转 HTML | 把 Markdown 转成 HTML | 中 | 网页发布 |
| Markdown 速查表 | 语法快速查询 | 低 | 入门学习 |
生成的 Markdown 表格
Markdown 表格语法详解
表格来自 GitHub Flavored Markdown 而非最初的 Markdown 规范,因此规则比其他语法更严格:表头行和紧随其后的分隔行都不能省略,并且每一行的列数必须与表头一致。
基本结构
竖线用来分列,紧跟表头的那行至少三个短横线,作用是把第一行变成表头。短横线的长度不需要和上方文字对齐——渲染器只数列数,源码参差不齐也照样能渲染出整齐的表格。
| 依赖 | 版本 | 状态 |
| --- | --- | --- |
| next | 16.0.1 | 稳定 |
| react | 19.2.0 | 稳定 |渲染为三列表格,「依赖」「版本」「状态」为加粗表头,下方是两行数据。
用冒号控制列对齐
在分隔行里加冒号即可控制每列的对齐方式。左对齐是默认值,因此 :--- 与 --- 效果相同;居中和右对齐则必须加上对应位置的冒号。数值列习惯上使用右对齐。
| 商品 | 数量 | 单价 |
| :----- | :--: | -----: |
| 键盘 | 2 | 89.00 |
| 显示器 | 1 | 249.50 |「商品」保持左对齐,「数量」居中,「单价」右对齐,小数点会在列内自然对齐。
转义单元格内的竖线
单元格里直接写竖线会把这一格拆成两列。用反斜杠转义即可;如果竖线出现在行内代码里,反斜杠转义不生效,需要改用 HTML 实体 |。
| 命令 | 含义 |
| --- | --- |
| a \| b | a 或 b |
| `grep x | wc -l` | 统计匹配行数 |两行都仍然是两列,竖线以字面字符出现在单元格里,不会多出一列。
单元格内的格式与换行
单元格支持行内语法:加粗、斜体、链接、图片、行内代码都可用;但不支持块级内容,需要换行时请使用 <br> 标签。
| 参数 | 说明 |
| --- | --- |
| `--watch` | **推荐开启。**<br>保存后自动重新构建。 |
| `--quiet` | 隐藏构建进度输出。 |第一行「说明」单元格中,加粗文字下方另起一行;参数名以行内代码样式呈现。
不带表头的表格
GitHub Flavored Markdown 始终要求保留表头行和分隔行,但表头单元格本身可以留空。当表格只是排版用的网格、而不是带标签的数据时,就用这种写法。
| | |
| ----- | ------ |
| Ada | 工程师 |
| Grace | 编译器 |渲染为两列表格,顶部是一条空白表头带,下方是两行数据。多数渲染器仍会保留表头行的高度。
用 HTML 合并单元格
Markdown 没有 rowspan 和 colspan。确实需要合并单元格时,直接在文档里写 HTML 表格——GitHub、GitLab 以及主流静态站点生成器都会渲染 Markdown 文件中的内联 HTML。
<table>
<tr><th colspan="2">运行环境</th></tr>
<tr><td>Node</td><td>22.x</td></tr>
<tr><td>pnpm</td><td>10.x</td></tr>
</table>生成一个横跨两列的表头单元格,下方是普通的两列数据行。注意 HTML 块内部的 Markdown 语法不会被解析。
各平台对 Markdown 表格的支持
表格语法属于 GitHub Flavored Markdown 而不属于 CommonMark,因此在开发者平台上支持得很好,在聊天软件里则基本不可用。
| 平台 | 支持情况 | 说明 |
|---|---|---|
| GitHub / GitLab | 完全支持 | README、Issue、Pull Request、Wiki 和 Release Notes 中均可渲染,三种对齐方式都支持。 |
| Obsidian | 完全支持 | 支持 GFM 表格,并自带表格编辑器,对齐设置会被保留。 |
| VS Code | 完全支持 | 内置 Markdown 预览可直接渲染;配合格式化插件可以让源码里的竖线自动对齐。 |
| Notion | 部分支持 | 粘贴表格语法会转换成 Notion 原生表格,竖线不会以文本形式保留。 |
| 完全支持 | Markdown 编辑器中可用;富文本编辑器则通过工具栏插入表格。 | |
| Discord | 不支持 | 消息中不渲染表格。可以把表格放进代码块,至少保证各列不错位。 |
| Slack | 不支持 | 完全没有表格语法。建议以代码块、代码片段或图片的形式发送。 |
如何用本工具生成 Markdown 表格
设置表格尺寸
填入需要的行数和列数后点击「应用」。扩大网格时,已经填写的单元格内容会被保留。
填写单元格
直接在网格中输入内容。第一行是表头行,发布后会以加粗样式渲染。
选择列对齐方式
点击每个表头下方的 左 / 中 / 右 按钮设置该列的对齐方式,分隔行会同步更新。
按需切换到代码编辑器
切换到代码编辑器可以粘贴已有表格或手动微调语法,改动会被解析回可视化网格。
复制或导出
把生成的 Markdown 复制到剪贴板,或导出为 .md 文件,直接放进 README 即可。
常见问题
Markdown 表格怎么写?
用竖线分隔表头单元格,第二行写一排短横线作为分隔行,之后每行写一条数据。最小可用示例是:第一行 | 姓名 | 角色 |,第二行 | --- | --- |,第三行 | Ada | 工程师 |。上方的生成器会自动帮你拼好这些内容。
Markdown 表格怎么设置对齐?
在分隔行里加冒号::--- 表示左对齐,:---: 表示居中,---: 表示右对齐。左对齐是默认值,所以 --- 和 :--- 渲染结果相同。对齐方式按列设置,同时作用于表头单元格和该列下方所有数据单元格。
GitHub 支持 Markdown 表格吗?
支持。表格是 GitHub Flavored Markdown 的一部分,在 README、Issue、Pull Request、Discussions、Wiki 和 Release Notes 中都能正常渲染,三种列对齐方式都可用,单元格内还支持加粗、链接、行内代码等行内格式。
Markdown 表格可以不要表头吗?
标准 GitHub Flavored Markdown 不允许,表头行和分隔行都是必需的。常见做法是把表头单元格留空,这样顶部会出现一条空白表头带。如果确实需要完全没有表头的网格,请改用 HTML 表格。
Markdown 表格能合并单元格吗?
不能。Markdown 表格没有 rowspan 和 colspan 的等价写法,每一行的列数必须相同。需要合并单元格时,请写带 colspan 或 rowspan 属性的 HTML 表格,GitHub 和主流静态站点生成器都能在 Markdown 文件中渲染它。
怎么把 CSV 数据转成 Markdown 表格?
切换到代码编辑器粘贴 CSV 内容,然后把逗号替换成竖线,并在第一行下方插入一行短横线。预览会随输入实时更新,某一行如果拆分错了可以立刻看出来。也可以用导入按钮加载已有的 .md 或 .txt 文件。
Markdown 表格可以转成 Excel 吗?
可以间接实现。把竖线替换成逗号、删掉短横线那一行,保存为 .csv 文件后即可用 Excel 或 Google Sheets 直接打开。此外,在浏览器预览中选中渲染后的表格再粘贴到表格软件里,同样能保留列结构。
Slack 和 Discord 支持 Markdown 表格吗?
都不支持。Slack 完全没有表格语法,Discord 也会忽略消息里的竖线表格。通用做法是把表格放进三个反引号的代码块,用等宽字体保证各列不错位;或者直接发送截图。
Markdown 怎么做目录(table of contents)?
为每个标题写一个链接,链接目标指向该标题的锚点,例如「安装」指向 #安装。GitHub 会自动为标题生成锚点:文字转成小写、空格换成连字符。如果希望目录带边框,也可以把这些链接放进一个单列表格里。
为什么我的 Markdown 表格渲染不出来?
常见原因有三个:表头下面缺少那一行短横线分隔行;某些行的列数和表头对不上;表格紧跟在段落后面却没有空一行。此外,单元格里未转义的竖线也会把该行拆成多余的列。