To bulk delete WooCommerce product variations without touching the parent products, use the WP Sheet Editor – WooCommerce Products plugin. Load your catalog into the spreadsheet, filter or select the variations you want to target, and run the Bulk Edit tool with the “Edit only variations” option checked.
Table of Contents
If you’d rather disable variations, you can untick the Variation enabled checkbox in the spreadsheet or in bulk. Here’s a tutorial.
Product variations aren’t simple database entries. WooCommerce stores each one as its own child post attached to a parent product, which is why deleting one isn’t as easy as deleting a normal post. The native WooCommerce interface forces you to open the parent product, go to its Variations tab, and remove each variation one at a time, then save and repeat for the next product.
On a catalog with hundreds of variable products, that adds up to hours of repetitive clicking. If you need to remove hundreds of discontinued variations, clean up a faulty CSV import, clear out-of-stock items store-wide, rebuild a product’s options from scratch, or convert a variable product into a simple one, doing it manually could take days.
The WP Sheet Editor – WooCommerce Products plugin solves this by loading your entire catalog (products and variations) into a spreadsheet inside wp-admin. Its Bulk Edit and Search tools let you find and remove variations across your whole store, or any filtered slice of it, without opening a single product.
You can download the plugin here:
Download WooCommerce Products Spreadsheet Plugin - or - Check the features
Step 1: Open the WooCommerce Products Spreadsheet
Once the plugin is installed and active, go to WP Sheet Editor > Edit Products. Instead of WooCommerce’s standard paginated product list, every product in your store loads as a row, with all of its data laid out in editable columns.
Step 2: Display the Variation Rows
Click Display variations on the toolbar. This pulls each product’s variations into the spreadsheet as their own individual rows, sitting right alongside their parent products.
Note. If you plan to jump straight into the Search tool in Step 3, you can also isolate variations there directly with the “Search on variations?” checkbox, without necessarily toggling Display variations first.
Step 3: Choose How You Want to Target Variations to Delete
With variations visible, choose how you want to target the rows you are going to remove: clear every variation in your catalog at once, hand-pick specific items, or filter first by specific conditions.
Option A: Target All Variations Across Your Entire Catalog
Choose this method when you want to strip every variation from your entire WooCommerce catalog in one pass. You do not need to check any rows manually. Proceed directly to Step 4 and run the Bulk Edit tool on your current search/catalog scope.
Option B: Target Specific Products or Variations Manually
Use this method when you only want to clear variations from specific products, not your entire store.
In the spreadsheet grid, use the checkbox column on the left to select the specific variation rows you want to delete (or check the parent products whose child variations you plan to target). Once your rows are checked, proceed to Step 4.
Option C: Filter Your Catalog First to Target a Specific Subset
Use this method when you want to target variations from a specific subset of products — for example, products in one category, products matching a keyword, a specific price point, or variations created during a bad import. Filtering first prevents you from accidentally removing active inventory.
Open the Search tool on the toolbar.
Here are five practical ways to isolate variations using the Search tool:
1. Filter by Keyword
Useful if you need to delete variations containing specific text, such as a discontinued model year (e.g., “2021”) or a specific label.
- Contains keyword: Enter the specific word you are targeting.
- Search on variations?: Tick this checkbox to ensure the tool searches the child variations, not just the parent products.
- Click Run search.
2. Filter by Category, Attribute, or Tag
If you’re clearing out an entire department, like a specific clothing category, or removing all variations of a specific color or material, use the taxonomy filter.
- Enter the target category, attribute, or tag in the Enter Product Categories, Product tags, or Product attributes field.
- Enable the Search on variations? option.
- Click Run search.
3. Filter by Date Range
Handy if you recently ran a CSV import that generated broken or incorrect variations. You can isolate variations created on a specific date to delete them and start over.
- Enable the Search on variations? option.
- Tick the Enable advanced filters box.
- Enter the exact date range using the YYYY-MM-DD or MM/DD/YYYY format provided by your system settings.
- Click Run search.
4. Filter by Exact Price
If you need to delete a specific pricing tier across your catalog, for example removing every $19.99 variation, configure the advanced filters like this:
- Enable the Search on variations? and Enable advanced filters checkboxes.
- Field: Regular price (_regular_price)
- Operator: =
- Value: Enter the target price (e.g., 19.99)
- Click Run search.
5. Filter by Missing Featured Image
Incomplete variations can hurt the shopping experience. If you want to audit and delete variations that lack an assigned image, search for empty image fields.
- Enable the Search on variations? and Enable advanced filters checkboxes.
- Field: Featured image (_featured_image)
- Operator: =
- Value: Leave this field completely empty.
- Click Run search.
Note: If you’d rather fix these variations than delete them, see our guide on how to bulk upload images to variations.
Once your desired filter is applied and only the targeted rows are visible in the spreadsheet, proceed to Step 4 to complete the deletion.
Step 4: Delete the Targeted Variations
Whichever targeting method you used in Step 3—your whole catalog, manual selection, or a filtered search—you have two ways to execute the deletion.
Method 1: Delete Variations Manually, Row by Row
If you want to review the list and do a surgical cleanup directly in the grid:
- Scroll to the Status column.
- For any variation row you want to remove, click its dropdown and select Delete completely (or Trash if you want to keep a backup in the bin).
- Click Save on the toolbar to apply your changes.
Method 2: Bulk Delete All Targeted Variations at Once
To delete all selected or filtered variations in a single automated pass, use the Bulk Edit tool from the toolbar.
Configure the fields as follows:
- Select the rows that you want to update: Choose Edit all the rows from my current search (including non-visible rows) if you are clearing all variations or ran a filter in Option C. Choose Edit the rows that I selected manually in the spreadsheet if you hand-checked rows in Option B.
- What field do you want to edit: Status.
- Select type of edit: Set value.
- Replace existing value with this value: Delete completely (or Trash).
- Edit only variations: Check this checkbox. This ensures the bulk edit applies strictly to child variations and leaves parent products intact.
- Click Execute Now.
The Edit only variations setting is the most critical safeguard in this process. Leaving it unchecked risks deleting parent products along with their variations. Keeping it enabled ensures parent products stay safely in your catalog.
Keep Your WooCommerce Catalog Clean
However you choose to select and delete variations, the result is the same: targeted variations disappear from your database while their parent products remain fully intact. Removing obsolete variation data keeps your store running fast and prevents your database from bloating over time—all without opening products individually or writing custom SQL queries.
You can download the plugin here:
Download WooCommerce Products Spreadsheet Plugin - or - Check the features












