Add products to your store from a spreadsheet

A free plugin adds a chat to your WP dashboard. Attach your sheet and type “Add these to my shop in a new category, Autumn.” Nothing changes until you press.

Imports are on the paid plan, not open yet. Simple products, no images.

  • Nothing changes without your OK
  • Undo in one click, or a warning first
  • No account, no password to share

Needs WP 6.3 to 7.1, PHP 8.0 or newer, and an administrator login. One site per install.

The download is a plugin. Turning it on connects your site to cmshands.com and adds 3 small rescue files. Deleting the plugin removes them and everything it stored. What we send

Imports open with the paid plan. The rest works now.

Watch it do this on a real site

Steps of this run
The chat box in the WP dashboard, the request typed in, autumn.csv attached

You attach the sheet

The sheet is one we made up for our test shop: 8 new autumn pieces in 5 columns, named SKU, Name, Price, Stock and Description. It went in as it was. The shop had no Autumn category yet.

Add these to my shop in a new category, Autumn.

You check one card

It read the sheet, looked through the shop and checked the import against it. We had imported this same sheet earlier that night and taken it out again, so it also made sure no copy was left over. About 35 seconds after the request, one card showed the whole job: a new Autumn category and 8 products as drafts, prices from 24 to 78, stock tracking on. Nothing had changed yet.

What the card can't show: the earlier Autumn batch is not in the trash any more, and none of these eight SKUs is on the site now, so nothing will be duplicated.
  1. 3 secondsRunning a script on autumn.csv
  2. 10 secondsReading from your site
  3. 13 secondsReading from your site
  4. Reading from your site
  5. 15 secondsReading from your site
  6. 16 secondsReading from your site
  7. 18 secondsReading from your site
  8. Reading from your site
  9. 20 secondsReading from your site
  10. Reading from your site
  11. 26 secondsRunning a script on autumn.csv
  12. 28 secondsChecking the import against your site
  13. 31 secondsRunning a script on autumn.csv
  14. 33 secondsChecking the import against your site

Every row, before it goes in

Show all 8 opens each product on the same card, with every value as it will be saved: name, SKU, price, description, stock and category. Take your time. Nothing happens until you press Import it.

Added, as drafts

We pressed Import it about half a minute later. It added the category, then all 8 products, in under 2 seconds. They went in as drafts, so the shop didn't show them yet. The card turned green, with an Undo link.

  1. 1 minute 7 secondsAdding product category 1
  2. Adding products 1–8
Done. I added 1 product category (as drafts where they can be) and added 8 products (as drafts where they can be).

One Undo takes it all out

Then we pressed Undo. About 2 seconds later the 8 products were in the trash, where they stay for 30 days in case you want them back. A category has no trash, so it deleted the new Autumn category. The card now says the site is back the way it was.

Undone. I moved 8 to the trash (you can restore them from there for 30 days), deleted 1 that have no trash.
  1. 1 minute 22 secondsUndoing 1–9 of 9

A real run on our test site, Quillmoor Pottery (WP 7.1.3, Twenty Twenty-Four), Oct 11, 2026. From asking to done, it took 1 minute 8 seconds. Imports are on the paid plan, which isn't open yet.

That's the whole job, on the paid plan when it opens. The plugin is free today: 3 changes to try it, no account. Nothing changes until you press the button.

Needs WP 6.3 to 7.1, PHP 8.0 or newer, and an administrator login. One site per install.

The download is a plugin. Turning it on connects your site to cmshands.com and adds 3 small rescue files. Deleting the plugin removes them and everything it stored. What we send

How to import products into WooCommerce yourself

Checked on WP 7.1, Oct 11, 2026

  1. 1. In your dashboard, go to Products › All Products and press Import at the top, next to Add new product.

    Products › All Products in the dashboard, with the Import button outlined at the top, between Add new product and Export
  2. 2. Press Choose File and pick your CSV. Leave Update existing products unticked when every row is a new product. Press Continue.

    Import products from a CSV file, autumn.csv chosen and outlined, Update existing products unticked, the Continue button
  3. 3. On Map CSV fields to products, check that each column points to the right field. Every column of ours matched on its own, even Price.

    Map CSV fields to products: each column of the sheet matched to a field, the Price column outlined, matched to Regular price
  4. 4. Scroll to the end of the list and press Run the importer. If a column says Do not import, pick a field for it first.

    The end of the column list, Categories and Published matched, and the Run the importer button outlined
  5. 5. Wait for Import complete! and the count. Ours said 8 products imported. Press View products.

    Import complete! 8 products imported, with the View products button
  6. 6. Check the new products in the list. Ours came in under Drafts, as the sheet asked. Publish each one when it's ready.

    The products list with Drafts (8) outlined: the new products with their SKUs, stock, prices and the Autumn category

