MageSmith

Magento 2 Config Diff

Compare two core_config_data exports (SQL INSERT or CSV) and see exactly what changed.

Magento 2 Config Diff screenshot

What Magento 2 Config Diff does

  • Accepts core_config_data dumps in two formats: SQL INSERT statements (as mysqldump produces) and CSV with a scope,scope_id,path,value header
  • Plain or gzipped uploads — paste mysqldump output directly or drop a .sql.gz file from a backup
  • Color-coded rows — added (green), removed (red), value changed (amber) — grouped by config path for easy scanning
  • Scope-aware diff — default vs. websites vs. stores rows are kept distinct so a per-store override doesn't masquerade as a default change
  • Export the diff as CSV for Slack/ticket attachments or a follow-up review with the team
  • Saved diffs stored per-account — come back later and compare a third snapshot against the same baseline

How it works

1

Export the 'before' snapshot

Run `mysqldump … core_config_data` (or `SELECT … INTO OUTFILE` as CSV) against the source environment. Both formats are accepted — gzipped fine.

2

Paste or upload both sides

Left pane = before, right pane = after. Format auto-detects from the first non-blank line; CSV needs a `scope,scope_id,path,value` header row.

3

Review and export the diff

Rows are grouped by config path with scope/store context preserved. Download as CSV or save the diff to your account for later runs.

Frequently asked about Magento 2 Config Diff

What input formats are supported? +

Two: SQL `INSERT INTO core_config_data …` statements (the shape `mysqldump` produces) and CSV with a `scope,scope_id,path,value` header. Both can be plain or gzipped.

Why core_config_data and not config.php / env.php? +

Config drift between environments lives in core_config_data — that's where the admin panel writes scope/store overrides. config.php / env.php are infrastructure-level (DB creds, cache backends) and rarely the source of dev/stage/prod divergence.

Does it handle encrypted values? +

Encrypted values appear as opaque ciphertext — the diff flags that they changed, but plaintext is never exposed. Safe to paste a production export.

Is my config stored anywhere? +

Only when you explicitly save a diff to your account. Ad-hoc comparisons are held in memory during the request and discarded after the response is sent.

Does it understand scope-specific config? +

Yes — `default` / `websites` / `stores` rows are diffed at their own scope. A per-store override that matches the default is still flagged so you can see the redundant row.

Can I compare more than two snapshots at once? +

Three-way merge is on the roadmap. Today it's strictly pairwise — but you can save snapshots and re-compare any pair on demand.

Related tools

Every Magento dev tool, in one hosted workspace.

Free to sign up. Nothing to install. Drafts, audits, and projects saved across every tool.