PHPackages                             pimcore/object-merger - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. pimcore/object-merger

ActivePimcore-bundle[Utility &amp; Helpers](/categories/utility)

pimcore/object-merger
=====================

v2026.1.0(2mo ago)13572.1k↓48.9%13[5 issues](https://github.com/pimcore/object-merger/issues)1proprietaryTypeScriptPHP ~8.4.0 || ~8.5.0CI passing

Since Oct 3Pushed 3w ago11 watchersCompare

[ Source](https://github.com/pimcore/object-merger)[ Packagist](https://packagist.org/packages/pimcore/object-merger)[ RSS](/packages/pimcore-object-merger/feed)WikiDiscussions 2026.x Synced 1w ago

READMEChangelog (10)Dependencies (6)Versions (80)Used By (1)

ObjectMerger
============

[](#objectmerger)

The object merger plugin allows to show the difference between two objects and merge them field by field. For the keyvalue datatype the field is even broken down into key/value pairs.

Open the object selection menu via the Extras | Compare Objects menu item.

[![Screenshot](doc/menu.png)](doc/menu.png)

You can either paste the full path of the two objects or use the magnifier class to open the search dialog.

[![Screenshot](doc/choose.png)](doc/choose.png)

Ideally, the two objects should be of the same type.

[![Screenshot](doc/select.png)](doc/select.png)

Click on the Compare button to show the difference between the two objects. You will see a tab for every language. If the objects don't contain any localized fields the tab label will be "Default". The number inside the parenthesis indicate the current number of differences.

The first row shows the full path of both objects. Below that all object fields are listed.

There are 6 columns:

- The exclamation mark indicates that the field content differs
- The second column is the field label
- The (grayed out) button indicates the field type
- The fourth column summarizes the content of the source object. Changes are always applied from the left object to the right object.
- The button in the middle allows to overwrite the data of the target object with the one from the source object. The button turns into a "revert" button which will undo the change.
- The sixth column summarizes the new content of the target object.

[![Screenshot](doc/diff1.png)](doc/diff1.png)

Click on save to apply the changes.

### Customizations

[](#customizations)

The development of the plugin has been discontinued. It has been customized for Kautbullinger where the further development effort was put into. A special requirement for Kautbullinger is that it should be able to show the difference between objects which exist in RAM only, i.e. they haven't been saved before.

In addition it offers two additional features:

- Apply everything at once
- Show/Hide fields that are equal (defaults to hide)

###  Health Score

68

—

FairBetter than 99% of packages

Maintenance84

Actively maintained with recent releases

Popularity46

Moderate usage in the ecosystem

Community32

Small or concentrated contributor base

Maturity96

Battle-tested with a long release history

 Bus Factor4

4 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~55 days

Recently: every ~11 days

Total

58

Last Release

22d ago

Major Versions

v1.6.1 → v2.0.02019-06-13

v2.4.5 → v3.0.02021-02-03

v3.0.11 → v4.0.0-BETA12023-03-27

4.0.x-dev → v5.0.0-RC12025-04-09

v5.2.0 → 2026.1.x-dev2026-04-08

PHP version history (2 changes)v5.0.0-RC1PHP ~8.3.0 || ~8.4.0

v2026.1.0PHP ~8.4.0 || ~8.5.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/142037?v=4)[Bernhard Rusch](/maintainers/brusch)[@brusch](https://github.com/brusch)

![](https://www.gravatar.com/avatar/fb2f85a3d50811c4d9e10844b4677b8c407adde4173226450dd0bf386914a125?d=identicon)[fashxp](/maintainers/fashxp)

![](https://www.gravatar.com/avatar/5e432b6f13b1d52dbfb51b080b09cba2a17e15c35f446b344f8a4e7d4dc3515e?d=identicon)[weisswurstkanone](/maintainers/weisswurstkanone)

---

Top Contributors

[![brusch](https://avatars.githubusercontent.com/u/142037?v=4)](https://github.com/brusch "brusch (24 commits)")[![fashxp](https://avatars.githubusercontent.com/u/8792145?v=4)](https://github.com/fashxp "fashxp (22 commits)")[![weisswurstkanone](https://avatars.githubusercontent.com/u/6142086?v=4)](https://github.com/weisswurstkanone "weisswurstkanone (16 commits)")[![berfinyuksel](https://avatars.githubusercontent.com/u/99557970?v=4)](https://github.com/berfinyuksel "berfinyuksel (15 commits)")[![dvesh3](https://avatars.githubusercontent.com/u/5137917?v=4)](https://github.com/dvesh3 "dvesh3 (10 commits)")[![ValeriaMaltseva](https://avatars.githubusercontent.com/u/11871778?v=4)](https://github.com/ValeriaMaltseva "ValeriaMaltseva (9 commits)")[![kingjia90](https://avatars.githubusercontent.com/u/6014195?v=4)](https://github.com/kingjia90 "kingjia90 (7 commits)")[![martineiber](https://avatars.githubusercontent.com/u/11687066?v=4)](https://github.com/martineiber "martineiber (6 commits)")[![Corepex](https://avatars.githubusercontent.com/u/16717695?v=4)](https://github.com/Corepex "Corepex (5 commits)")[![alexz707](https://avatars.githubusercontent.com/u/562324?v=4)](https://github.com/alexz707 "alexz707 (5 commits)")[![bluvulture](https://avatars.githubusercontent.com/u/7668379?v=4)](https://github.com/bluvulture "bluvulture (4 commits)")[![xIrusux](https://avatars.githubusercontent.com/u/42359615?v=4)](https://github.com/xIrusux "xIrusux (4 commits)")[![blankse](https://avatars.githubusercontent.com/u/998558?v=4)](https://github.com/blankse "blankse (3 commits)")[![herbertroth](https://avatars.githubusercontent.com/u/126679157?v=4)](https://github.com/herbertroth "herbertroth (2 commits)")[![aryaantony92](https://avatars.githubusercontent.com/u/97134765?v=4)](https://github.com/aryaantony92 "aryaantony92 (2 commits)")[![maff](https://avatars.githubusercontent.com/u/27403?v=4)](https://github.com/maff "maff (2 commits)")[![vmalyk](https://avatars.githubusercontent.com/u/5318027?v=4)](https://github.com/vmalyk "vmalyk (2 commits)")[![robertSt7](https://avatars.githubusercontent.com/u/104770750?v=4)](https://github.com/robertSt7 "robertSt7 (2 commits)")[![jcPimcore](https://avatars.githubusercontent.com/u/259032526?v=4)](https://github.com/jcPimcore "jcPimcore (2 commits)")[![Navino16](https://avatars.githubusercontent.com/u/22234867?v=4)](https://github.com/Navino16 "Navino16 (2 commits)")

###  Code Quality

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/pimcore-object-merger/health.svg)

```
[![Health](https://phpackages.com/badges/pimcore-object-merger/health.svg)](https://phpackages.com/packages/pimcore-object-merger)
```

###  Alternatives

[pimcore/data-importer

Adds a comprehensive import functionality to Pimcore Datahub

45823.2k3](/packages/pimcore-data-importer)[pimcore/skeleton

123198.5k](/packages/pimcore-skeleton)[pimcore/studio-ui-bundle

Pimcore Studio Ui Bundle

2894.0k11](/packages/pimcore-studio-ui-bundle)[pimcore/frontend-permission-toolkit-bundle

Provides a way to configure permissions for frontend applications in data objects.

20203.1k1](/packages/pimcore-frontend-permission-toolkit-bundle)[pimcore/number-sequence-generator

Pimcore Number Sequence Generator

11604.2k1](/packages/pimcore-number-sequence-generator)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
