{"$schema":"https://toolsly.tools/schemas/tool-manifest-v1.json","generated":"2026-05-20T20:47:38.268Z","discovery":{"catalog":"https://toolsly.tools/tools.json","llmsTxt":"https://toolsly.tools/llms.txt","sitemap":"https://toolsly.tools/sitemap.xml"},"relatedTools":[{"slug":"qr-code-reader","name":"QR Code Reader","url":"https://toolsly.tools/qr-code-reader"},{"slug":"qr-code-generator","name":"QR Code Generator","url":"https://toolsly.tools/qr-code-generator"},{"slug":"file-to-hex","name":"File to Hex Dump","url":"https://toolsly.tools/file-to-hex"},{"slug":"hex-to-file","name":"Hex to Binary File","url":"https://toolsly.tools/hex-to-file"},{"slug":"wifi-qr-code-generator","name":"Wi-Fi QR Code Generator","url":"https://toolsly.tools/wifi-qr-code-generator"},{"slug":"vcard-qr-code-generator","name":"vCard QR Code Generator","url":"https://toolsly.tools/vcard-qr-code-generator"},{"slug":"barcode-generator","name":"Barcode Generator","url":"https://toolsly.tools/barcode-generator"},{"slug":"base64-encode","name":"Base64 Encode","url":"https://toolsly.tools/base64-encode"}],"kind":"utility","slug":"json-merge","name":"JSON Merge","description":"Deep-merge two JSON documents — choose how to handle conflicting keys and arrays.","longDescription":"Combine two JSON objects with a deep recursive merge. Choose whether the right or left side wins on conflicting scalars, and whether arrays at the same path should be concatenated or replaced. Useful for layering config files, applying overrides on top of defaults, or building composite payloads. Runs entirely in your browser — free, online, no upload.","category":"text","categoryName":"Text & Encoding","keywords":["json merge","json merge online","deep merge json","json combine","merge two json","json overlay","json config merge","json override","json deep merge tool","merge json arrays","json union","json combiner"],"badge":"Merger","url":"https://toolsly.tools/json-merge","inputs":[{"type":"text","key":"a","label":"JSON A (base / left)","placeholder":"{\"a\": 1, \"tags\": [\"x\"]}","multiline":true,"monospace":true},{"type":"text","key":"b","label":"JSON B (overlay / right)","placeholder":"{\"a\": 2, \"tags\": [\"y\"]}","multiline":true,"monospace":true},{"type":"select","key":"strategy","label":"Strategy","defaultValue":"right","choices":[{"value":"right","label":"Right wins (deep)"},{"value":"left","label":"Left wins (deep)"},{"value":"concat","label":"Concat arrays (right wins scalars)"},{"value":"replace","label":"Replace arrays (right wins scalars)"}]}],"outputs":[{"key":"merged","label":"Merged","multiline":true}],"invocation":{"webUi":"https://toolsly.tools/json-merge","api":null,"notes":"Currently invoked via the web UI at `webUi`. Inputs are form fields; outputs are structured text values. A remote MCP/REST API is planned."}}