🔗
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
▾
A calculadoraPage 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 →
Como funcionaPage 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 e detalhesPage 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.

Sobre esta ferramenta

O que é esta ferramenta?

Combine vários arquivos JSON gratuitamente online com duas estratégias honestas: concat para arrays (combinação rápida de conjuntos de dados) e deep merge para objetos (recursivo, arrays aninhados se somam, escalares posteriores sobrescrevem). Visualize o resultado antes de baixar. 100% baseado em navegador.

Concat & deep mergeNested arrays addMulti-file queue100% local

Duas Estratégias de Mesclagem Honestas

A maioria das ferramentas de mesclagem escolhe um comportamento e oculta os casos limite. Esta ferramenta oferece duas estratégias nomeadas com regras declaradas: concat adiciona arrays para combinação de conjuntos de dados, e deep mescla recursivamente objetos onde arrays aninhados se somam e escalares posteriores sobrescrevem os anteriores. Você escolhe a semântica em vez de descobri-la a partir de um resultado incorreto.

Ordem Importa no Deep Merge

O deep merge resolve conflitos de escalares em favor do arquivo posterior na fila, então coloque sua fonte autoritativa por último. Arrays em qualquer profundidade concatenam em vez de substituir - mesclar dois arquivos que definem ambos um array de tags resulta em ambos os conjuntos de tags. A visualização ao vivo mostra a árvore mesclada exata antes de você baixar.

Concat vs Deep Merge — Escolhendo uma Estratégia

As duas estratégias existem porque os arquivos JSON vêm em dois formatos com respostas corretas diferentes. Concat é para arrays: dois arquivos de registros de usuário se tornam um array mais longo, ordem preservada, duplicatas deixadas visíveis em vez de serem descartadas silenciosamente — a deduplicação é uma decisão de negócio que a ferramenta se recusa a tomar por você. Deep merge é para objetos: dois arquivos de configuração se tornam um objeto onde chaves aninhadas mesclam recursivamente, e a regra de conflito é simples e visível — o arquivo posterior vence. O modo de falha honesto é tão importante: concat em dois objetos seria nonsense, e deep-merging dois arrays interlevaria registros não relacionados, então a ferramenta detecta a incompatibilidade e falha alto em vez de produzir lixo plausivelmente correto. Precisa de deduplicação no nível do elemento após um concat? Execute a saída através de um script onde a chave de deduplicação é uma escolha explícita. Precisa que chaves do primeiro arquivo sobrevivam independentemente do segundo? Faça deep merge na ordem reversa.

Perguntas frequentes

Quando devo usar concat vs deep merge?

Concat é para arrays: ele adiciona todos os itens de entrada em um único array, que é a abordagem correta para combinar conjuntos de dados como exportações ou lotes de logs. Deep merge é para objetos: ele combina recursivamente chaves, arrays aninhados se somam, e quando ambas as entradas definem a mesma chave com um escalar, o arquivo posterior vence - uma regra que é declarada upfront, não oculta.

O que acontece com chaves conflitantes no deep merge?

Objetos aninhados mesclam recursivamente em todas as profundidades. Se ambos os arquivos definirem a mesma chave escalar, o valor do arquivo posterior na fila sobrescreve o anterior, então a ordenação da fila importa. Se ambos os valores forem arrays, eles serão concatenados em vez de substituídos.

Posso mesclar arquivos com tipos de raiz diferentes?

Concat requer que cada entrada seja um array e informa se não for. Deep merge requer que cada entrada seja um objeto. Filas de tipos mistos são rejeitadas com uma mensagem clara em vez de produzir um resultado silenciosamente incorreto.

O que acontece com chaves duplicadas no deep merge?

O arquivo posterior vence: quando ambos os arquivos definem a mesma chave aninhada, a saída carrega o valor do último arquivo adicionado. Não há concatenação silenciosa de arrays dentro de objetos — um valor de array substitui o anterior inteiro, porque arrays meio mesclados são como bugs de configuração se escondem.

A ordenação da saída estável?

Sim para arrays — concat preserva exatamente a ordem de entrada, arquivo por arquivo. Para objetos deep-merged, a ordem das chaves segue a primeira aparição: chaves do primeiro arquivo mantêm suas posições, novas chaves de arquivos posteriores são adicionadas. Ordem é cosmética em JSON, mas saída estável torna diffs revisáveis.

Ferramentas relacionadas

Compartilhar:𝕏inf⬆
Joke of the Day
Oct 22

What do you call a really smart cookie?

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.