How to fix duplicate handles in a Shopify product CSV

In a Shopify product CSV, the Handle column is the product's identity. Multiple rows sharing one handle are supposed to exist — they're the product's variants and images. The problems start when handle rows are duplicated or split apart.

Rows with the same handle must be consecutive

Shopify reads a product CSV top to bottom. When it sees a new handle, it starts a new product; when it sees the same handle again after other products, it doesn't merge them — you get overwritten fields, lost variants, or doubled products. This usually happens after sorting the sheet by title, price, or vendor in Excel. The fix: re-sort so every row of each handle sits together, with the title-bearing row first.

Exact duplicate rows

Copy-paste accidents and repeated exports produce identical rows. On import these become duplicate variants or duplicate images. Delete all but the first occurrence.

Duplicate SKUs across products

Shopify itself tolerates duplicate SKUs, but inventory syncing apps, marketplaces, and 3PLs generally don't. If two different products share a SKU, expect stock levels to cross-contaminate.

Fix it automatically: the free Product CSV De-duplicator finds duplicate rows, duplicate SKUs, and split handle blocks, then downloads a cleaned file — entirely in your browser, no upload.