Shopify inventory import preview
Compare an inventory export with your proposed import before changing stock. Your files stay in this browser.
Runs entirely in your browser
Offline review only. Nothing is imported. A matching snapshot guard is not proof that live stock still matches.
Snapshot comparison
All numeric targets are quantity writes, even if equal to the snapshot. Blank targets request no quantity change. Deltas compare the proposed target with the original snapshot, not live stock.
Current-value guard report: “Matches snapshot” only means the proposed guard matches the original file. Every other numeric write needs guard review.
Reports are not Shopify import files. The JSON retains every original row and cell. Review CSV cells that could be spreadsheet formulas are prefixed with an apostrophe.
All states CSV only, UTF-8, up to 5 MB and 10,000 data rows per file. Available and older formats are diagnosed, not converted. Bin-level quantities are not interpreted. This is a snapshot comparison, not live stock or an import guarantee.
How to preview an inventory import
- Export Shopify inventory using All states. Keep the original as Before, then make your proposed changes in a separate CSV.
- Open the original and proposed CSV files below, or paste their contents. Select Compare snapshots.
- Review each changed cell and current-value guard warning. Download the review report if useful. Do not import a report file into Shopify.
What the comparison knows
The original export is the only baseline. The preview preserves exact identifiers, quoted text and blank cells. It compares all supported fields, including read-only inventory-state snapshots and non-quantity fields. A cell difference is not necessarily a change Shopify will apply. Duplicate identities remain unpaired; every original row remains in the full report.
“Not stocked” is a distinct baseline state, not zero. A new location or variant may be missing because the export was partial. Bin-level inventory is retained for review but is not interpreted. Packed dimensions and customs metadata are shown as cell changes, not validated as an import.
Shopify format references
Format documentation checked on : Shopify: exporting and importing inventory with a CSV file. The current documentation uses On hand (current) and On hand (new). Both Option1 Value and Option 1 Value labels are recognized, without trimming values.
The sample template linked by Shopify, also checked on 2026-10-22, still has an older On hand header. Export a current All states file rather than converting that template here. Check the current Shopify documentation and native import review before applying any CSV.
Questions
Do you upload or save my inventory?
No. File reading, comparison and report downloads happen in this browser. There is no Shopify connection, upload, account or browser storage for your inventory. Clear removes the page's working copies; close any report files separately.
What does a matching guard mean?
The proposed On hand (current) value matches the supplied baseline snapshot. It is not a check of live stock. Shopify compares the guard with inventory at import time and may reject affected rows if inventory has changed.
Why are missing guards risky?
A numeric On hand (new) requests a quantity write, including an unchanged number or 0. Shopify documents that clearing On hand (current) removes changed-since-export protection. Missing, blank, invalid, mismatched and unverifiable guards are reported separately.
Is an empty quantity the same as zero?
No. An empty On hand (new) requests no quantity change. A value of 0 requests setting the quantity to zero. Blank current values, absent cells and Not stocked are kept distinct from zero.
Can I use an Available export?
No. Available-format files use location names as columns and do not offer overwrite protection. This preview supports the current All states headers On hand (current) and On hand (new). Older On hand or Onhand headers are rejected.
How are rows matched?
By exact Handle, all variant option values and exact case-sensitive Location. SKU is not the identity. Unknown SKUs and locations mean absent from your supplied baseline, not necessarily unknown to Shopify. Duplicates are retained without guessing row pairs.
Does this check every Shopify import rule?
No. It shows every supported CSV cell difference, not a simulation of every Shopify import rule. Read-only state edits are identified. Bins, packed dimensions, customs metadata, inventory tracking and live availability still need separate review in Shopify. Missing rows do not imply deletion or zero stock.