JSONL Splitter

Split large JSONL (JSON Lines) files into smaller chunks by line count or file size. 100% client-side, your data never leaves your browser.

Input JSONL

Drop a .jsonl file here, or click to browse

Supports .jsonl, .ndjson, .json, .txt

Split Options

How to Split JSONL Files

Upload your large JSONL file or paste its content into the input area. The tool accepts .jsonl, .ndjson, .json, and .txt files of any size.

Choose how you want to split: by line count (e.g., 1000 lines per file) or by file size (e.g., 10 MB per file). The splitter processes each line independently, preserving the integrity of every JSON record.

Once split, download each part individually or use 'Download All as ZIP' to get all parts in a single archive. Each output file is a valid JSONL file ready for immediate use.

What is JSONL Splitting?

JSONL splitting is the process of dividing a large JSONL (JSON Lines) file into multiple smaller files, each containing a subset of the original records. Since every line in a JSONL file is an independent JSON object, splitting is straightforward and never breaks any record.

This is essential when working with machine learning platforms that have upload size limits, batch APIs that accept a maximum number of records per request, or data pipelines that perform better with smaller input files. Splitting lets you process data in manageable chunks without modifying the content.

Common Use Cases

OpenAI Batch API Limits

Split large JSONL files to meet OpenAI Batch API size limits (100 MB per file, 50,000 requests per batch).

ML Training Data Partitioning

Divide large training datasets into train/validation/test splits or equal-sized chunks for distributed training.

Parallel Processing

Split JSONL files into chunks for parallel processing across multiple workers, threads, or serverless functions.

Upload Size Limits

Break large JSONL exports into smaller files that fit within platform upload limits (AWS S3 multipart, GitHub, email attachments).

Incremental Data Loading

Split large datasets into smaller batches for incremental loading into databases or data warehouses to avoid timeouts.

Version Control Friendly

Split massive JSONL data files into smaller parts for Git version control, avoiding large file warnings and improving diff readability.

Common Errors & Solutions

Split Produces Empty Files

This can happen if the lines-per-file value is larger than the total number of lines. Reduce the number of lines per file, or use size-based splitting instead.

Size-based Split Produces Uneven Parts

When splitting by size, the last part may be smaller than the target size because lines are never broken mid-record. Each file is guaranteed to contain only complete JSON lines.

Browser Slows Down with Very Large Files

For files over 500 MB, the browser may become slow during processing. Consider splitting the file using command-line tools like 'split' or 'wc -l' for extremely large datasets, then use this tool for verification.

Frequently Asked Questions

What does a JSONL splitter do?

Yes. All splitting happens locally in your browser using JavaScript. No data is sent to any server. Your JSONL content never leaves your device.

Can I split JSONL by file size instead of line count?

There is no hard limit. The splitter can handle files of several hundred megabytes. Performance depends on your browser and device memory.

Does this JSONL splitter upload my file?

Yes. Records are split sequentially. The first file contains the first N lines, the second file contains the next N lines, and so on. No records are reordered or duplicated.

How should I split JSONL for OpenAI Batch API limits?

Currently, you can choose one split mode at a time. If you need both constraints, split by the more restrictive one first, then verify the resulting files meet both requirements.

Will splitting JSONL break any records?

Empty lines are preserved during splitting. If your JSONL file has empty lines between records, they will appear in the output files at their original positions. Use our JSONL Validator to clean up empty lines before splitting if needed.

How do I merge split JSONL files back together?

Yes. Since each split file is a valid JSONL file, you can concatenate them to reconstruct the original. On the command line, use 'cat part_*.jsonl > merged.jsonl'. You can also use our JSONL tools to combine files.

What naming convention do the split files use?

Split files are named with a sequential part number (e.g., part_001.jsonl, part_002.jsonl). When downloading as ZIP, all parts are included in a single archive.

How does size-based splitting work internally?

Size-based splitting accumulates lines until the target size threshold is reached. The current file is closed and a new one begins with the next line. Lines are never split across files, so each part may be slightly over or under the target size.

JSONL merger/OpenAI Batch API JSONL format/large JSONL files guide/JSONL validator/online JSONL tools
JSONL Splitter β€” Split Large JSONL Files by Lines or Size...