Combine multiple JSON files — array concat or recursive deep merge. 100% in-browser.
Add two or more JSON files, pick a strategy, and merge them
JSON merging runs entirely in your browser. Your data is never uploaded to any server.
Concat (arrays only) is order-preserving glue: [a] + [b] = [a, b], duplicates included. Deep merge (objects only) recurses: object keys merge pairwise, arrays inside objects concatenate, and later files overwrite earlier scalars — so config overlays work the way you expect. The rule of thumb: lists of records → concat; settings/layers → deep merge.
Later files win on scalar conflicts; arrays always concatenate, even inside objects.
Iris splits translations per team: en-core.json (array of 214 phrase entries), en-marketing.json (87 entries), and a settings overlay shared-config.json.
Merge multiple JSON files online free: concat for arrays, deep merge for objects with stated override rules. Everything runs locally; nothing is uploaded.
FreeToolHub JSON Merger is a free browser-based tool — merge multiple JSON files online free: concat for arrays, deep merge for objects with stated override rules. No signup, no upload; everything runs locally in your browser.
Kombinieren Sie mehrere JSON-Dateien kostenlos online mit zwei ehrlichen Strategien: concat für Arrays (schnelles Kombinieren von Datensätzen) und deep merge für Objekte (rekursiv, verschachtelte Arrays werden addiert, spätere Skalare überschreiben). Vorschau des Ergebnisses vor dem Herunterladen. 100% browserbasiert.
Die meisten Merge-Tools wählen ein Verhalten aus und verbergen die Randfälle. Dieses Tool bietet Ihnen zwei benannte Strategien mit festgelegten Regeln: concat hängt Arrays für das Kombinieren von Datensätzen an, und deep merge kombiniert Objekte rekursiv, wobei verschachtelte Arrays zusammenaddiert werden und spätere Skalare frühere überschreiben. Sie wählen die Semantik anstatt sie aus einem falschen Ergebnis herauszufinden.
Deep Merge löst Skalar-Konflikte zugunsten der späteren Datei in der Warteschlange, also setzen Sie Ihre autoritative Quelle zuletzt. Arrays in beliebiger Tiefe werden verkettet anstatt ersetzt - das Zusammenführen von zwei Konfigurationsdateien, die beide ein tags-Array definieren, ergibt beide Tag-Mengen. Die Live-Vorschau zeigt den exakten zusammengeführten Baum, bevor Sie herunterladen.
Die beiden Strategien existieren, weil JSON-Dateien zwei Formen mit unterschiedlichen richtigen Antworten haben. Concat ist für Arrays: zwei Dateien mit Benutzerdatensätzen werden zu einem längeren Array, Reihenfolge erhalten, Duplikate sichtbar gelassen anstatt still entfernt - Deduplizierung ist eine Geschäftsentscheidung, die das Tool für Sie nicht treffen will. Deep Merge ist für Objekte: zwei Konfigurationsdateien werden zu einem Objekt, bei dem verschachtelte Schlüssel rekursiv zusammengeführt werden, und die Konfliktregel ist einfach und sichtbar - die spätere Datei gewinnt. Das ehrliche Fehlerverhalten ist genauso wichtig: concat bei zwei Objekten wäre unsinnig, und das Deep-Merge von zwei Arrays würde nicht zusammenhängende Datensätze mischen, also erkennt das Tool die Nichtübereinstimmung und schlägt fehl anstatt ein plausibel aussehendes Müll zu erzeugen. Benötigen Sie elementweite Deduplizierung nach einem concat? Führen Sie die Ausgabe durch ein Skript, bei dem der Deduplizierungsschlüssel eine explizite Wahl ist. Benötigen Sie Schlüssel aus der ersten Datei, die unabhängig von der zweiten überleben? Deep Merge in umgekehrter Reihenfolge.
Concat ist für Arrays: es hängt jeden Eingabeelement an ein Array an, was der richtige Schritt für das Kombinieren von Datensätzen wie Exporten oder Log-Batches ist. Deep Merge ist für Objekte: es kombiniert Schlüssel rekursiv, verschachtelte Arrays werden addiert, und wenn beide Eingaben denselben Schlüssel mit einem Skalar definieren, gewinnt die spätere Datei - eine Regel, die von Anfang an angegeben ist, nicht versteckt.
Verschachtelte Objekte werden auf jeder Ebene rekursiv zusammengeführt. Wenn beide Dateien denselben Skalarschlüssel festlegen, überschreibt der Wert aus der späteren Datei in der Warteschlange den früheren, also ist die Reihenfolge der Warteschlange wichtig. Wenn beide Werte Arrays sind, werden sie verkettet anstatt ersetzt.
Concat erfordert, dass jede Eingabe ein Array ist und gibt dies an, wenn es nicht der Fall ist. Deep Merge erfordert, dass jede Eingabe ein Objekt ist. Warteschlangen mit gemischten Typen werden mit einer klaren Nachricht abgelehnt anstatt ein still falsches Ergebnis zu erzeugen.
Die spätere Datei gewinnt: wenn beide Dateien denselben verschachtelten Schlüssel definieren, trägt die Ausgabe den Wert aus der zuletzt hinzugefügten Datei. Es gibt keine stille Array-Verkettung innerhalb von Objekten - ein Array-Wert ersetzt den früheren vollständig, weil halb zusammengeführte Arrays eine Versteckmethode für Konfigurationsfehler sind.
Ja bei Arrays - concat erhält die Eingabereihenfolge genau, Datei für Datei. Bei deep-merged Objekten folgt die Schlüsselreihenfolge dem ersten Auftreten: Schlüssel aus der ersten Datei behalten ihre Positionen, neue Schlüssel aus späteren Dateien werden angehängt. Die Reihenfolge ist in JSON rein kosmetisch, aber stabile Ausgabe macht Diff-Reviews überprüfbar.
What do you call a really smart cookie?
No signups, no data sold. Every tool is free to use — the free tier allows 5 downloads or saves per day, and the optional Pro plan ($7/mo, $59/yr) adds unlimited downloads, batch processing, white-label exports and an ad-free experience.
☕Support me on Ko-fi— support the free tier100% of proceeds go towards hosting & building more free tools.