JSONL 合并器

将多个 JSONL(JSON Lines)文件合并为一个文件。重新排序、去重和验证行。100% 客户端处理,数据不会离开您的浏览器。

输入文件

拖拽 .jsonl 文件到此处,或点击选择多个文件

支持 .jsonl, .ndjson, .json, .txt

合并选项

作者: Jerry Fan更新于 2026年2月

为什么 cat file1.jsonl file2.jsonl 可能会损坏数据

拼接看似是合并 JSONL 最直接的方法,而且在某个文件缺少末尾换行符之前,它确实一直有效。此时,前一个文件的最后一条记录会与后一个文件的第一条记录粘连,形成一行无效数据:

# file1.jsonl 末尾没有换行符:
{"id": 1}
{"id": 2}⏎missing
# file2.jsonl:
{"id": 3}
# cat file1.jsonl file2.jsonl 的输出:
{"id": 1}
{"id": 2}{"id": 3} ← one broken line: parse error, two records lost

此工具会检查每个输入的最后一个字节,并在拼接前补上缺失的换行符,因此无论输入文件以何种方式保存,合并后的输出始终有效。如果必须在管道中使用 cat,稳妥的写法是:awk 1 file1.jsonl file2.jsonl(awk 会确保每一行都以换行符结束)。

如何合并 JSONL 文件

选择或拖入多个 JSONL 文件到上传区域。每个文件完全在浏览器中读取 — 不会将任何数据发送到服务器。文件可以是 .jsonl、.ndjson、.json 或 .txt 格式。

上传后,您可以使用上/下箭头重新排序文件以控制合并顺序。启用去重选项可根据完整内容删除重复行,或启用 JSON 验证以跳过无效的 JSON 行。

合并输出在预览面板中显示前 100 行。将完整的合并文件下载为 .jsonl 文件或复制到剪贴板。统计信息显示总行数、文件大小以及删除的重复项或无效行数。

精确的合并语义

顺序
文件会按添加顺序拼接,每个文件内部的记录顺序也会保留。合并仅执行追加操作,不会对记录重新排序、改写或重新格式化。
边界修复
任何输入末尾缺失的换行符都会自动补齐(参见上例)。记录之间的空行会被移除,因为某些使用方不接受空行。
去重:精确匹配行
可选。只有原始行的字节完全相同时,两条记录才会被视为重复项。{"a":1,"b":2} 和 {"b":2,"a":1} 不会被去重,因为即使 JSON 值相等,键顺序不同也会导致行内容不同。如果需要按值去重,请先使用格式化工具的键排序选项进行规范化。
与拆分工具往返转换
合并与拆分完全互逆:将文件拆分为 N 个分块,再按顺序合并,所得结果与原文件在字节层面完全相同(关闭去重时)。这一特性使“拆分 → 并行处理 → 合并”成为一种安全的管道模式。

什么是 JSONL 合并?

JSONL 合并是将多个 JSONL(JSON Lines)文件组合成单个文件的过程。每个输入文件每行包含一个 JSON 对象,合并器将所有文件的所有行连接到一个输出文件中,同时保持您指定的顺序。

当处理分散在多个文件中的数据集时,这一功能非常重要 — 例如训练数据分片、每日日志导出或分块的 API 响应。合并将它们整合为单个文件,便于处理、分析或上传到需要单个 JSONL 输入的平台。

常见错误与解决方案

跨文件的重复记录

合并重叠的 JSONL 导出(例如时间戳重叠的每日日志)时可能出现重复。启用「去除重复项」选项可根据精确行内容自动去重。对于语义去重(相同数据,不同格式),请先使用 JSONL 格式化工具统一所有文件的格式。

文件间编码不一致

来自不同来源的文件可能使用不同的字符编码(UTF-8、带 BOM 的 UTF-8、Windows-1252)。这可能导致某些文件的第一行 JSON 解析失败。合并前请确保所有文件保存为不带 BOM 的 UTF-8。

跨文件的 Schema 不一致

来自不同来源的 JSONL 文件可能具有不同的键结构。虽然合并器会忽略 Schema 差异直接合并文件,但下游工具可能需要一致的 Schema。使用 JSONL 验证器验证合并输出,确保每行都是有效的 JSON。

常见用例

数据集整合

将多个 JSONL 训练数据分片合并为单个文件,上传到 OpenAI fine-tuning、HuggingFace 或其他 ML 平台。

数据管道组装

将并行数据处理管道的输出文件合并为单个 JSONL 文件,供下游使用。

ML 训练数据准备

将来自多个来源的 prompt-completion 对整合为一个 JSONL 文件,用于模型 fine-tuning。

日志文件聚合

将每日或每小时的 JSONL 日志导出合并为单个文件,进行全面的日志分析和搜索。

团队协作

将不同团队成员贡献的 JSONL 数据文件合并为统一的数据集,用于共享分析。

分析数据合并

合并来自多个服务或不同时间段的 JSONL 事件数据,进行统一的分析和报告。

常见问题

JSONL 合并器如何合并文件?

是的。所有合并操作都在浏览器本地进行,不会将任何文件数据上传到服务器。您的 JSONL 文件永远不会离开您的设备。

JSONL 合并器可以去除重复行吗?

文件数量没有硬性限制。您可以添加任意数量的 JSONL 文件。但由于所有文件都加载到浏览器内存中,非常大的组合数据集(数百 MB)可能会根据您的设备性能变慢。

这个 JSONL 合并器会上传我的数据吗?

去重比较每行经过去除首尾空格后的完整内容。如果两行完全相同(相同字符、相同顺序),第二次出现将被删除。这是精确匹配去重 — 具有相同数据但不同键顺序或空格的行被视为不同行。

可以用这个工具合并 NDJSON 文件吗?

可以。上传后,使用每个文件旁边的上下箭头按钮重新排序。合并输出从上到下按照文件顺序进行。

一次可以合并多少个文件?

空行和仅包含空格的行在文件读取过程中会被自动过滤掉。它们不会出现在合并输出中。这遵循 JSONL 规范中忽略空行的规定。

如何将合并后的 JSONL 文件再次拆分?

可以。合并器忽略 Schema 差异直接合并文件。每行保持原样不变。如果需要 Schema 一致性,请在合并前单独验证或转换文件。

合并器会保留原始文件顺序吗?

是的。每个文件中的行保持其原始顺序。文件按照文件列表中显示的顺序连接。您可以在合并前调整文件顺序。

可以合并不同 Schema 的文件吗?

此工具提供可视化界面,支持拖放上传、文件重新排序、去重、JSON 验证、行数统计和即时预览。与使用 cat 或 copy 命令手动连接不同,它自动处理尾部换行和空行等边界情况。

相关工具与指南