For these steps we added 2 columns to the same sheet. WooCommerce's importer publishes new products at once, unless a Published column says otherwise: -1 means draft. A Categories column names the category, and the importer creates it if it's new. A number under Stock switches stock tracking on for that product. WooCommerce is a trademark of Automattic Inc.

What it won't do here

Imports wait for the paid plan

The paid plan isn't open yet. Until it is, use the steps above. The free plugin answers shop questions today, like “Which products are out of stock?”

Simple products only

No variations, like one mug in 3 glazes. WooCommerce's own importer handles products with sizes or colors.

No product pictures yet

Pictures don't come in with the import yet. Each new product starts without one; add it on the product's edit screen.

Up to 2,000 products at a time

A bigger catalog goes in as several imports, one file after another. Each file can be up to 10 MB.

No exports, and no deleting from a file

It can't write your products out to a CSV, or remove the products a file lists. Products › All Products › Export does the first.

Why it won't wreck your site

Nothing changes until you press the button.

Every change comes as a card that names it. Nothing happens until you press the button or Not now.

One click undoes it.

When something can't be undone, like deleting a page or a plugin, the card says so before you press.

It won't overwrite your edits.

It reads your site again before it changes or undoes anything. If you edited the same thing, it stops and tells you.

Free to start

No accountWith your emailPaid plan
Changes3 to try it10 every monthComing. Nothing costs money until you choose it.
Questions30 a day100 a day
If it breaksDaily check and crash rescueThe same, plus email alerts

Undo a change within 24 hours and it doesn't count. If you haven't added an email after 30 days, only crash rescue stays on until you add one. A change is one card you approve. A job that touches several pages or plugins is several changes.

Questions

Can I bulk upload products to WooCommerce without another plugin?

Yes. WooCommerce has its own importer at Products › All Products › Import, as in the steps above. It reads a CSV file with one product per row and adds them all in one go. Save an Excel sheet as CSV first: the screen says it takes CSV or TXT files. For an XML feed, or a supplier list that syncs on a schedule, you'd need an extra plugin.

How do I import products into WooCommerce as drafts?

Add a column named Published and put -1 in every row: -1 makes a draft, while 1 puts the product in your shop. Without that column, every new product goes into your shop as soon as the import ends. Imported products you can't find are often drafts: look under Products › All Products › Drafts.

Can an import update the products I already have?

Yes. Tick Update existing products on the first screen. WooCommerce then matches each row to a product by ID or SKU and changes it, and skips rows that match nothing. On the paid plan, CMSHands finds each product by its SKU, skips rows that wouldn't change anything, and leaves alone any product you edited after the card appeared.

How do I export my WooCommerce products to a CSV?

Go to Products › All Products and press Export, next to Import. Leave the boxes empty to get every column and every product, or pick only the ones you need. Then press Generate CSV. CMSHands doesn't export products: it only reads the files you give it.

How do I undo a product import?

WooCommerce's importer has no undo button. To take the products out, filter Products › All Products by their category, tick them, choose Move to Trash under Bulk actions and press Apply. In our CMSHands run, one Undo moved all 8 to the trash and deleted the new category it had made.

Can CMSHands import my product sheet for me?

Yes, on the paid plan, which isn't open yet. The chat calls it Keeper. You attach a CSV or Excel file and say what you want. It matches your columns, shows one card with the whole import, and adds the products as drafts when you press Import it. Simple products only, no images yet, up to 2,000 at a time. Until then, the free plugin answers questions about your shop, like which products are out of stock.

Written by CMSHands team.

Try the free plugin on your own shop

Needs WP 6.3 to 7.1, PHP 8.0 or newer, and an administrator login. One site per install.

The download is a plugin. Turning it on connects your site to cmshands.com and adds 3 small rescue files. Deleting the plugin removes them and everything it stored. What we send

  1. Download the plugin.

    It's free: 3 changes to try it. No account, no card.

  2. Upload and activate it.

    In your dashboard: Plugins › Add Plugin › Upload Plugin (Add New Plugin on older WP). Choose the file, press Install Now, then Activate Plugin.

  3. Press Turn on.

    Press Turn on CMSHands. No account, no key, no password.