Export-to-export diff

Compare Two Shopify Product CSV Exports

Something changed in the catalog — a price, a status, a missing variant — and nobody knows when. Upload this week's export and last week's export, and get a variant-level diff of everything that differs between the two files.

Local browser scanSafe fixes onlyShopify-focused checks

Browser-side scan

Drop the current product export CSV

-
Add the earlier export CSVUpload the older product export; the file above is treated as the current version and compared against it.
Required for the diff — without it the scan only reports the current file.

No CSV selected

No CSV selectedUpload the current product export, then add the earlier export as the reference CSV to see added, removed, and changed variants. Both files stay in this browser.
Private by default. Your Shopify product export CSV data stays in this browser session. The export applies only safe deterministic changes and leaves manual-review items in the findings list.

Use this catalog diff checker after bulk edits, app installs, or supplier imports, when you need to know what actually changed between two Shopify product exports. Upload the current export first, then add the earlier export as the reference file; variants are matched by handle plus SKU (falling back to option values), and every column present in both files is compared cell by cell. The result lists added variants, removed variants, and changed cells with their previous and current values, and the export is a review worksheet with one row per change. Both files are read locally in your browser — the tool reports differences and does not write anything back to Shopify.

Import blockers

Common causes this scan checks

  • A bulk edit or import changed more rows than intended and there is no changelog in Shopify admin.
  • An app rewrote titles, tags, or prices in the background and the change was noticed days later.
  • Two people edited the catalog in parallel and their spreadsheet versions drifted apart.
  • A supplier sent an updated file and you need to see what is new before importing it.

Workflow

How to use the cleaned CSV

  1. Export the current products from Shopify and upload that CSV as the main file.
  2. Add the earlier export — from a backup, an old download, or before the bulk edit — as the reference CSV.
  3. Review changed variants first, then removed variants, since both can mean silent data loss.
  4. Export the diff worksheet and use it to restore wrong values or document the changes.

Auto-fix policy

What the export can safely change

  • Matches variants across files by handle and SKU, with option values as the fallback identity.
  • Compares every column that exists in both files and reports columns present in only one file.
  • Lists each changed cell with its previous value, current value, and source row.
  • Flags repeated handle and SKU combinations that make rows impossible to match reliably.

CSV example

CSV example: two product exports compared

Compared against last week's reference export, the diff shows the mug price dropped from 12.99 to 9.99 and the cap is a brand-new variant — each change on its own worksheet row with the previous and current value.

Before
Handle,Title,Variant SKU,Variant Price
blue-mug,Blue Mug,MUG-1,9.99
new-cap,New Cap,HAT-2,14.99
After
Change type,Handle,Variant SKU,Title,Column,Previous value,Current value,Review note,Source row
Changed,blue-mug,MUG-1,Blue Mug,Variant Price,12.99,9.99,Confirm the change is intentional before importing,2
Added,new-cap,HAT-2,New Cap,,,,New variant not present in the reference export,3

FAQ

Shopify CSV questions

Which file goes in which slot?

Upload the newer export as the main file and the older export as the reference. Added and removed are reported from the newer file's point of view.

Do both exports need identical columns?

No. Only columns present in both files are compared cell by cell, and the report tells you which columns exist in just one of the files.

Can it diff exports from two different stores?

Technically yes, as long as both carry Handle columns — but handles and SKUs must mean the same thing in both stores for the matching to be meaningful.

Are the two CSV files uploaded anywhere?

No. Both files are read locally in your browser and the comparison runs entirely on your device.

Related tools

Feedback

How is this tool working for you?

Found a bug, a false alarm, or a missing check? Tell me — a human reads every note.