See what a Shopify import will change — before you run it

Shopify warns that blank cells in your import file overwrite existing data on non-required fields. Drop your current export and your updated export below — we compare them locally and show exactly what will change. Nothing is uploaded.

✓ No signup ✓ 100% in your browser ✓ Free summary

1 · Current products CSV

Your existing store export

Choose file…

2 · Updated CSV

The file you're about to import

Choose file…

Why this matters

FAQ

Which files does this accept?

Shopify product CSV exports (they have a Handle column). Both files must be in the same format. Export your current products from Shopify admin → Products → Export.

Is my product data uploaded?

No. Both CSVs are parsed by JavaScript in your browser. Open the Network panel and watch — uploading files produces no requests.

Does it change my store?

No. It's a read-only comparison. You still decide whether to run the import in Shopify.

How to use — step by step

Use this before you run an import that overwrites existing products. Two files in, one clear picture out: exactly what will change.

  1. In Shopify admin, export your products (Products → Export, CSV). That's the "current" file — the state of your store right now.
  2. You'll also need the updated CSV you were about to import — from a spreadsheet, an app export, or a supplier feed.
  3. Drop both files here, current first, updated second. Each must be a Shopify-format product CSV with a Handle column.
  4. Press Compare. The six counters summarize added and removed products, price and inventory changes, variant structure changes, and — most important — cells that will be blanked.
  5. Read the "Fields that will be blanked" list carefully. Blank cells in an overwrite import erase existing data: a Body column that lost its text wipes twenty product descriptions at once.
  6. Scroll the detail table for the itemized changes, filter by type with the chips, and compare against what you intended.

How it works

Each row is keyed by its Handle plus its option values (like Size: S / M / L), which is how Shopify itself distinguishes variants. For every matching pair of rows the tool compares Variant Price, Variant Compare-At Price and Variant Inventory Qty numerically, and reports exact before → after values. Variant structure is compared as a set of option combinations, so a change like S,M → L,M is caught even though the row count stays the same — the case a naive row-count diff misses.

The blanked-field check implements the warning in Shopify's own documentation: on an overwrite import, a blank cell in a non-required column replaces the stored value with empty. The tool walks every column, and for each one where the old file has content but the new file is empty, it lists the affected products under that field name — turning a silent data-loss bug into a visible checklist item.

All comparison runs in your browser; the CSVs never leave your machine. The free view shows the headline counters and the first fifteen detail rows.

Cadence recommendation: run this check before every import, and export a fresh 'current' file immediately before comparing — a month-old export won't reflect sales-driven inventory changes and will show phantom inventory deltas. The comparison is only as truthful as the current file's freshness.

Frequently asked questions

Does this tool touch my store?

No. It is a read-only comparison of two files. Nothing connects to Shopify, and you still decide whether to run the import.

Why does a price that looks the same count as changed?

Values are compared as numbers, not strings — $58.00, 58 and 58.0 are equal. Formatting differences don't create noise; real differences do.

Can I compare files with different columns?

Both files should come from the same export format. Columns missing from the updated file are treated as blank — which the tool will surface under 'will be blanked', because that's exactly what an import would do.

What about images and SEO fields?

The blanked-field check covers every column in the file, including image URLs and SEO titles. The free detail table prioritizes price, inventory and structure changes.

I'm only changing prices. Can I trim the file to fewer columns?

Yes, but keep Handle + variant columns + the columns you're changing, and know that trimmed columns become blank-field events for everything you removed — the checker will show exactly which existing fields an import of that trimmed file would wipe.

Does it catch SEO title/description changes?

The blanked-field check covers every column including SEO fields; the numeric detail table focuses on price, compare-at and inventory. Field-level text changes beyond blanking are on the roadmap.

Related tools