CSV文件乱码修复·编码转换

解决 Excel 打开 CSV 中文乱码,UTF-8 与 GBK 互转,把大 CSV 按行拆分并保留表头,挑选列,转成 JSON。文件不会上传到服务器。

功能

  • 自动识别编码(UTF-8、GBK/GB18030、UTF-16 等)和分隔符,可在预览里确认
  • 一键转成 Excel 不乱码的“UTF-8 带 BOM”,或老系统用的 GBK;GBK 表示不了的字符会标出位置
  • 按行数或文件大小拆分,每个文件都带表头,打包成 ZIP 下载
  • 只导出需要的列,逗号⇔Tab,CSV⇔JSON(JSON Lines),转换换行符
  • 几十 MB 的 CSV 也在后台线程(Web Worker)里分块处理,页面不会卡死

适用场景

下载的 CSV 用 Excel 打开是乱码

淘宝、京东等电商后台、支付平台账单或各类 SaaS 导出的 CSV,转成 Excel 能直接打开的格式。

导入只认 GBK 的老系统

把 UTF-8 的 CSV 转成 GBK,再导入 ERP、财务软件或银行批量代发等系统;转不了的字符提前就能看到。

CSV 太大打不开

超过 Excel 行数上限(1,048,576 行)或上传大小限制的 CSV,按行拆开,每份都保留表头。

交给接口或程序

CSV 转 JSON / JSON Lines,或把 JSON 转回 CSV,方便在不同工具之间传数据。

隐私

读取、识别编码、转换、拆分全部在你的浏览器里(你自己的设备上)完成。客户名单、销售数据等 CSV 不会发送到任何服务器。文件不会写进网址或 localStorage,关掉页面就没了。

常见问题

文件会被上传吗?

不会。从读取到转换、拆分、打包 ZIP,全部在你的浏览器里完成。含有手机号、身份证号等个人信息的 CSV 也可以放心使用。

该存成 UTF-8 带 BOM 还是 GBK?

只是用 Excel 或 WPS 打开的话,推荐 UTF-8 带 BOM,emoji 和生僻字都能保留。只有在要导入的系统明确要求 GBK(或 GB2312、ANSI)时才选 GBK。

最大能处理多大的文件?

取决于设备内存,一般几十 MB 到 100 MB 左右的 CSV 都没问题。文件按每 4 MB 一块边读边转换,处理中页面也不会卡死(只有 JSON 输入会一次性读入)。

Excel 打开后身份证号变成 4.40106E+17、开头的 0 也没了

这是 Excel 打开时把它们当成了数字,CSV 文件里的内容其实是完整的。但如果在 Excel 里直接保存,超过 15 位的数字会永久丢失精度。请用 Excel 的“数据”→“从文本/CSV”导入,把这一列的类型设为“文本”。

拆分后的每个文件都有表头吗?

有。只要勾选了“第一行是表头”,拆分出的每个文件开头都会带上相同的表头行。

相关工具

打开 CSV

把 CSV、TSV 或 JSON 文件拖到这里

也可以点击选择文件。几十 MB 的文件也没问题。

选择文件

想把粘贴的表格转成 Markdown/HTML,或修复已经乱码的文字: 表格转换 / 乱码恢复

为什么 Excel 打开 CSV 会乱码

双击打开 CSV 时,中文版 Excel 会先看文件开头有没有 BOM(字节顺序标记);没有的话,就按系统默认的 GBK(代码页 936)来读。而网站后台、数据库、Python/Java 程序和 Mac 导出的 CSV 大多是不带 BOM 的 UTF-8,于是“中文”就变成了“涓枃”这样的乱码。重新保存为 UTF-8 带 BOM,Excel 就能正确识别,连 emoji 和生僻字也不会丢。反过来,如果文件本身是 GBK(老系统或中文版 Excel 导出的),交给程序或 Mac 处理时可能会出现“���”,转成 UTF-8 即可。要导入只认 GBK 的老系统时,再转成 GBK。

隐私

读取、识别编码、转换、拆分全部在你的浏览器里(你自己的设备上)完成。客户名单、销售数据等 CSV 不会发送到任何服务器。文件不会写进网址或 localStorage,关掉页面就没了。