TOOLOG / WEB UTILITY
JSON Merge | Combine Files, JSONL, Arrays & Objects
Combine JSON files, pasted API responses, and JSONL logs locally in your browser. Merge arrays and object keys, remove duplicates, check conflicts and shallow-merge rules, choose pretty or minified output, and copy or download the full result.
Try the tool
Enter your details below. Results update instantly.
Select up to 50 JSON files (20 MB total). Files are processed only in this browser.
No pasted JSON yet.
Use this for quick API snippets, copied console logs, or JSONL exports. Files and pasted JSON can be merged together. Paste up to 2,000,000 characters; nesting is limited to 100 levels. Conflicting object keys use the last input value (not a deep merge).
Upload multiple JSON files with similar format and merge/download them at once.
Download merged.jsonWhen should you use JSON Merge?
Use JSON Merge when split JSON files with similar schema need to be combined quickly.
Examples: paged API exports, chunked logs, and batch output files.
It is useful when you saved API responses page by page or need to turn several batch outputs into one merged.json without uploading private data elsewhere. For smaller snippets, paste JSON directly instead of saving temporary files, then test the same array merge or object merge behavior. JSONL logs can also be parsed line by line and merged locally, with empty lines and full-line // comments skipped.
Key features
- Multi-file JSON upload
- Direct paste input for API responses and log snippets
- Auto mode detects array/object structure
- Manual modes: array concat, object key merge, wrap roots into array
- Shared-array concatenation for objects such as
{ "items": [...] } - JSONL paste mode for one JSON value per line
- Pretty printed or minified output style
- Preview + copy result +
merged.jsondownload - Optional array deduplication count + object key conflict count
- Clear errors for invalid JSON, incompatible manual modes, and excessive file size
- Individual selected-file removal and pasted JSON size guidance
- Sample data to test the merge behavior before choosing files
How to use
- Upload multiple JSON files.
- If you do not have files, paste JSON text directly. Use a line containing only
---between multiple documents, or enable JSONL mode and paste one JSON value per line. - Remove any selected file you do not want to include, and check the pasted-size message if you added manual JSON.
- Pick a merge mode (default: Auto).
- Choose Pretty printed or Minified output.
- Click Merge JSON.
- Review duplicate-removal and key-conflict counts, then copy or download the result. A shortened preview does not shorten the saved JSON.
- If you edit input or options, run Merge JSON again before copying or downloading.
Notes
- In object-merge mode, duplicate keys are overwritten by later files.
- Manual object-merge mode requires every file root to be a JSON object. Incompatible structures are rejected with an error.
- Array deduplication compares objects with sorted keys, so
{ "a": 1, "b": 2 }and{ "b": 2, "a": 1 }count as the same item. - To protect browser memory, each run accepts up to 50 files with a combined size of 20 MB.
- Uploaded files and pasted JSON share the same 20 MB total limit.
- JSONL mode skips empty lines and lines that start with
//, but trailing comments are not valid JSON and will be reported as parse errors. - If no files or pasted JSON are present, the merge button stays disabled and the page shows an empty-input message.
- Uploaded files and merged results stay in your current browser and are never sent to a server.
Related tools
- Link cleanup: Link List Cleaner
- Text length check: Text Counter
- Key/style cleanup: Case Converter
Troubleshooting JSON merge errors and preserving data
- Object-key merging is shallow: a later nested object replaces the earlier value, rather than recursively combining its fields.
- Special JSON keys such as
__proto__,constructor, andtoStringare preserved as ordinary data. - Common-array mode requires exactly one array key shared by every input object. If several shared array keys exist, Auto falls back to object-key merge; explicit common-array mode reports an error. Choose object-key merge or wrap roots rather than guessing which array to concatenate.
- UTF-8 BOM files are supported; standard JSON comma and quotation rules still apply.
- Pasted input is limited to 2,000,000 characters and nesting to 100 levels. Out-of-range numbers such as
1e400are rejected. Store precision-sensitive large integers as strings. - Changing input/options or clearing while files are being read cancels the old result. Merge the new input again.
- Large previews are truncated, but copying and downloading retain the complete JSON.
Is object merging a deep merge?
No. A conflicting key is replaced by the complete value from the last file or pasted document. Common-array concatenation requires exactly one shared array key.