logo
GeekFormat

CSV 转 JSON

GeekFormat在线CSV转JSON转换器,快速将逗号分隔值(CSV)表格数据转为标准JSON数组,适用于API接口联调、数据迁移、前端测试数据准备。核心特性:①自动识别分隔符:智能检测逗号、分号(欧洲常用)、制表符(TSV)并统一为逗号;②首行表头识别:自动将第一行作为JSON对象的键名(Keys),后续每行转为JSON对象;③智能修复:列数不匹配自动补空值或截断,引号不闭合自动补全,转换前可一键修复格式问题;④RFC 4180标准解析:正确处理双引号包裹字段、引号内逗号、双引号转义(""→");⑤双模式输出:支持2空格缩进美化JSON(方便阅读调试)和压缩模式(生产环境体积小);⑥400ms防抖实时转换,输入即得结果;⑦支持上传.csv/.txt文件、一键下载converted.json、左右面板拖动调宽、本地历史自动保存、移动端tab切换,转换后直接跳转JSON格式化工具继续处理,所有解析转换纯浏览器本地完成,不上传数据。

相关推荐

适用场景

  • 前端开发联调API时,把Excel导出的测试数据CSV转为JSON数组作为mock数据
  • 后端开发导入数据前,把CSV转为JSON检查字段映射关系是否正确
  • 数据迁移时将CSV格式数据转换为JSON供MongoDB等文档型数据库使用
  • 批量生成测试数据:在Excel里编辑好测试用例,转成JSON直接导入测试框架
  • SEO人员把关键词/URL列表CSV转为JSON-LD结构化数据
  • 产品/运营导出表格数据后转为JSON给开发做配置文件
  • 处理欧洲客户/同事发来的分号分隔CSV,不需要手动替换分号为逗号
  • 爬虫抓取到CSV格式数据快速转为JSON方便后续处理
  • 数据分析前把CSV转为JSON在JavaScript/Python中加载使用
  • 接口文档中把CSV示例数据转为JSON示例方便前后端对照
  • 学习CSV和JSON格式时直观观察两种数据格式的对应关系
  • 低代码/无代码平台数据导入前把CSV转为平台要求的JSON格式

功能特点

  • 智能分隔符识别:自动检测逗号、分号(;)、制表符(\t)三种常见分隔符并统一转换为标准逗号分隔,欧洲Excel导出的分号CSV、TSV文件直接粘贴就能识别
  • RFC 4180标准解析:正确处理带引号的字段(字段内包含逗号、换行)、双引号转义(字段内的""转义为"),符合CSV官方规范不会解析错误
  • 表头自动识别:第一行自动作为JSON对象键名(Key),每一行数据转为一个JSON对象,输出标准JSON数组格式
  • 智能错误修复:列数不匹配自动补空列或截断多余列,引号不闭合自动补全,一键修复常见CSV格式错误
  • 错误精确定位:解析错误逐行显示行号和错误内容(列数不匹配、引号问题),黄色警告区列出所有警告行方便排查
  • 美化/压缩双模式:美化输出2空格缩进层级清晰方便阅读调试,压缩输出无空白体积小适合生产环境使用
  • 400ms防抖实时转换:输入后自动转换不用点按钮,快速粘贴大文件也不会卡顿
  • 文件上传下载:支持上传.csv和.txt文件直接读取内容,转换结果一键下载为converted.json文件
  • 内置示例数据:点击「示例」按钮加载预置CSV样例,快速体验功能或参考格式
  • 本地历史自动保存:自动保存最近输入内容到localStorage,下次打开自动恢复上次数据不用重新粘贴
  • 左右面板可调宽度:PC端拖动中间分隔条自由调整左右面板宽度比例,长内容大屏更舒服
  • 一键跳转JSON格式化:转换完成后点击按钮直接跳转到JSON格式化工具继续处理结果,不用手动复制粘贴
  • 移动端适配:手机上输入输出用tab切换,触摸友好,外出调试随时转换
  • 纯本地浏览器处理:所有CSV解析和JSON转换在本地JavaScript完成,数据不上传服务器,含敏感业务数据放心使用

使用方法

  1. 把CSV数据粘贴到左侧编辑器,或点击「导入」上传.csv/.txt文件,或点「示例」加载样例数据
  2. 工具400ms防抖自动识别分隔符并转换,右侧实时显示JSON结果
  3. 如有列数不匹配或引号错误,会显示黄色警告区,可点「修复结构」一键自动修复
  4. 根据需要切换「美化输出」开关(缩进/压缩),结果满意后点「复制」或「导出」下载JSON文件,也可点按钮跳转JSON格式化工具进一步处理

常见问题

支持哪些分隔符的CSV?

自动识别三种最常见分隔符:逗号(,)——标准CSV默认;分号(;)——欧洲版Excel常用分隔符(因为欧洲用逗号作小数点);制表符(\t)——TSV文件格式。粘贴后工具会自动检测该用哪种分隔符并统一转换为标准逗号分隔再解析。

字段里包含逗号或换行怎么办?

工具遵循RFC 4180 CSV标准:如果字段内容包含逗号、换行或引号,用双引号把字段包裹起来(如"Smith, John"),字段内的双引号需要用两个双引号转义(如"He said ""Hello""")。解析器能正确处理这些情况,不会把字段内的逗号误认为分隔符。

首行必须是表头吗?

是的,工具默认第一行是表头(列名),会自动作为JSON对象的键名。如果你的CSV没有表头,可以在第一行手动加上列名(如col1,col2,col3),转换后再调整。

什么是「列数不匹配」错误?

CSV要求每一行的列数和表头列数一致,如果某行逗号分隔出的字段数多于或少于表头列数就会报这个错。工具会自动处理:列少了补空字符串,列多了截断多余列,并在黄色警告区列出所有有问题的行号,你也可以点「修复结构」按钮一键自动修复。

引号不闭合是什么意思?

RFC标准中双引号包裹的字段必须有开有合,如果某行引号是奇数个说明有引号没闭合(可能复制截断了),工具检测到会尝试自动在末尾补一个引号,并列出问题行号。

可以转换Excel导出的CSV吗?

可以。Excel导出的CSV(包括Windows和Mac版本)以及欧洲版Excel导出的分号分隔CSV都能正确识别解析。注意Excel导出时选择「CSV UTF-8」格式避免中文乱码,工具完美支持UTF-8编码。

TSV(制表符分隔)文件支持吗?

支持。直接粘贴制表符分隔内容或上传.tsv/.txt文件,工具会自动检测制表符分隔并转换为标准逗号分隔后解析,不需要手动替换。

转换后的JSON格式是什么样的?

输出标准JSON数组格式,每个数组元素是一个JSON对象,键名来自CSV首行表头,值来自对应列的字符串值。例如name,age\nJohn,25 转为 [{"name":"John","age":"25"}]。注意所有值都是字符串类型,如果需要数值类型需要在代码里自行转换。

为什么所有值都是字符串?能输出数字/布尔类型吗?

CSV格式本身没有类型信息,所有字段都是文本,工具为了安全默认全部转为字符串避免类型误判(比如编号00123转成数字会变成123丢失前导零)。如果你需要类型转换,可以在拿到JSON后在代码里处理,或者使用JSON格式化工具进一步处理。

可以上传文件吗?支持什么格式?

支持上传.csv和.txt格式文件,点击上传按钮选择文件或拖拽到输入区都可以,文件内容会被读取到输入框自动转换。文件是在浏览器本地读取,不会上传到服务器。

转换后怎么快速验证JSON是否正确?

工具转换成功后状态栏会显示成功转换的行数;另外提供一键跳转「JSON格式化」按钮,点击直接在新标签页打开JSON格式化工具并带入转换结果,可以进一步验证和格式化。

可以处理多大的CSV文件?

纯前端处理对于几万行以内的日常开发场景完全够用(几百KB到几MB)。特别大的文件(几十MB以上、百万行级别)建议使用专业数据处理工具,但接口调试、数据准备、批量转换等开发场景完全没问题。

中文或特殊字符会乱码吗?

不会。工具按UTF-8编码处理文本,完美支持中文、日文、Emoji表情和其他Unicode字符。如果你从文件读取出现乱码,请确认文件保存为UTF-8编码(Excel导出选择「CSV UTF-8」)。

我之前粘贴的内容为什么下次还在?

工具自动将你输入的CSV内容保存到浏览器localStorage本地存储,下次打开页面自动恢复上次输入,不需要每次重新粘贴。这是纯本地存储,数据不会上传,可以放心使用;点清空按钮可以清除当前内容。

数据会上传到服务器吗?

不会。所有CSV解析、错误修复、JSON转换全部在你浏览器本地JavaScript中完成,输入的CSV数据和转换结果不会通过网络发送到任何服务器,包含敏感业务数据、内部数据的CSV文件可以放心转换。

关于CSV格式与JSON转换

CSV(Comma-Separated Values,逗号分隔值)是最通用的表格数据文本格式,几乎所有表格软件(Excel、Google Sheets、Numbers、WPS)都支持导入导出CSV,也是数据交换、批量导入导出最常用的格式之一。JSON(JavaScript Object Notation)是Web API和现代编程中最常用的数据交换格式。CSV转JSON是开发中非常高频的需求:从产品/运营拿到Excel导出的CSV需要转成JSON给接口用,从数据库导出CSV需要转JSON做mock数据,数据迁移时CSV要导入到MongoDB等文档数据库……一个好用的转换工具能节省大量手动拼接JSON的时间。

CSV看似简单——逗号分隔字段、换行分隔行——但实际上有很多坑:字段里包含逗号怎么办?字段里有换行怎么办?引号怎么转义?不同国家导出的CSV还可能用分号当分隔符(欧洲因为用逗号当小数点)、用制表符分隔(TSV格式)。不处理好这些问题解析出来的数据就是错的。本工具遵循RFC 4180 CSV标准实现解析器,正确处理引号包裹、双引号转义、字段内逗号/换行等边界情况,不是简单的string.split(','),结果准确可靠。

自动识别分隔符是很实用的功能。很多开发者拿到一个CSV文件第一反应是去用split(','),但欧洲Excel导出默认用分号(;)分隔,直接split逗号会把整行当一个字段;TSV文件用制表符分隔,split逗号更是完全错误。工具会统计每行中逗号、分号、制表符出现次数,自动判断最可能的分隔符并统一转换,你不需要关心文件来源直接粘贴就行。

智能错误修复是区别于简单在线工具的核心功能。实际工作中拿到的CSV往往不规范:有的行列数不对(复制粘贴截断了、中间多了逗号)、有的引号没闭合(导出问题)、有的混用分隔符,直接解析会失败或得到错误结果。工具遇到这些问题不会直接拒绝转换,而是:①列出所有有问题的行号和错误原因;②提供一键修复按钮自动补空列/截断/补引号;③即使有警告也尽量输出可用的JSON结果,不会因为一行错误整个文件转换失败。

美化/压缩双模式输出对应不同使用场景:开发调试、阅读查看时用美化模式——2空格缩进,层级清晰,一眼看出对象结构;用于生产环境、API返回、配置文件时用压缩模式——去掉所有空白换行,体积更小传输更快。切换开关即时重新渲染,不需要重新转换。

为什么纯本地处理很重要?CSV文件经常包含真实业务数据、客户信息、未公开产品数据等敏感内容,如果上传到第三方转换服务器有数据泄露风险。本工具所有解析转换逻辑在浏览器本地JavaScript执行,文件只在你电脑内存里处理,网络请求都没有,断网也能用,从根本上解决数据安全问题。本地处理还有速度优势——几MB文件瞬间转换完成,不需要等上传下载。

可拖动分隔面板和本地历史是为高频使用优化的细节:处理宽表格时可以把输入区调宽,专注看结果时把输出区调宽;上次没处理完的CSV下次打开自动恢复,不用重新去邮箱/聊天记录里找文件复制粘贴。一键跳转到JSON格式化工具更是考虑到真实工作流——转完JSON通常需要格式化、验证、压缩,直接跳转不用重新复制粘贴开新页面。

需要说明:①所有CSV值统一转为字符串类型,这是刻意设计——CSV没有类型信息,自动转数字/布尔可能出错(如邮编00123、身份证号等前导零会丢失),需要类型转换请在代码中处理;②目前只支持CSV→JSON单向转换,JSON→CSV请使用本站对应工具;③极大文件(>10MB、百万行)建议使用命令行工具(如csvtojson、jq),本工具定位为开发调试场景,日常几万行以内完全流畅。

术语表

CSV
Comma-Separated Values逗号分隔值,用纯文本存储表格数据的格式,每行一条记录,字段间用逗号分隔,是电子表格和数据库最通用的导入导出格式。
RFC 4180
CSV格式的正式标准文档,定义了字段引号包裹、双引号转义、换行处理等规则,本工具遵循该标准解析。
TSV
Tab-Separated Values制表符分隔值,用Tab(\t)代替逗号分隔字段的格式,本工具自动识别支持。
分隔符自动识别
工具自动检测文件使用逗号、分号还是制表符作为分隔符,不需要用户手动选择,处理不同来源的CSV更方便。
表头 (Header)
CSV第一行,包含各列的列名,转换后作为JSON对象的键名(Key)。
JSON数组
本工具输出格式,由方括号包裹、逗号分隔的JSON对象列表,每个对象对应CSV中一行数据。
双引号转义
RFC标准中,字段内的双引号用两个连续双引号表示(""),解析时还原为单个双引号。
列数不匹配
防抖(Debounce)
输入后等待400ms无新输入才执行转换,避免每按一个键都重新解析大文件造成卡顿。
美化输出 (Pretty Print)
带缩进和换行的JSON格式,层级清晰便于人类阅读调试。
压缩输出 (Minify)
去掉所有空白和换行的JSON格式,体积最小适合传输和生产环境。
localStorage
浏览器本地存储,工具用来自动保存上次输入内容,数据只存在用户本地不上传服务器。

不同地区CSV分隔符对照

不同国家/地区Excel默认导出的CSV分隔符差异:

地区/语言默认分隔符小数点本工具支持
美国/英国/中国/日本逗号 ,点 .
德国/法国/意大利/西班牙分号 ;逗号 ,✅ 自动识别
通用TSV格式制表符 \t-✅ 自动识别

CSV转JSON示例

输入输出格式对照:

内容
CSV输入name,age,city\nJohn,25,New York\nJane,30,London
JSON输出[{"name":"John","age":"25","city":"New York"},{"name":"Jane","age":"30","city":"London"}]

常见错误与修复

CSV解析常见问题及处理:

错误类型原因自动修复处理
列数不匹配(少列)某行分隔符数量不够,字段数少于表头自动在末尾补空字符串
列数不匹配(多列)某行逗号多了或引号没包裹好自动截断多余字段
引号不闭合引号是奇数个,字段没正确结束在行尾自动补一个双引号
分隔符错误文件使用分号或制表符而非逗号自动识别并统一替换为逗号

Privacy & Security

本CSV转JSON工具所有CSV解析、分隔符识别、错误修复、JSON转换、文件读取全部在你的浏览器本地通过JavaScript完成,你粘贴的CSV内容、上传的文件数据完全不会上传到任何服务器,也不会被记录、存储或分析。本地历史记录仅保存在你自己浏览器的localStorage中,关闭或清空浏览器数据即可删除。包含敏感业务数据、客户信息、内部数据的CSV文件可以放心使用,不存在任何数据泄露风险。

Authoritative References

Troubleshooting

中文显示乱码怎么办?

乱码通常是文件编码问题。确保CSV文件保存为UTF-8编码:Excel导出时选择「CSV UTF-8(逗号分隔)」格式,而不是普通「CSV(逗号分隔)」(后者是GBK编码在Windows中文系统下)。如果文件是GBK编码,可以先用记事本打开另存为UTF-8再上传。

转换后所有内容变成了一列?

说明工具没正确识别分隔符。检查你的CSV是用什么分隔字段的——欧洲版Excel默认用分号(;),本工具支持自动识别;如果是其他特殊分隔符(如竖线|),可以先在编辑器里替换为逗号再转换。

数字为什么都变成字符串了?

这是正常的。CSV格式本身不携带类型信息,所有字段都是文本。如果自动把看起来像数字的字段转成Number类型,会导致前导零丢失(如00123变成123)、长数字精度丢失(如订单号超过15位)等问题。如果需要数值类型,请在代码中自行转换。

大文件粘贴后浏览器卡顿?

工具做了400ms防抖优化,但如果是几十万行的超大CSV(10MB以上),浏览器处理还是会有压力。建议:①先在Excel/VS Code里截取需要的部分再转换;②超大文件用命令行工具如csvtojson、jq、Python pandas处理更合适。日常开发场景(几千到几万行)完全流畅。