Markdown 表格生成器,免费

使用类似电子表格的编辑器可视化构建 Markdown 表格。

没有数据离开您的设备
3 × 3

点击每个列标题下方的 L / C / R 设置对齐方式(左、中、右)。

Markdown 输出

关于 Markdown 表格

Markdown 表格使用竖线(|)和连字符(-)在纯文本中创建结构化的表格数据。GitHub、GitLab、Reddit 以及大多数 Markdown 渲染器都支持。对齐行使用冒号来指示每一列的左、中或右对齐。

手写 Markdown 表格既繁琐又容易出错。此可视化编辑器让您像使用电子表格一样输入数据,并实时生成格式正确的 Markdown。所有处理都在您的浏览器中完成。

管道表(pipe-table)语法的机理

一张 GFM 表由三部分构成:一行 表头,单元格之间用竖线 (|) 分隔;紧接其下的一行 分隔符,每列用一段连字符 (---);以及零或多行 数据行,结构与表头相同。每行首尾的竖线可有可无,按惯例保留以利可读。列对齐由分隔行里的冒号决定::--- 表示左对齐(同时也是默认),:---: 表示居中,---: 表示右对齐。最小可用的表在源代码里长这样:第 1 行 | Header | Header |,第 2 行 | --- | --- |,第 3 行起 | Cell | Cell |。单元格内容可以包含任意行内 Markdown 格式(粗体、斜体、链接、行内代码、图片),但不能包含块级元素(列表、代码块、引用块)。单元格里要换行,必须写成 <br>,而不是字面意义上的换行(后者会破坏表结构。单元格内的竖线必须转义为 \|,否则解析器会把它当成列分隔,整行的列数就乱了。大多数解析器对列宽不齐有容忍:| a | b || aaa | b | 渲染结果相同)尽管后者在源码里看起来更「整齐」。本工具为了源码可读性始终输出对齐宽度,但渲染结果与紧凑源码完全一致。

表能在哪儿渲染,不能在哪儿

能正常渲染的:GitHub(issues、pull requests、READMEs、wiki 页面、讨论、code review、几乎所有评论区)、GitLab(同样的若干面)、Bitbucket、Stack Overflow、Reddit(在启用了 GFM 的子版块里,多数子版块都启用了)、Discord(仅在代码块上下文里,聊天消息里不渲染完整 GFM 表,但其文档面的 markdown-it 会处理)、Notion(带自己的表导入)、Obsidian、Logseq、Bear,大多数静态站点生成器(Hugo、Jekyll、Eleventy、装了 remark-gfm 插件的 Astro、Next.js 的 MDX)、VS Code 的预览、GitHub Pages、Read the Docs(视配置而定)。不能正常渲染的:严格 CommonMark(不带扩展用 commonmark reader 的 Pandoc、未开启 pipe-table 标志的 Discount C 解析器)、Slack(渲染 Markdown 的一个子集,但没有表)、大多数邮件客户端(邮件里渲染出的 HTML 结构上没问题但是内联样式,不是 Markdown)、未装 Markdown 插件的老 WordPress。一般原则:目的地是面向开发者的平台(GitHub 家族、技术文档)时,GFM 表能用;目的地是面向大众的平台(Slack、邮件、Twitter)时,应假设表不会渲染,要么预渲染为图片,要么改写成列表。

其他 Markdown 表格语法

管道表格式因 GitHub 的覆盖面而占主导,但它并非唯一的 Markdown 表语法。Pandoc 简单表用「空行加连字符」作分隔、按视觉位置(而非竖线)对齐列,对窄表来说可读性好得多,但更难手写。Pandoc 多行表支持跨多行的单元格,用于一行装不下的长描述。Pandoc 网格表用 ASCII 美术边框(+---+---+),手工维护看起来痛苦,但工具生成很容易。reStructuredText(Sphinx)完全使用网格表,每个 Python 项目的文档都是这么写的。AsciiDoc 使用一种不同的「竖线前缀」语法(|===),更适合写技术书。Markdown 里的 HTML 永远是兜底方案:任何 Markdown 处理器都会原样放行 HTML,因此当管道表不够用时,你可以直接放一个真正的 <table>,享有完整的行/列合并、语义标签和 CSS 样式。本工具生成的是 GFM 风格的管道表语法,对现代开发者生态而言兼容性最好的选择。

常见用途

宽度问题与其他约束

