CSV 转 Markdown — 把 CSV 数据转为 Markdown 表格
把 CSV 数据转为 Markdown 表格语法,适用于 README、文档和博客文章。管道对齐的输出,完全在浏览器中运行。无上传、无限制。
CSV to Markdown Table
Convert CSV or tab-separated data to a formatted Markdown table. Auto-detects delimiter (comma, tab, semicolon) and aligns columns. Perfect for README files, GitHub issues, and documentation. Works entirely in your browser.
CSV 转 Markdown 是目的地为文档站点、README、博客文章或任何以文本为主的载体时应该做的转换。Markdown 表格有它自己的语法 —— 一行用管道符分隔的表头、一行用冒号表示对齐方式的分隔行、以及与表头列数一一对应的数据行 —— 一张格式正确的表格在任何 GitHub Flavored Markdown 渲染器里都会呈现为一张对齐合理的 HTML 表格。这步转换本身很短,人工写也写得了,但只要输入超过几行,对齐就会开始漂移,最终出来一张原始状态下歪歪扭扭、渲染出来列宽诡异的表格。
生成 Markdown 表格时「不那么显然」的一点是转义。管道符(|)在 Markdown 表格语法里是单元格分隔符,所以单元格值里的任何管道符都必须转义 —— 通常写成 \|,或者用反引号包起来。另一种转义风险是换行:多行的单元格值(引号包裹的、含内嵌换行的 CSV 单元格)不符合 Markdown 的单行单元格模型,合理的变通办法是把内部换行转成 <br> 标签,GitHub 和大多数其他渲染器都认这个。这两类转义工具都会自动处理,所以输出在整个 GFM 生态里无需任何手工后处理就能直接用。
最后的交接:如果目的地是 GitHub README 或支持 GFM 的文档站点,直接把输出粘过去。如果目的地是纯 CommonMark 渲染器(罕见 —— 大多数现代工具都支持 GFM),改用 HTML 输出,把 HTML 嵌进去。如果目的地是电子表格或数据流水线,这次转换本身就不对 —— 把同一份 CSV 走 CSV-to-JSON 或 CSV-to-XML。Markdown 格式是给人类阅读的文档准备的,不是机器可读数据交换用的。
使用方法
粘贴 CSV 数据
把 CSV 拖入输入区,或加载 .csv 文件。工具会自动检测分隔符(逗号、分号、Tab)以及是否存在 UTF-8 BOM。多行单元格也支持 —— 引号包裹的单元格里的换行会被保留。
选择 Markdown 方言
可选标准 Markdown(适用于 GitHub、GitLab、Hugo、Jekyll)、GFM(GitHub Flavored Markdown,与标准 Markdown 在表格上等价),或转义管道符的变体(对单元格里的 | 做转义)。
复制表格
把 Markdown 复制到剪贴板。输出是一张自包含的表格 —— 粘到任何 Markdown 文档里,静态站点生成器都会把它渲染成一张格式正确的 HTML 表格。
常见问题
哪些 Markdown 方言支持表格?
标准 Markdown 不支持 —— 表格是 GitHub Flavored Markdown(GFM)的扩展。GitHub、GitLab、Bitbucket、Hugo、Jekyll、Eleventy、Obsidian 以及大多数静态站点生成器都支持 GFM 表格。纯 CommonMark 渲染器则会显示原始的管道语法。
单元格里的管道符如何转义?
默认情况下,单元格里的管道符被转义成 `\|`,大多数 Markdown 渲染器会把它当成字面量的 | 解析。另一种方式是用反引号包住单元格 —— 当单元格值含有管道符且开启了「使用反引号」选项时,工具会采用这种方式。
可以对齐列吗?
可以 —— 三种对齐方式:左对齐(默认,`:---`)、右对齐(`---:`)、居中对齐(`:---:`)。在设置面板里逐列指定对齐方式,输出里的分隔符行会随之更新。
带换行的单元格怎么处理?
严格的 Markdown 表格规范不支持多行单元格,但大多数渲染器(包括 GitHub)会识别 `<br>` 标签。工具会把单元格里的换行转换成 `<br>` 标签,产出的结果在 GitHub 和大多数其他渲染器里都能正常显示。
第一行会被当作表头吗?
会的 —— 默认情况下第一行就是表头行,下面紧跟分隔符行。打开「无表头」选项可以让所有行都按数据行渲染,这在 CSV 是纯数据导出、没有列名时很有用。
限制说明
- 只支持 GFM 表格输出是 GFM 表格语法。纯 CommonMark 渲染器(也就是严格规范)会把原始管道符当文本显示。如果目的地只支持 CommonMark,请改用 HTML 输出,直接把 HTML 嵌进去。
- 不支持 colspan 或 rowspanMarkdown 表格是一个平面网格 —— 无法表达合并单元格。如果源数据里有合并表头,输出会逐格独立渲染,你需要手动编辑 Markdown 才能加上 HTML 层级的合并。
- 单元格宽度不自动调整输出里的列宽基于每列里最长的值,但 Markdown 渲染器会忽略空白对齐,按单元格内容来定列宽。填充过的输出在原始状态下更易读,但渲染出来的表格并不会因此改变。
平台说明
- macOS
- GitHub Desktop 和 Obsidian 都能直接渲染 GFM 表格。这里的 Markdown 输出就是两者都接受的标准语法。如果目的地不是 GitHub 生态,发布前请先在目标渲染器里测试一下。
- Windows
- Typora 和 VS Code 的 Markdown 预览都支持 GFM 表格。输出在两者之间可以无缝搬运。如果目标是 Notion 或 Confluence,先复制表格再用它们各自的「插入表格」功能,不要直接粘原始 Markdown。
- Linux
- Pandoc 可以直接把 CSV 转成 Markdown 表格:`pandoc input.csv -o output.md`。本浏览器工具更适合一次性转换,或者从聊天、邮件、文档页里粘贴内容的场景。
- Web
- 完全在客户端运行。页面加载后可以离线使用。输出是可移植的 —— 粘到任何 GitHub README、GitLab issue、Hugo 博客文章或 Obsidian 笔记里都不需要任何依赖。