Changing one product in Shopify is easy. Changing 400 of them, for a supplier price increase, a weekend sale or a round of SEO fixes, is where stores make expensive mistakes: a sale that never gets reverted, compare-at prices lower than the price, or tags wiped by a careless import.
Shopify gives you several ways to edit products in bulk, and each fits a different job. This guide covers all five, shows a price increase and a sale worked through with real numbers, and ends with the part most tutorials skip: how to undo a bulk change when it goes wrong.
Pick the right method for the job
| Method | Good for | Weak at | Undo |
|---|---|---|---|
| Bulk editor (spreadsheet view in the admin) | Typing or filling values across dozens or a few hundred products and variants | Percentage math, very large catalogs | No built-in undo after saving |
| Bulk actions (product list menu) | Status, tags, collections, sales channels, deleting | Prices and any field-level edit | Manual (run the opposite action) |
| CSV export and re-import | Formula-based changes across thousands of products | Speed of small edits; easy to blank fields by mistake | Re-import the original export |
| Shopify Flow | Rules that keep running (tag, hide, notify) | One-off price changes | Depends on the workflow |
| Bulk editing apps | Percentage rules, previews, scheduled sales, rollback | Cost of the app | Usually built in |
Method 1: the built-in bulk editor
The bulk editor is a spreadsheet-style screen inside the Shopify admin. Each row is a product or variant, and each column is a field.
- Go to Products in the Shopify admin.
- Filter the list to the products you want (by collection, vendor, product type, tag or status), then tick the checkbox at the top to select them all. If the results run to more than one page, use the option to select all matching products.
- Click Bulk edit.
- Click Columns and add the fields you need, such as Price, Compare-at price, Cost per item, SKU, Tags, Vendor, Product type, SEO title or Status.
- Edit cells. Use Shift plus click to select a range, drag the fill handle to copy one value up or down a column, and use the arrow keys to move between cells.
- Click Save. If Shopify reports errors, fix the highlighted cells and save again.
The bulk editor works well when the new values are known: setting 60 products to the same vendor, filling missing SKUs, or typing corrected prices from a supplier list. It is built for entering and filling values rather than applying formulas, so a "raise everything by 8%" change across hundreds of variants is faster in a spreadsheet or an app.
Shopify notes that the more you change at once, the longer saving takes. On large selections, work one collection or vendor at a time so an error does not leave you unsure which rows saved.
Method 2: bulk actions from the product list
Some changes do not need the editor at all. Select products in the Products list and the actions menu offers options such as setting products as active or draft, archiving, adding or removing tags, adding to or removing from collections, and changing sales channel availability. These are the fastest way to:
- Hide a discontinued supplier's products by setting them to draft.
- Tag every product in a sale so an automated collection or discount can pick them up.
- Add a batch of new products to a manual collection.
Tags are worth planning. A tag like sale-2026-bfcm lets you find every product in a promotion later, which makes reverting much easier.
Method 3: CSV export, edit, re-import
The CSV round-trip is the most flexible free method because you get full spreadsheet formulas. It is also the one with the most ways to go wrong, so follow the steps closely.
- Go to Products, click Export, choose All products and a CSV format, and save the file somewhere safe. This is your backup. Do not edit it.
- Export again, this time only the products you are changing (filter first, then choose the option to export products that match your search and filters). Large exports arrive by email.
- Open the second file in Google Sheets or Excel. Delete every column you are not changing, except the URL handle, Title, and the option name and value columns. Shopify needs those to match variants.
- Apply your changes with formulas in helper columns, then paste the results back as values and delete the helper columns.
- Do not sort the rows. Sorting can separate variants and images from their product.
- Save as UTF-8 CSV, then go to Products > Import, select Overwrite products with matching handles, and import.
The column cleanup in step 3 matters. With overwrite on, any blank cell in an included column replaces the existing value, while columns left out of the file are not touched. A slim file protects everything you did not mean to change. The Shopify CSV import guide covers the column names and common errors.
Worked example: a supplier price increase
Your kitchenware supplier raises costs, and you decide to raise retail prices by 12% on 180 products in the Kitchen collection, keeping prices ending in .99.
In the CSV, add a helper column next to Price with this formula (assuming prices are in column F):
=ROUNDUP(F2*1.12,0)-0.01
A $24.99 item becomes $27.99 (24.99 times 1.12 is about 27.99, rounded up to 28, minus 0.01). A $9.50 item becomes $10.99. Check the smallest and largest prices by hand, because rounding up to the next dollar is a bigger percentage jump on cheap items.
Update Cost per item at the same time, so profit reports stay accurate. If you want to see what the new price leaves after payment fees, the Shopify fee calculator shows the net for a single price quickly.
If a product has a compare-at price, decide whether it should rise too. A compare-at price that ends up lower than or equal to the new price no longer shows as a sale on most themes, and it looks broken.
Worked example: a 20% off sale using compare-at price
For a storewide or collection sale where you want the strikethrough "was" price on product pages, use compare-at pricing:
- Copy the current
PriceintoCompare-at price. - Set
Priceto 80% of the old price with=ROUND(F2*0.8,0)-0.01. A $29.99 item becomes $23.99 with a $29.99 compare-at price. - Add a tag such as
sale-2026-springto every product in the sale. - Import with overwrite on, then check several product pages and the cart.
Only show a compare-at price that reflects a price you actually charged. Inflated "was" prices can break consumer protection rules in many places and can also be flagged in Google Merchant Center.
Tip: For short promotions, consider an automatic discount under Discounts instead of changing product prices. Discounts have start and end dates, so nothing needs reverting afterward. The trade-off is that whether the discounted price shows on product pages depends on your theme.
Method 4: Shopify Flow for rules that keep running
Shopify Flow is a free automation app available on the Basic, Grow, Advanced and Plus plans. It is less suited to one-off bulk edits and better for changes that should happen every time a condition is met. Examples:
- When a product is created with a given vendor, add a tag and set the product type.
- When inventory for a product reaches zero, add an out-of-stock tag or move it to draft.
- On a schedule, find products matching a query and tag them for review.
Flow can also call the Shopify Admin API through its Send Admin API request action, which can change prices in bulk, but that requires writing GraphQL. Test any workflow that edits products on a few items first, because a Flow rule applies to every product that meets its conditions, including ones you forgot about.
Method 5: bulk editing apps
Apps fill the gaps in the native tools: percentage and fixed-amount price rules, filters across many fields, previews of every change before it is applied, scheduled start and end times for sales, and an undo history. If you change prices often or run frequent sales, an app usually pays for itself in time saved and mistakes avoided.
AM Jarvis Bulk Edit Pro covers prices, compare-at prices, sale pricing, status, vendor, type, and SEO titles and meta descriptions for Shopify and WooCommerce stores. It shows a preview before applying and keeps a one-click revert. Bulk SEO editing is handy after a large import, when hundreds of products still carry supplier titles; the guide to Shopify SEO titles and meta descriptions covers what to write.
Whichever app you consider, check three things before you trust it with a big change: whether it edits variants individually, whether it previews the result, and whether it keeps a history you can roll back.
Also check what access the app asks for when you install it, and remove bulk editing apps you no longer use. An app with write access to your products can change them at any time, and old apps left installed are a common source of unexplained edits. If several people on your team make bulk changes, agree on one tool and one naming pattern for backups and tags, so everyone can see what changed and when.
Fields that need extra care in bulk
Most fields are safe to change in bulk as long as you have a backup. A few have side effects that are easy to miss.
Inventory
Stock counts live per location. The product bulk editor and the product CSV handle simple single-location stores, but multi-location stores should use the inventory screen (Products > Inventory) and its own CSV, which has a column per location. Editing stock while orders are coming in can also overwrite sales that happened between your export and your import, so do stock changes during quiet hours or with an app that adjusts rather than replaces quantities.
URL handles
The handle is the product's URL and the key the CSV uses to match rows, so you cannot rename handles through a CSV import; a changed handle creates a new product instead. Change handles in the product page editor, where Shopify offers to create a URL redirect from the old address. Without that redirect, links from search results, ads and emails return 404 errors.
Product type, vendor and tags
Automated collections often use these fields as conditions. Renaming a vendor from "Acme" to "ACME Tools" in bulk can silently empty a collection that matched the old value. Check your collection conditions before changing these fields, and update them in the same session.
Status
Setting products to draft removes them from the storefront and from sales channels such as Google, so any ads for those items stop serving. Archive only products you do not plan to sell again soon.
How to revert a bulk edit safely
Shopify's bulk editor and CSV importer do not keep an undo history for you, so the safety net is something you set up before the change.
- Always export first. A full product export taken minutes before the change is your restore point. Name it with the date and the change, such as
products-2026-09-24-before-kitchen-increase.csv. - Restore with the same columns. To undo a price change, import the backup with only the handle, title, option columns, Price and Compare-at price, with overwrite on. Leave other columns out so later edits to descriptions or tags are not rolled back too.
- End a compare-at sale. Copy Compare-at price back into Price and clear the Compare-at price column for the tagged products. The sale tag tells you exactly which products to include.
- Keep a change log. A short note with date, method, products affected and backup file name saves time when someone asks why prices changed.
Warning: If you advertise on Google Shopping, price changes need to reach Merchant Center quickly. A mismatch between your product feed and the price on the page can lead to disapproved products. Check the feed after any large change; the guide to the Google Shopping feed for Shopify explains how syncing works.
For WooCommerce stores the tools are different but the rules are the same; see the guide to bulk editing products in WooCommerce.
