跳到主要内容

HTML 表格转 CSV / TSV / JSON / Markdown

HTML 表格转 CSV/TSV/JSON, 粘 HTML 或整页源码, 自动抽出所有 table 标签, 含表头检测 + colspan/rowspan 处理, 支持 Excel 直接粘。

  • 本地处理
  • 分类 格式转换
  • 适合 把粘贴内容或本地文件转成更适合交付的格式。
试个例子:
输出选项

这个工具能做什么

粘任何 HTML 进来 (一段 `<table>` 片段、保存的整页、查看源码出来的字符串、检查元素复制的代码、导出的 MHTML 都行), 把里面每个 `<table>` 拽出来, 输出 CSV/TSV/JSON/Markdown 任选。 网格按正确算法重建: `colspan` 单元格在对应数量的列上铺开, `rowspan` 单元格会预占下面行的对应列, 这样下一行的数据不会被挤偏一格;`<br>` 自动转 `\n`, `&amp;` 还原成 `&`。 嵌套表格 (一个 `<table>` 套在 `<td>` 里) 会单独抽出来成为结果列表里的一张独立表, 父单元格留 `[table #N]` 这个标记指向它在结果里的位置。 表头检测分三档自动选: 如果源里有 `<thead>` 就听它的 (多行 `<thead>` 也支持, 键名按 " / " 拼);如果没 `<thead>`, 就看第一行 -- 全是文本类内容就当表头, 全是数字就不当 (`12.5%、8.0%` 这种不会被误判)。 也可以强制选"首行为表头"或"无表头"。 CSV 输出走 RFC 4180 (默认按需引号, 可选"全包"或"不加"), 还可加 UTF-8 BOM 让 Excel 双击直接以 UTF-8 打开。 TSV 是 IANA 标准制表符分隔。 JSON 在有表头时出对象数组, 无表头时出二维数组; 多行表头会按 " / " 拼成单层键名, 重名键自动加 `_2`、`_3` 后缀, 保证 JSON 合法。 Markdown 输出符合 GFM 规范, 单元格里的 `|` 自动转义。 全部用浏览器原生 DOMParser 处理, 不上传、不调外部脚本、不引第三方库。

工具细节

输入
文本 + 数值 + 结构化内容
页面会根据工具类型展示文本框、数值控件、文件选择或结构化输入。
输出
即时结果 + 复制 + 下载
结果区优先给出可操作结果,支持项会显示复制、下载或可视化预览。
隐私
浏览器本地处理
主工具逻辑未发现外部 API 调用,输入通常留在当前标签页内处理。
保存 / 分享
可分享链接状态
关键设置会进入 URL,复制链接后别人能复现同一组参数。
性能预算
首屏 JS ≤ 25 KB
没有声明 WASM 依赖,适合快速打开和移动端使用。
适用场景
格式转换 · 程序员
分类和职业标签用于推荐相关工具、组织内链,并帮助用户快速判断是否适合当前任务。

怎么用

  1. 1. 输入

    把内容粘贴或拖入工具面板。

  2. 2. 处理

    点击按钮,在浏览器内本地处理,文件不上传。

  3. 3. 复制 / 下载

    一键复制结果或下载到本地。

HTML 表格转 CSV/TSV/JSON 工具 适合怎么用

适合把内容从一种实际格式转成另一种可用格式。

适合转换的任务

  • 把粘贴内容或本地文件转成更适合交付的格式。
  • 放进大流程前,先预览转换结果是否可靠。
  • 修正常见格式不匹配,不用打开完整编辑器。

转换检查项

  • 源格式比较乱时,先拿一小段试转。
  • 转换后检查编码、分隔符和换行符。
  • 结果确认前保留原始内容。

下一步可以接着做

这些入口会把当前任务接到更完整的工具链里。

  1. 1 JSON 转 TypeScript Interface JSON 转 TypeScript interface, 粘 JSON 出干净 interface, 数组元素合并为 union, 可选字段自动识别, 根类型名可命名。 打开
  2. 2 CSV ⇄ JSON 互转 CSV 与 JSON 双向转换,支持引号内逗号、换行、自定义分隔符,全程浏览器本地 打开
  3. 3 JSON 格式化与校验 浏览器内即时格式化、校验、压缩 JSON,数据不离开本地。 打开

