AnyTool
Your files never leave your device. All processing happens locally in your browser.

How do I bulk-update prices in a price-list CSV?

Upload your price-list CSV, map the price column (and optionally cost & category/SKU), then add rules — change by percent, add a fixed amount, set price from cost by markup or target margin, apply a currency rate, set a sale price, round to .99/.95, or clamp a floor/cap. You see a before/after preview and download the updated CSV. Everything runs in your browser — your costs and margins are never uploaded.

  • Percent, fixed, markup-from-cost, margin-from-cost, currency, sale price, charm/nearest rounding & min/max floor/cap
  • Each rule targets all rows or a filter: category equals, SKU prefix, or price range
  • Before/after table with per-row % change + stats: rows re-priced, avg change, total old vs new, below-cost count
  • Markup vs margin done right: price = cost × (1 + markup%) or cost ÷ (1 − margin%)
  • 100% client-side — your confidential cost/margin file never leaves your browser

What is

Bulk Price Update

A bulk price update applies one or more pricing rules — a percentage change, fixed adjustment, markup or margin from cost, currency conversion, sale discount, rounding or a price floor/cap — across a whole price list at once, instead of editing each product by hand.

Pricing & Commerce

Related terms

MarkupProfit MarginCharm PricingSale PriceRepricing

How to Bulk-Update a Price List CSV

Upload a price-list CSV, build pricing rules, preview before/after and download the updated CSV — entirely in your browser.

2 minWeb browser
  1. 1

    Upload & map columns

    Drop your price-list CSV (or paste it) and map the price column, plus the cost and category/SKU columns if you have them.

  2. 2

    Build pricing rules

    Add rules in order: percent, fixed amount, markup or margin from cost, currency rate, sale price, rounding (.99/.95/whole/nearest) and min/max floor/cap. Filter each to all rows, a category, a SKU prefix or a price range.

  3. 3

    Review & download

    Check the before/after preview and stats — rows re-priced, average change and any rows below cost — then download the updated CSV. Nothing is uploaded.

Result: An updated price-list CSV with the bulk price changes applied

Frequently Asked Questions

Markup adds a percentage onto cost (price = cost × (1 + markup%)); margin is profit as a percentage of the selling price (price = cost ÷ (1 − margin%)). A 25% markup equals a 20% margin.

Markup is measured against COST and margin against the SELLING PRICE, so they are not interchangeable. To set price from a markup, multiply cost by (1 + markup% / 100); to hit a target margin, divide cost by (1 − margin% / 100). For the same product the markup percentage is always higher than the margin percentage — a 25% markup is only a 20% margin, and a 50% markup is a 33.3% margin. The Price List Updater has separate markup and margin rules so you pick the one your business actually means, and it flags any row whose new price falls below cost.

Add a rounding rule set to “.99 (charm)”. It rounds each price up to the next whole number and subtracts a cent, so 14.00 becomes 14.99 and 12.30 becomes 12.99.

Charm pricing — ending a price just below a round number like $14.99 instead of $15.00 — makes a price read as cheaper because shoppers anchor on the left-most digit, and most retail prices end in 9. In the Price List Updater, add a “Round prices” rule and choose .99 or .95; it rounds up to the next whole number then drops a cent or a nickel. Apply rounding LAST, after any percentage, markup or margin rule, so the final shelf price lands on the charm ending. You can also round to a whole number (.00), or up/down/nearest a step like 5 or 10.

Yes. Each rule has an “Apply to” filter — all rows, a category that equals a value, a SKU that starts with a prefix, or a price range — so you can reprice just part of the list.

Every rule can target all rows or a filter. Map a category/SKU column and you can apply a rule only where the category equals a chosen value or the SKU starts with a prefix (e.g. all “TEE-” items), or apply it only to prices within a from–to range. Because rules run in order, you can stack them: raise Apparel by 8%, give Electronics a 10% sale, then charm-round everything to .99. The before/after preview shows exactly which rows changed and by how much.

No. The whole price list is parsed and re-priced entirely in your browser — there is no upload, server or tracking, so it is safe for confidential cost and margin data.

The Price List Updater is 100% client-side: your CSV is read, re-priced and re-serialised on your own device with an in-browser parser, and nothing is sent to a server, logged or stored. That matters because a price list usually carries confidential cost prices, margins and supplier pricing — data you would not want to hand to a cloud “bulk price” tool that uploads your whole file just to multiply some numbers. It even works offline once cached. Just remember to review the before/after and keep a backup of the original.

Detailed Explanation

How It Works

Price List Updater — Bulk Re-Pricing in the Browser