管道表有几个内在的限制,值得知道。列宽受最长单元格内容的约束(某个单元格里的长 URL 或长描述会把整列撑宽,可能产生塞不进标准文档页宽度的庞大表。修补办法要么截断长内容(详情链到别处),要么改用内联 HTML 以获得可换行的单元格。没有行/列合并)每个单元格只占一行一列。需要合并单元格的复杂表必须用真正的 HTML <table>rowspan / colspan不能嵌套表(Markdown 里没法把一张表放进另一张表的单元格里。单元格里不能放块级内容)单元格内不允许列表、代码块、引用块。行内内容(粗体、斜体、行内代码、链接、图片)没问题,但任何多行内容都要靠 <br>GFM 中表头是必须的(没有「无表头」语法。如果你想要一张没有可见表头的表,把表头单元格留空,但那一行依然得在。对齐是按整列生效的)不能在同一列里给不同单元格设置不同对齐。对超出上述约束的复杂表布局,正确的工具是你 Markdown 源文件中的 HTML,而不是 Markdown 本身。

CSV ↔ Markdown 互转

现实世界里多数表格数据存在 CSV 文件中(电子表格导出、API 响应、日志分析输出),与 Markdown 互转是常见工作流。CSV → Markdown:解析 CSV(处理被引号包裹的字段中的逗号、被转义的引号、字段内的换行),然后把每行格式化为 | 值 | 值 | 并加上恰当的表头和分隔行。多数表生成器(包括本工具)都提供 CSV 导入;做一次性转换也可以用 csvkitcsvlook 命令行工具,它产出类似的管道格式输出。Markdown → CSV:把 GFM 表反解析回行与列,再用合适的引号生成 CSV。把文档里的结构化数据抽回表格软件分析时很有用。Markdown-到-CSV 这个方向,由 pandoc(搭配正确的 reader/writer)、tableconvert.com 以及各类命令行工具提供。一来一回中有一个方向是有损的,格式(粗体、链接、图片)只有在你把 CSV 单元格内容当作原始 Markdown 文本写入、最终结果又当作 Markdown 处理时才能完好穿过 CSV 这一步。

隐私:为什么连这里都要「只在浏览器里跑」

表看起来不像敏感数据,但表的内容往往是。项目计划里有人事决策与未公开的特性。定价表里有商业信息。未发表博客里的对比表会泄露编辑立场。会议纪要的行动项里有分配与问责信息。服务器端的表生成器会把你的数据上传到第三方,并在日志里留存。本工具完全在你的浏览器里通过 JavaScript 运行,你可以在编辑单元格时打开 DevTools 的 Network 选项卡核对,或者在页面加载后切到离线(飞行模式),编辑器仍然可用。对于未发表的文档草稿、内部项目规划、尚未发布的对比表,或任何你不愿被复制到陌生人硬盘上的表格内容,都可以放心使用。

常见问题

生成的是哪种 Markdown 表格语法?

它生成标准的 GFM(GitHub Flavored Markdown)语法,带竖线、一行连字符分隔和可选的冒号用于对齐。此语法在 GitHub、GitLab、Reddit、Jekyll、Hugo 以及大多数 Markdown 处理器中都有效。

如何设置列对齐方式?

点击每个列标题下方的 L(左)、C(中)或 R(右)按钮。左对齐在分隔行中使用 :---,居中使用 :---:,右对齐使用 ---:

可以从 CSV 导入或从电子表格里直接粘贴吗?

CSV 导入在路线图上。目前从 Excel/Google Sheets 直接粘贴往往可用,多数电子表格 App 会把数据以制表分隔的形式放进剪贴板,你可以分别粘进每个单元格。如要不经手工粘贴的批量 CSV 导入,命令行工具如 csvkitcsvlook 能产出类似的 GFM 表输出,或者 pandoc 可以用 pandoc --from csv --to gfm input.csv 把 CSV 直接转成 Markdown。

合并单元格、嵌套表,或在单元格里放块级内容呢?

GFM 管道表都不支持。每个单元格只占一行一列;没有 rowspancolspan。没有嵌套表。单元格里不能有块级内容(列表、代码块、引用块),只允许行内内容(粗体、斜体、行内代码、链接、图片、通过 <br> 的换行)。如果需要超出这些约束的复杂表布局,请直接把原始的 HTML <table> 嵌入到 Markdown 源代码里,任何 Markdown 处理器都会原样放行 HTML。代价是源文件会更难手工阅读和编辑。

行或列有数量限制吗?

最多可以有 20 列和 100 行。对于大多数文档和 README 文件来说绰绰有余。表格会在您输入时实时更新。

我的表格内容会被发送到任何地方吗?

不会。生成完全在你的浏览器里通过 JavaScript 运行。你编辑的单元格与 Markdown 输出都不会过网络,你可以在键入时打开 DevTools 的 Network 选项卡核对,或者在页面加载后切到离线(飞行模式),编辑器照样工作。对于未发表的文档草稿、内部项目计划、尚未发布的价格对比表,或任何你不愿被复制到陌生人硬盘上的表格内容,都可以放心使用。

相关工具