Craftshift logo

How to Bulk Delete Shopify Variants (Without Breaking Your Store)

how to bulk delete shopify variants

Deleting variants one at a time is no big deal if you have three products with three variants each to delete, but if you have 400 products with 400 variants each to delete, you’re going to want a bulk approach. Shopify provides 2 usable methods to delete products and variants in a bulk manner, as well as a 3rd method if you are willing to spend some money on apps. In this guide I’ll walk you through all 4 methods, point out their gotchas, and explain why deleting a variant can silently cause your product image to never display.

Variants cannot be deleted – it’s an irreversible operation with no ‘undo’ or variants in ‘trash’ – be careful and back up first.

On this page

Method 1: Native bulk editor

It’s possible in theory to delete variants via the bulk editor in the product admin of Shopify, but it can be extremely cumbersome to delete more than a handful of variants this way.

  1. Open a product. Scroll to the Variants section.
  2. Select the variants you want gone via the checkbox.
  3. Click the “…” or More actions menu. Pick Delete variants.
  4. Confirm. Move on to the next product.

Limit: this would be much easier if there were a “delete variant X across all products in collection Y” button. There isn’t.

Method 2: CSV re-import

Free! Every Shopify merchant misses this one. The trick to having Shopify’s CSV import software correctly treat missing variant rows as deletions (instead of insertions).

  1. Export all products as CSV.
  2. Open in a spreadsheet. Delete the rows corresponding to the variants you want removed. Keep at least one variant row per product (Shopify requires one).
  3. Save as UTF-8 CSV.
  4. Go to Products, Import. Tick “Overwrite existing products that have the same handle”. This is the important part.
  5. Upload. Preview. Confirm.

Note: this overwrite mode affects EVERY FIELD, not just variants 6. This overwrite mode affects EVERY FIELD, not just variants. If someone edited a product description yesterday and your export is from last week, you just overwrote their edit. Export fresh, import immediately.

Method 3: Matrixify

Matrixify also deals well with deleting records. You could make a sheet with the IDs or SKUs to delete, have a Command column set to DELETE and import it. It only ever touches the rows you ask it to, and doesn’t do an overwrite like it does for INSERT commands.

This is the right answer for anything over a few hundred variants. If you have more than a few hundred variants you should use this. Also for deleting based off filters, like all variants with zero inventory or all variants tagged “discontinued”, etc.

Method 4: Bulk delete apps

AppWhat it doesPick if
Hextom Bulk Product EditFilter by rules, delete in bulkYou want a UI, not a CSV
CS Bulk Delete ProductsDelete by collection, vendor, tag, date, inventory, with previewYou also need to clean up old products
MatrixifyCSV command-drivenYou want reproducible scripts

CS Bulk Delete Products: Full product delete with preview. Not guaranteed, but safe. Variants only? Look at Hextom’s ‘Bulk Product Edit’ or ‘Matrixify by Hextom’ instead. These are safer and better for that type of work that you probably should be doing in a different extension anyway.

Gotchas that silently break your store

Shopify’s hard limits to remember: 2048 variants per product (via combined listings) and 3 option types max per product. If you are bulk-deleting to get under these limits, you probably need Combined Listings instead of fewer variants.

Rubik Combined Listings bulk grouping for large catalogs

Learn which helpful tools you can use before you even start deleting records with this step. Use the Variant Calculator to estimate how many variants will be created by a particular combination of options, and the Variant Limit Checker to see which products are at risk of exceeding limit caps before you import them. Both of these tools are free and can be downloaded through Craftshift, in addition to the resources listed below for general catalog cleaning. For information on how to bulk delete individual products fast, click here. To learn how to hide variant images on a product page after you delete records of a product, click here.

Demo, tutorials, docs

Live demo at http://rubikdemo.com. Video tutorials on removing variants can be found at http://rubikvariant.com and http://rubikswatch.com. Both Rubik apps come with free plans.

https://www.youtube.com/watch?v=j4lIS42Ao-s

“This app makes it super easy to manage images for products that have multiple variations (size and flavor in my case). The support is great as well!”

Shopify merchant, Rubik Variant Images reviews

FAQ

Can I undo a bulk variant delete in Shopify?

No. There is no undo. You must restore from a backup.

Can I delete the last variant of a product?

No. Every product needs at least one variant. Delete the product instead.

Does deleting a variant delete its images?

No. Images stay in the product gallery. You have to remove them separately.

What is the fastest way to delete thousands of variants?

Matrixify with a DELETE command CSV. Scales to hundreds of thousands of rows.

Does deleting variants affect orders?

No. These Historical orders preserve information of purchased variants even after they are deleted.

How many variants can a Shopify product have?

Up to 2048 variants per product via combined listings, with max 3 option types.

Will deleting variants break my variant image app?

Metafield-based apps will automatically clean up. Older apps might leave behind unused assignments. Manually verify a small sample of records after performing a bulk delete.

Our Shopify Apps

Smart Bulk Image Upload

Bulk upload product images from Google Drive & save time!

Rubik Variant Image & Swatch

Show only relevant variant images on your product pages.

Rubik Combined Listings Swatch app

Rubik Combined Listings

Link separate products as variants with beautiful swatches

CS – Export Product Images

Bulk export product images by vendor, collection or status

Blog Posts