HTML 表格转 CSV/TSV/JSON, 粘 HTML 或整页源码, 自动抽出所有 table 标签, 含表头检测 + colspan/rowspan 处理, 支持 Excel 直接粘。
- 本地处理
- 分类 格式转换
- 适合 把粘贴内容或本地文件转成更适合交付的格式。
这个工具能做什么
粘任何 HTML 进来 (一段 `<table>` 片段、保存的整页、查看源码出来的字符串、检查元素复制的代码、导出的 MHTML 都行), 把里面每个 `<table>` 拽出来, 输出 CSV/TSV/JSON/Markdown 任选。 网格按正确算法重建: `colspan` 单元格在对应数量的列上铺开, `rowspan` 单元格会预占下面行的对应列, 这样下一行的数据不会被挤偏一格;`<br>` 自动转 `\n`, `&` 还原成 `&`。 嵌套表格 (一个 `<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. 输入
把内容粘贴或拖入工具面板。
-
2. 处理
点击按钮,在浏览器内本地处理,文件不上传。
-
3. 复制 / 下载
一键复制结果或下载到本地。
HTML 表格转 CSV/TSV/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 弹窗, 这些都不适合放进"分享我的设置"链接。 首次加载后整页可离线使用, 处理敏感的供应商数据时可以在不联网的笔记本上跑。
常见问题
类似工具组合
做你这行的人, 还会一起用这些。