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.
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.
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.
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.
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.
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.
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.
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 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.
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.
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.