The fastest way to bulk edit prices on Shopify is the built-in bulk editor: go to Products, check the products you want, and click Bulk edit to change prices in a spreadsheet-style grid, then Save. For a few hundred products that is enough. The moment you need percentage math, compare-at pricing across a whole catalog, or variant-level control, you move to a CSV or an app — and you check what the new prices do to your per-order profit before you hit save.

If you run a store with real orders, a price change is never just a number in a box. Raise a tee from $27 to $31 across 400 listings and you have quietly rewritten your margin, your ad break-even, and your discount floor all at once. This guide covers every way to bulk edit prices on Shopify, then does the part the other guides skip: the arithmetic.

The fastest way: Shopify's built-in bulk editor

Shopify ships a spreadsheet-style bulk editor right in the admin. Select items with the checkboxes on the Products list, then click Bulk edit. Each column is a property — price, compare-at price, cost per item — and you edit cells directly, then click Save, per Shopify's bulk editing documentation.

To expose the pricing fields, click Columns and add Price, Compare at price, and Cost per item. You can type into each cell, or drag a value down a column to copy it across rows.

One browser gotcha worth knowing: Shopify notes the bulk editor encodes its state in the URL, and Microsoft Edge can throw errors when that URL gets long, so Shopify recommends Chrome, Firefox, or Safari for large edits.

What the native editor can and can't do

The native editor is the right tool for same-day edits on a manageable set of products. It handles products and variants, it validates as you go, and it needs no export, no app, and no re-import.

What it does not do is math. There is no "raise everything 10%" button — you are typing or dragging literal values, cell by cell. For a flat change across a handful of products that is fine; for a percentage change across hundreds of variants it is slow and error-prone.

It also surfaces validation errors (a missing SKU, a failed metafield rule) that you must fix before the save goes through, as the bulk editing docs describe. Budget a minute for that on a big batch.

When to use a CSV instead

For a catalog-wide repricing — say every product goes up by a fixed dollar amount, or you are importing new prices from a supplier sheet — the product CSV is the workhorse. You export, edit the price columns in a spreadsheet, and re-import with "Overwrite products with matching handles" turned on.

The CSV route has hard edges. Your product CSV can't exceed 15 MB, so a very large catalog has to be split into multiple files. And for updates, both the URL handle and Title columns are required — the handle is the key Shopify matches on, per the same documentation.

The CSV is also how you reprice at true scale. A single product can hold up to 2,048 variants, and dragging prices across that many cells by hand is not realistic — a spreadsheet formula is.

The blank-column trap that wipes prices

Here is the one that burns operators. With overwrite enabled, a column that is present but blank overwrites the existing value with blank, while a column that is missing entirely leaves the value untouched, as spelled out in Shopify's CSV documentation.

Say you export 300 products to change prices, delete most columns "to keep it clean," but leave the "Body (HTML)" header in place with empty cells. On import, all 300 descriptions get replaced with nothing — because a blank cell means "set this to blank," not "ignore this."

There is no undo and no import history, so recovery means re-importing your earlier export. The working rule: delete the whole column if you don't want to touch it, and always keep the pre-import export file.

Percentage price changes and compare-at price

Neither the native editor nor a plain CSV has a "percentage" function — so a percentage change becomes a spreadsheet job. Export, add a column like New price = Variant Price * 1.10, paste the result into the Variant Price column, and re-import.

Compare-at price is the lever behind the "was $39, now $29" strikethrough. In the bulk editor, add the Compare at price column and set it to the original price while you drop the actual price; in a CSV it is the Variant Compare At Price field. If you want that discount to show up cleanly on the storefront too, see our walkthrough on showing a discount on the product page.

Third-party bulk-price apps exist mainly to add the percentage math, scheduling, and one-click rollback that the native tools lack. They are genuinely useful — just remember an app changes the number, not the economics underneath it.

The step every price-edit guide skips: what it does to your margin

Changing the price is the easy part. Knowing whether the new price still makes money is the part that pays your rent. Walk a real example.

Say you run a POD store doing 340 orders a month at a $31 average order value, spending $2,800/month on Meta ads. On a typical tee: the base cost from your print partner is $12.40, Shopify payment processing runs about 2.9% + $0.30 (roughly $1.20 on a $31 order), and your blended ad cost is $2,800 ÷ 340 = $8.24 per order.

So on that $31 sale: $31 − $12.40 − $1.20 − $8.24 = $9.16 in per-order profit, before you count your app subscriptions and your own time.

Now you bulk edit the price up to $34 to "improve margins." Processing ticks up to about $1.29, cost and ad spend hold, so profit rises to $34 − $12.40 − $1.29 − $8.24 = $12.07 — a 32% jump in per-order profit from a 10% price bump, if conversion holds. The whole bet is in those last three words.

And when a shopper refunds, the math gets worse than most sellers expect: Shopify does not return the original payment-processing fee on a refund. You eat the $1.29 plus your already-spent $12.40 production cost — which is exactly why a reckless bulk reprice that tanks conversion costs more than the lost sale.

This is the number the native editor never shows you. It will happily let you save a price that loses money on every order. Pricing is one lever in a wider admin workflow — our Shopify store operations guide maps how discounts, collections, and product edits fit together, and the deeper SEO mechanics live in our product page SEO best practices.

Bulk editing prices with an AI employee

PodVector AI gives you Victor, an AI employee that works across your live store data. Victor connects to Shopify for full store operations, plus Meta Ads, Google Ads, Printify, Printful, Gelato, and Klaviyo — and he computes your true per-order profit from those sources, not a guess.

That changes the price-edit question. Instead of "what number do I type," you ask Victor to raise prices across a collection and he can tell you what each new price does to per-order profit given your current base costs and ad spend first.

Every write action Victor takes is approval-gated — he proposes the bulk price change, you review the margin impact, and nothing executes until you approve. Victor is not a dashboard you read; he is an operator who does the edit once you say go.

You still own the decision. He owns the arithmetic and the clicks. See how it works at PodVector AI.

FAQs

How many products can you bulk edit at once on Shopify?

The Products list is paginated, so you select and edit within the current view, and larger batches are done page by page or via CSV. For catalog-wide changes, Shopify's own guidance is to switch to a CSV import, which processes the whole file in one pass and emails you a confirmation when done.

Can I bulk edit prices by percentage in Shopify's native tools?

Not directly. The bulk editor and CSV both work with literal values, so a percentage change means computing the new prices in a spreadsheet (multiply the price column by 1.10 for a 10% raise) and pasting them back, or using a third-party bulk-price app that adds a percentage function and rollback.

Will a bulk price change affect my compare-at (sale) price?

Only if you edit that column too. Price and Compare at price are separate fields, so raising Price alone leaves the strikethrough reference untouched — which can accidentally make your "sale" look like a markup. Set both deliberately in the same edit.

What's the safest way to avoid wiping data during a CSV price import?

Delete any column you don't intend to change rather than leaving it blank, because a blank-but-present column overwrites the value with blank when overwrite is on. Keep your pre-import export as a backup, since imports can't be canceled and have no history.

Does bulk editing prices change anything on the live storefront immediately?

Yes — once you save in the bulk editor or the CSV import finishes, the new prices are live. That is why checking the margin math before saving matters; there is no staging step between your edit and what a shopper pays at checkout. Related reading: viewing images in collections for auditing how repriced products look in their collections.