How to Export WooCommerce Products: 4 Ways, Step by Step

WooCommerce has a product exporter built in: Products > All Products > Export gives you a CSV of your products, variations and image links. Here is how to use it, when an export plugin, WP-CLI or the REST API is the better tool, and how to get the file back into a store.

In this article
  1. 01The short answer
  2. 02Option 1: The built-in exporter
  3. 03Option 2: An export plugin
  4. 04Option 3: WP-CLI
  5. 05Option 4: The REST API
  6. 06Importing the file back, or into another store
  7. 07When an export goes wrong
  8. 08Skip the round trip: make the bulk change directly
Key takeaways
  • WooCommerce exports products without a plugin: Products > All Products > Export, then Generate CSV.
  • Each variation is its own row, and images are exported as URLs.
  • Tick 'Yes, export all custom meta' to get data stored by plugins.
  • Use an export plugin for custom layouts or scheduled exports, and WP-CLI for scripted ones.
  • Import back with Products > Import; 'Update existing products' matches rows by ID or SKU.
  • For bulk price or stock changes, editing directly avoids the export and import round trip.

The short answer

Go to Products > All Products, click Export at the top, choose the columns, product types and categories you want, tick “Yes, export all custom meta” if you need data added by plugins, and click Generate CSV. WooCommerce builds the file and downloads it to your computer. That covers most stores. Reach for something else when you need:

You needUse
A one-off export of products and variationsWooCommerce’s built-in exporter
Custom columns, filters, Excel files or scheduled exportsAn export plugin such as WP All Export
A scripted export from the command lineWP-CLI: wp wc product list
Products pulled straight into another systemThe WooCommerce REST API

Steps and screen labels are from WooCommerce 11.2, the current version on WordPress.org on 3 November 2026.

Option 1: The built-in exporter

  1. In wp-admin, go to Products > All Products and click Export at the top of the page.
  2. Which columns: leave “Export all columns” for a full copy, or pick only what you need, for example ID, SKU, name, regular price and stock.
  3. Which product types: all by default, or only simple, variable, variation, grouped or external products.
  4. Which categories: all by default, or one or more categories.
  5. Tick Yes, export all custom meta to add data stored by plugins.
  6. Click Generate CSV and keep the tab open until the download starts.

What you get: each variation is its own row, linked to its parent product; images are exported as URLs, comma-separated, with the first one as the featured image; and custom meta lands in columns that start with meta:, such as meta:product_depth. WooCommerce’s documentation notes that variation names can lose their attribute values in the export when a product has three or more attributes, or two or more where one name has several words, so check those rows before you rely on them.

Option 2: An export plugin

Plugins help when the built-in exporter is too blunt: custom columns, filters, other file formats or a schedule. The most-installed choices on WordPress.org on 3 November 2026:

  • WP All Export (100,000+ active installs) with its free WooCommerce product export add-on (10,000+): drag-and-drop columns you can rename and combine, filters, and CSV, XML, Excel or Google Sheets output. Exports can run on a schedule through a cron job on your server or its paid scheduling service.
  • Product Import Export for WooCommerce by WebToffee (80,000+): the free version exports simple, grouped and external products; variable products, scheduled exports, FTP or SFTP and image zips need the premium version.

Install one from Plugins > Add New Plugin and follow its export wizard. If you only needed it once, delete it afterwards.

Option 3: WP-CLI

With SSH access to the server, WooCommerce’s command-line tool exports without a browser:

wp wc product list --user=1 --fields=id,sku,name,regular_price,stock_quantity --format=csv > products.csv

Replace 1 with the ID of an administrator account: without --user the command stops with a permissions error. Each run returns up to 100 products, so add --page=2, --page=3 and so on for a bigger catalog. Variations are listed per product with wp wc product_variation list followed by the product ID, and filters such as --category or --stock_status=outofstock narrow the list.

Option 4: The REST API

For syncing products into another system, request them from the REST API: GET /wp-json/wc/v3/products, authenticated with keys from WooCommerce > Settings > Advanced > REST API. Results come 10 per page by default; ask for up to 100 with per_page=100 and step through page=2 and onwards. This is how most feed tools and integrations read a catalog.

Importing the file back, or into another store

  1. Go to Products > All Products and click Import.
  2. Choose the CSV. To change existing products instead of creating new ones, tick Update existing products: WooCommerce matches rows by ID or SKU.
  3. Map the columns on the next screen, then run the importer.

Moving to a new store? Products get new IDs there, so match on SKU, and make sure the image URLs still work, because the importer fetches images from those addresses. If the file is bigger than the upload limit shown on the import screen, your host can raise it.

When an export goes wrong

  • It stops or times out on a big catalog: export one category or product type at a time, or use WP-CLI.
  • Accents or symbols look broken in Excel: open the file through Excel’s Data > From Text/CSV and choose UTF-8 instead of double-clicking it.
  • SKUs lost their leading zeros: Excel turned them into numbers; format the SKU column as text before you save.
  • Plugin data is missing: run it again with “Yes, export all custom meta” ticked.

Skip the round trip: make the bulk change directly

Many exports exist only to make a bulk change in a spreadsheet and import it back: new prices, stock counts, categories or descriptions. That round trip is where mistakes slip in: a column shifts, a SKU loses its leading zero, or a variation gets overwritten.

WPOS works on WooCommerce through WooCommerce’s own APIs, covering products, stock, orders, refunds, customers, coupons, tax rates and shipping zones, from inside wp-admin on the store you already run. Instead of export, edit and import, you describe the change:

“Raise the price of every product in the Winter category by 10%, round to .99, and list anything with fewer than five in stock.”

Because it goes through WooCommerce’s APIs rather than writing to the database behind WooCommerce’s back, the change follows the same product logic as an edit in wp-admin. WPOS is our product, so weigh this section accordingly; you can try it free for 30 days with 5,000 credits, a live site plus a staging sandbox, and no card.

Frequently Asked Questions

Yes. Products > All Products > Export creates a CSV of your products and variations, with image URLs and, if you tick the option, custom meta. Plugins only add extras such as custom layouts, other formats or scheduled exports.

As URLs. The exporter writes each product's image addresses into the CSV, with the first as the featured image. The image files stay on your server; WebToffee's premium plugin can export them as a zip.

On the export screen, choose the product types and categories you want, and only the columns you need. For finer filters, such as out-of-stock products only, use an export plugin or WP-CLI.

Not with the built-in exporter. Export plugins such as WP All Export can run on a schedule, through a cron job on your server or a paid scheduling service, and a WP-CLI command can run from your server's cron.

The product exporter doesn't cover orders. Reports under WooCommerce > Analytics have a Download button that saves them as CSV, and plugins such as Advanced Order Export for WooCommerce give full order exports.

Usually an encoding issue. Open it through Excel's Data > From Text/CSV and choose UTF-8 instead of double-clicking the file, and format SKU columns as text so leading zeros survive.

Bulk changes, without the spreadsheet.

WPOS works on WooCommerce through its own APIs, inside wp-admin on the stores you already run. Free for 30 days: 5,000 credits, a live site plus a sandbox, no card.

Start free