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
Input JSONL
Drop a .jsonl file here, or click to browse
Supports .jsonl, .ndjson, .json, .txt
Split Options
Split Results
Paste or drop JSONL content, configure options, and split
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.