🔗
Developer/JSON Merger

JSON Merger

Combine multiple JSON files — array concat or recursive deep merge. 100% in-browser.

100% LOCALConcat & deep mergeNested arrays addMulti-file queue100% local
Saved Merges· Auto-save on
▾
The CalculatorPage 1
🔗
Add JSON files
Merge order = list order below

Add two or more JSON files, pick a strategy, and merge them

Data Source & Legal Disclaimer
Effective: 2026Last updated: 2026-09-07Update: Manual review
Sources: JSON merging — client-side only

JSON merging runs entirely in your browser. Your data is never uploaded to any server.

See all data sources & update policy →
How it worksPage 2

Concat vs deep merge — illustrated

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.

Concat glues arrays · deep merge recurses objects
CONCAT (arrays)[a, b][b, c][a, b, b, c]DEEP MERGE (objects){tags:[x], level:1} + {tags:[y], level:2}{tags:[x,y], level:2}duplicates keptlater wins onscalars.

Later files win on scalar conflicts; arrays always concatenate, even inside objects.

Combining locale files — Iris' i18n build

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.

  1. Queue all three:She drops the files in order — core first so marketing entries land after, and the overlay last so it wins conflicts
  2. Concat the arrays:The two phrase arrays glue into one 301-entry array (214 + 87 = 301 ✓ shown in the summary)
  3. Deep merge the overlay:A second run deep-merges the merged settings object: nested arrays concatenate and the overlay's later scalars overwrite defaults
  4. Ship:merged.json downloads and the build picks it up unchanged — no scripting required
FAQ & detailsPage 3

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.

About this tool

What is this tool?

Merge multiple JSON files online free: concat for arrays, deep merge for objects with stated override rules.

Concat & deep mergeNested arrays addMulti-file queue100% local

Two Honest Merge Strategies

Most merge tools pick one behavior and hide the edge cases. This tool gives you two named strategies with stated rules: concat appends arrays for dataset combining, and deep merge recursively combines objects where nested arrays add together and later scalars override earlier ones. You choose the semantics instead of discovering them from a wrong result.

Order Matters in Deep Merge

Deep merge resolves scalar conflicts in favor of the later file in the queue, so put your authoritative source last. Arrays at any depth concatenate rather than replace - merging two configs that both define a tags array gives you both tag sets. The live preview shows the exact merged tree before you download.

Concat vs Deep Merge — Choosing a Strategy

The two strategies exist because JSON files come in two shapes with different correct answers. Concat is for arrays: two files of user records become one longer array, order preserved, duplicates left visible rather than silently dropped — deduplication is a business decision the tool refuses to make for you. Deep merge is for objects: two config files become one object where nested keys merge recursively, and the conflict rule is simple and visible — the later file wins. The honest failure mode matters as much: concat on two objects would be nonsense, and deep-merging two arrays would interleave unrelated records, so the tool detects the mismatch and fails loudly instead of producing plausible-looking garbage. Need element-level dedup after a concat? Run the output through a script where the dedup key is an explicit choice. Need first-file keys to survive regardless of the second? Deep merge in the reverse order.

Frequently Asked Questions

When should I use concat vs deep merge?

Concat is for arrays: it appends every input items into one array, which is the right move for combining datasets like exports or log batches. Deep merge is for objects: it recursively combines keys, nested arrays add together, and when both inputs define the same key with a scalar, the later file wins - a rule that is stated up front, not hidden.

What happens to conflicting keys in deep merge?

Nested objects merge recursively at every depth. If both files set the same scalar key, the value from the later file in the queue overwrites the earlier one, so ordering the queue matters. If both values are arrays, they are concatenated rather than replaced.

Can I merge files with different root types?

Concat requires every input to be an array and says so if one is not. Deep merge requires every input to be an object. Mixed-type queues are rejected with a clear message instead of producing a silently wrong result.

What happens to duplicate keys in deep merge?

The later file wins: when both files define the same nested key, the output carries the value from the last file added. There is no silent array concatenation inside objects — an array value replaces the earlier one whole, because half-merged arrays are how config bugs hide.

Is the output ordering stable?

Yes for arrays — concat preserves input order exactly, file by file. For deep-merged objects, key order follows first appearance: keys from the first file keep their positions, new keys from later files append. Order is cosmetic in JSON, but stable output makes diffs reviewable.

Related tools

Joke of the Day
Oct 14

What do you call a nosy pepper?

Free core, no account

Keep the Free Edition Free

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 tier

100% of proceeds go towards hosting & building more free tools.