Split a large JSON array or object into fixed parts or size-capped chunks. 100% in-browser.
Paste or drop a JSON array or object to split it into parts
JSON splitting runs entirely in your browser. Your data is never uploaded to any server.
The parser walks your top-level array (or object keys) and deals items into parts. Fixed parts mode divides the count evenly — ceil(n ÷ parts) per file — while size cap mode keeps adding items to the current part until the next one would exceed the byte budget (measured on the pretty-printed output, the most conservative estimate). Each part is a standalone valid JSON array you can parse independently — that is the difference from a text-level split(), which would corrupt the file.
Fixed-parts mode splits by count; size-cap mode splits by serialized bytes. Both produce independently parseable files.
Ana's CMS import endpoint rejects anything over 500 KB per file, and her products.json holds 9,970 records at 12.4 MB.
Split large JSON files into valid standalone chunks online free. Fixed parts or items per chunk, ZIP download.
APIs, CI pipelines, and import tools routinely impose size or record limits: a 50 MB JSON export cannot pass through a 5 MB-per-file uploader. Splitting an array into valid standalone chunks - each a proper JSON array, not a fragment - lets you batch the upload while every piece remains independently parseable and debuggable.
Fixed parts is right when a downstream system expects an exact number of files: a 10,000-item array split into 4 parts yields 2,500 each, remainder going to earlier chunks. Fixed size is right when each target must stay under a record cap: 1,000 items at 250 per chunk yields 4 files. Object inputs split by top-level key, and scalar roots are rejected with an explanation rather than a broken output.
Choose either a fixed number of parts - a 10,000-item array split into 4 pieces yields 2,500 items each, with the remainder distributed to earlier chunks - or a fixed items-per-chunk, where 1,000 items at 250 per chunk yields 4 files. Object inputs split by top-level keys instead, one chunk per key.
Yes. Array chunks are wrapped back into JSON arrays, and object chunks keep their key-value pairs. Every chunk parses standalone, so downstream tools never see a fragment. If the root is a scalar (a bare number or string), splitting is impossible and the tool says so.
Browsers restrict multiple automatic downloads, so chunks larger than one are bundled into a single ZIP with names like data_001.json and data_002.json. A single-chunk result downloads directly without a ZIP wrapper.
Why did the elephant paint its toenails red?
No paywalls, no signups, no data sold. Built by a solo developer who believes useful tools should be accessible to everyone.
☕Support me on Ko-fi— keep tools free100% of proceeds go towards hosting & building more free tools.