Article···6 min read

How to Find and Fix Duplicate SKUs in Shopify

Shopify accepts the same SKU on many variants. Here is how to find duplicates with a CSV export, fix them without breaking inventory, and avoid new ones.

How to Find and Fix Duplicate SKUs in Shopify

Shopify doesn't prevent duplicate SKUs. You can assign the same SKU as often as you like and no warning appears. The fastest way to find duplicates is the product CSV export: sort the Variant SKU column, flag repeats, then give each duplicate a unique SKU in admin and fill in empty ones. For a shop with a few hundred variants this takes about half an hour.

Below you'll learn why duplicate SKUs cause trouble, how to find them step by step and which naming scheme keeps it from happening again.

Why duplicate SKUs are a problem

The SKU (stock keeping unit) is your internal item number. It belongs to the variant, not the product. A T-shirt in three sizes and two colours has six SKUs.

As long as only you look at your store, a duplicate SKU barely shows. Once other systems read your data, it gets risky:

  • Inventory and shipping: inventory systems, fulfillment providers and many shipping apps match items by SKU. Two variants with the same SKU can lead to wrong stock levels or wrongly packed parcels.
  • Marketplaces and feeds: some apps that push products to marketplaces or price comparison sites use the SKU as identifier. Duplicates cause errors or overwritten listings.
  • Accounting and reports: sales reports by SKU become useless when two items share a number.
  • Machine readability: systems that evaluate your catalog automatically, including AI assistants, need unique identifiers to tell variants apart. Unique SKUs and valid GTINs help.

How duplicates happen

  • Duplicating a product: copying an existing product as a template can carry over its SKUs. If nobody updates them, you have duplicates.
  • CSV imports: supplier lists sometimes put the manufacturer number into the SKU field, identical across sizes.
  • Variants added later: new colour added, SKU copied from the neighbouring variant.
  • Several people maintain the shop without a shared scheme.

Finding duplicate SKUs step by step

Option 1: CSV export and spreadsheet

  1. In Shopify admin, go to Products and click Export.
  2. Choose all products and the CSV format for spreadsheets. Shopify emails you the file or offers it as a direct download.
  3. Open it in Excel, Numbers, LibreOffice or Google Sheets.
  4. Find the Variant SKU column. Each row is one variant.
  5. Add a helper column that counts how often each SKU appears: =COUNTIF(D:D,D2), where D is the SKU column.
  6. Filter for values greater than 1. Those are your duplicates.
  7. Also filter for empty SKUs. They're not duplicates, but they're a gap too.

Note: rows without a Variant SKU can also be image-only rows belonging to a product. Check the Handle column and whether the row has variant values.

Option 2: search in admin

If you suspect a specific SKU, type it into the product list search. Shopify searches SKUs too. For a full overview of the catalog, the export is more reliable.

Option 3: an app

Catalog-checking apps show missing and duplicate SKUs directly. More on that below.

Cleaning up duplicates

Before changing SKUs, find out where they're used. If your inventory system, fulfillment partner or a marketplace app works with SKUs, update them there too. Otherwise you solve one problem and create another.

  1. Decide which variant keeps the SKU. Usually the older one, or the one already known in external systems.
  2. Give the others a new, unique SKU following your scheme (see below).
  3. Change the SKU in admin: open the product, click the variant, edit the SKU field in the inventory section, save. For many variants, use Shopify's bulk editor and show the SKU column.
  4. Update external systems.
  5. Export again and confirm every count is 1.

Only re-import via CSV if you're comfortable with it. Shopify matches rows by handle and option values, and a mistake in the file can overwrite variants.

A SKU scheme that works

A good scheme is short, readable and unique per variant. A simple pattern:

CATEGORY-PRODUCT-COLOUR-SIZE

ProductVariantSKU
Kids' organic T-shirtBlue, 104TS-KIDS01-BLU-104
Kids' organic T-shirtBlue, 116TS-KIDS01-BLU-116
Scented candle cedar200 gKZ-ZEDER-200
Espresso Brazil1 kg, whole beanKF-ESPBR-1000-BO
  • Only capitals, digits and hyphens. No umlauts, no spaces.
  • No leading zeros a spreadsheet might strip.
  • Don't use the GTIN as SKU. The GTIN (EAN) is a separate, globally unique number and belongs in the barcode field.
  • Never reuse a retired SKU, not even for a successor product.
  • Write the scheme down so everyone on the team follows it.

Detecting missing and duplicate SKUs automatically

If you don't want to export every week, an app can do it. Heartly checks during its catalog scan which variants have no SKU or a duplicate one and reflects that in the visibility score per product. The "Fix now" assistant (beta, paid plan) suggests missing SKUs. You see every suggestion before it's saved, a conflict check prevents reusing an existing SKU, and every change can be undone for 30 days.

Checklist

  • Products exported as CSV.
  • Variant SKU column checked for duplicates (count greater than 1).
  • Empty SKUs found and noted.
  • Confirmed which external systems use SKUs.
  • Decided for each duplicate which variant keeps the SKU.
  • New SKUs assigned following one scheme.
  • Changes applied in inventory, shipping and feeds.
  • Exported again and verified after cleanup.

FAQ

Is a SKU required in Shopify?

No, the field is optional. Once you track inventory, work with fulfillment partners or sync products to other channels, every variant should have a unique SKU.

Does Google Shopping need a SKU?

Google Shopping doesn't require a SKU as a separate field, but every product needs a unique ID. Shopify's Google & YouTube app builds that ID from product and variant IDs, not the SKU. GTIN, brand and a fitting category matter more to Google. Other feed apps may use the SKU as ID, in which case SKUs must be unique.

What's the difference between SKU and GTIN?

You assign the SKU yourself; it's only valid in your shop. The GTIN (usually EAN in Europe) is a globally unique number assigned by the manufacturer through GS1. In Shopify it goes in the barcode field.

Can I change SKUs without losing orders?

Yes. Existing orders keep the SKU valid at the time of purchase. The change only affects new orders. Update external systems at the same time.

Check your shop now

The free visibility check shows you, without installing anything, where your catalog is missing identifiers and other data. To close the gaps directly in your store: Heartly in the Shopify App Store, 14-day free trial, then $19 per month.

Enjoyed this article? Share it.

Next step

Plan your next flash sale.

Choose products, set a deadline, and share a dedicated sale page. Checkout stays in your store.

Install on Shopify→