真实使用场景

  • 5 秒把维基百科对比表拽进电子表格

    要在调研笔记里引用维基"各国 GDP 列表"的数据。维基百科的表格出了名的爱用 rowspan (同一个洲跨 5 行国家) 和 colspan (合并表头) , 直接复制粘贴到 Excel 会错位。 在浏览器里检查元素, 把外层 `<table>` 元素复制出来粘到这里, 网格被算法重建得整整齐齐: 每个国家所在的洲落在正确的行, 不会偏一格。 点下载, Excel 或飞书表格打开, 直接开始排序。 不用装浏览器扩展, 不用写爬虫脚本, 不用申请维基 API key。

  • 把 GitHub Insights 表格抽出来写周报

    GitHub 的 Insights 页 (Pulse、Contributors、Traffic) 都是 HTML 表格, `<thead>` 通常两行合并表头。打开你仓库的 Pulse 页, 保存或者复制 table 元素, 粘进来。 输出格式切 JSON, 表头模式选"自动", 出来一个 `{"上周 / Star": 412, "上周 / Fork": 95, ...}` 的对象数组, 可以直接灌进你的看板生成器。 这种"上面一行带 colspan、下面一行才是真列名"的双层表头, 是普通爬虫脚本最容易出错的地方; 这工具不会错, 因为底层网格模型本身就是 colspan-aware 的。

  • 政府开放数据没有 "下载 CSV" 链接的时候

    很多 `.gov.cn` 站发布的预算、许可证、办事人员名单都是 HTML 表格, 没"下载"按钮。打开页, 把 `<table>` 复制 (或者保存整页粘源码), 出来的 CSV 里地址字段里的逗号会按 RFC 4180 自动加引号包住。 下载前记得把 "BOM (Excel UTF-8 用)" 勾上 -- 中文数据如果不带 BOM, Excel 会按 GB-18030 打开, 中文变乱码。 整个过程在本地浏览器里跑, 不需要把表格截屏发到那种"OCR 再转 CSV"的网站, 数据不出标签页。

  • 把论坛排行榜表格转成 Markdown 放进 wiki

    社区论坛"本月贡献者 Top 50"的表格要嵌到团队 wiki, wiki 用的是 GFM 格式。粘 HTML, 输出格式切 Markdown, 出来就是合法的 GFM 表, 直接粘进 wiki 就行。 单元格里的竖线 (用户签名里常有) 会被转义成 `\|`, 多行单元格内的换行会折成空格, 这样 Markdown 不会因为一格里多了一行就破。

  • 对比两个版本的供应商规格表

    供应商更新了发布的规格表, 想看新版改了哪些字段。把新旧两个版本的 HTML 都用同样的设置抽成 CSV, 然后 `diff` 一下, 行列对齐肯定能对得上 -- 哪怕新版加减了 rowspan 单元格, 网格模型把它们都归一成了矩形布局。 直接 diff 两段 HTML 几乎做不到这件事, 空格和属性顺序的变化会把真改动淹掉。

  • 一次性导出嵌套报销表里的 20 张子表

    有些老 CRM 导出的报销单是一整页 HTML, 顶层表的每一行的某个单元格里又嵌一张明细子表 (含发票、税、里程)。 整页粘进来, 工具返回 21 张表: 顶上是汇总表, 后面每张明细子表都是独立条目。汇总表的单元格里有 `[table #1]`、`[table #2]` 这种标记, 你能追到每条明细属于哪一行报销。 点 "下载 ×21" 把所有表拼成一个 CSV 文件, 行之间有分隔标记。

常见踩坑

  • 只粘了 `<tr>` 行没带外面的 `<table>` 标签。DOMParser 会把脱离 table 上下文的 `<tr>` 直接丢掉, 因为这种 HTML 不合法。一定要把 `<table>...</table>` 这层壳带上, 没有就手动补一对。

  • 数据里有中文、日文、韩文、emoji 时忘了勾 BOM (Excel UTF-8 用)。中文 Windows 的 Excel 默认按 GB-18030 解, 看到的就是乱码。勾上 BOM 这一项, 数据本身不变, 只是让 Excel 能正确识别编码。

  • 第一行其实是数据却强制选了"首行为表头"。JSON 出来后键名会变成数字或货币金额这种 -- 语法合法但完全没用。默认用"自动"模式就行, 除非你确认源里没 `<thead>` 而且亲眼看过第一行确实是表头。

  • 以为嵌套表会被平铺进一张大表。实际不会 -- 每张嵌套表都是结果列表里的独立条目, 父单元格留 `[table #N]` 标记。输出区上方的标签条用来切换不同表。

  • 想把 CSV 再反向转回 HTML 期望 `colspan`/`rowspan` 还在。CSV 格式本身没有"合并单元格"的概念, 这一步往返会丢掉合并信息。要保留合并就把原始 HTML 也存一份。

隐私说明

整条流水线 (DOMParser → 网格模型 → CSV/TSV/JSON/Markdown 序列化) 全部是浏览器标签页里跑的纯 JavaScript。 你粘的 HTML、抽出来的表格、复制或下载的输出, 都不会上传, 也不会打点。 URL 分享状态只带输出选项 (分隔符、引号策略、表头模式、格式), 不带 HTML 本身。 这一点很关键, 因为粘进来的页源码里经常混着邮箱、带 session 的 URL、内部域名、cookie 弹窗, 这些都不适合放进"分享我的设置"链接。 首次加载后整页可离线使用, 处理敏感的供应商数据时可以在不联网的笔记本上跑。

常见问题

类似工具组合

做你这行的人, 还会一起用这些。

Made by Toolora · 100% client-side · Updated 2026-06-13