The Price List Updater is a 100% client-side tool that bulk-updates a price-list CSV. The user uploads or pastes the file, maps a price column (and optionally a cost column and a category/SKU column), then builds a chain of pricing rules applied in order to every matching row. Supported rule types are: change by percent, add or subtract a fixed amount, set price from cost by markup percent, set price from cost by target margin percent, multiply by a currency/FX rate, set a sale price (price × (1 − discount%)), psychological/charm rounding, and a min/max price floor and cap. A before/after table and a stats summary show exactly what changed, and the updated CSV is downloaded locally.

  • Eight rule types: percent, fixed, markup, margin, currency, sale price, rounding, min/max
  • Correct formulas: markup price = cost × (1 + m/100); margin price = cost ÷ (1 − g/100)
  • Each rule targets all rows or a filter: category equals, SKU prefix, or price range
  • Rules apply in order so they can be stacked (e.g. +8% then charm-round to .99)
  • RFC-4180 CSV parsing via PapaParse so quoted prices like "1,899.00" survive
Methodology

Markup vs Margin and Charm Rounding

Markup and margin are different: markup is measured against cost (selling price = cost × (1 + markup% / 100)) while margin is profit as a percentage of the selling price (selling price = cost ÷ (1 − margin% / 100), with margin < 100). For the same product markup percent is always higher than margin percent — a 25% markup equals a 20% margin, and a 50% markup equals a 33.3% margin — so the tool exposes them as separate rules. Charm (psychological) pricing ends a price just below a round number, such as $14.99 instead of $15.00, because shoppers anchor on the left-most digit and most retail prices end in 9; the rounding rule offers .99, .95, whole-number (.00) and up/down/nearest-step modes, and should be applied last so the final shelf price lands on the charm ending.

  • Markup% is always higher than margin% for the same product (25% markup = 20% margin)
  • Margin rule guards margin < 100 to avoid divide-by-zero / negative prices
  • Charm rounding (.99 / .95) rounds up to the next whole then drops a cent / nickel
  • Rounding modes: .99, .95, .00 whole, and up / down / nearest a step (e.g. nearest 5)
  • Apply rounding after percentage/markup/margin rules for a clean charm ending
Privacy & Security

Privacy vs Cloud Bulk-Price Tools

A price list is commercially sensitive: it typically contains confidential cost prices, profit margins and supplier pricing. Many cloud "bulk price" and repricing tools upload the entire file to a server to apply the math, exposing those costs and margins to a third party and often capping rows or gating exports. The Price List Updater parses the CSV, applies every rule and re-serialises the output entirely in the browser, so the data never leaves the device, there is no row limit, and the page keeps working offline once loaded. It also tracks a below-cost count so the user can immediately see if any rule would push a price under cost.

Limitations

Honest Limits: It Applies the Math You Configure — Review Margins

The tool applies exactly the bulk price math the user configures and nothing more. It does NOT know real costs, fees, shipping, payment charges or taxes unless a cost column is mapped, so it cannot guarantee profitability on its own. Percentage rules COMPOUND when chained, the rounding mode and currency/FX rate are exactly as set, and category/SKU/price filters only work if the relevant column is mapped. Users should review the before/after preview and stats, check that margins are acceptable and that no row fell below cost, confirm the rounding, and keep a backup of the original file before importing into a store. It updates the CSV — it does not push prices to any marketplace.

  • Does not know real costs/fees/taxes unless a cost column is mapped
  • Chained percentage rules compound; rounding & FX rate are exactly as set
  • Below-cost rows are flagged but the user must decide how to fix them
  • Filters require the matching column to be mapped (category/SKU)
  • Prepares the CSV only — it does not publish prices to any store
Bulk price updates: in-browser (AnyTool) vs typical cloud bulk-price tools
CapabilityAnyToolTypical cloud bulk-price tools
Where it runs100% in your browser, file never uploadedUploaded to a server
Cost / margin data safetyStays on your deviceSent to a third party
Rule typesPercent, fixed, markup, margin, currency, sale, rounding, min/maxVaries, often percent only
Markup vs marginSeparate rules, correct formulasOften conflated
Charm / psychological rounding.99 / .95 / .00 / up / down / nearest stepSometimes
FiltersCategory, SKU prefix, price rangeVaries
Below-cost warningYes, counted & highlightedRarely
Before/after preview + statsYesVaries
Row limitNoneOften capped
Cost / signupFree, no signupOften paid / email-walled

AnyTool is a privacy-first client-side price-list updater — your costs and margins never leave the browser; it applies the math you configure, so review the before/after, check margins and the below-cost count, and keep a backup before importing.