Your catalog is safe
Edit with a safety net.
Install freeNothing is written until you press Save
Editing a cell, applying a bulk template, or running find & replace only stages a pending change in the grid. Those edits live in your browser - Shopify sees nothing until you deliberately press Save. You can stage, review, and discard as much as you like with zero risk to your live catalog. Filtering and previewing never write anything.
Preview every change before it saves
Every bulk template and find & replace shows a preview first: how many rows will change, a sample of old → new values, and which rows are skipped and why. You confirm the diff before a single product is touched - no blind batch-applies, and no “I think that worked?” after an import.
Importing a CSV can't blank your catalog
A CSV import in BulkSheet doesn't write to Shopify at all. The file is read in your browser, rows are matched to products you already have, and every value that differs becomes a pending change in the grid - marked with its old value, removable before you save, and written only when you press Save. A blank cell never changes anything, so a column you left empty can't wipe your descriptions or prices, and an import never creates or deletes products. Before anything loads you see which rows matched, which didn't, and why.
Import your next CSV as drafts you review before anything saves.
Install freeUndo any change - even across sessions
Made a mistake? Press Cmd+Z (or Ctrl+Z), or use the Undo button to step back through pending edits - before or after a save. On paid plans, draft undo is preserved across sessions (30 days on Starter, 90 days on Growth, 180 days on Pro, up to 50 steps), so closing the tab mid-edit doesn't lose your safety net.
Roll back a save you already made
For changes already written to Shopify, Edit History records every save batch. All paid plans can view the full history; Pro can Revert a batch - restoring the previous values in one click, including bringing back a field you cleared. Scheduled sales go one step further: set an auto-revert time and prices restore themselves when the sale ends, so a forgotten promo can't linger. A revert only undoes that one save: a price you changed by hand since, a tag another app added, or stock that sold in the meantime is left as it is, and you're told what was left alone.
Built for large catalogs
Load up to 10,000 products in one grid; larger saves run as Shopify bulk operations. Those bulk operations handle chunking, rate limits and retries for you. Progress is tracked live, so you always know a save completed rather than silently stalling partway through.
What we access - and what we store
BulkSheet requests only the Shopify scopes it needs to edit your catalog: read/write products, read/write inventory, and read locations. We do not request or access customer data, orders, or financial records.
We don't keep a mirror of your catalog. To power undo and Edit History we store the before-and-after of the specific fields you change, plus minimal product references - nothing more. A CSV you import is read in your browser and never uploaded or stored. The full details are in our Privacy Policy.