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.
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 need | Use |
|---|---|
| A one-off export of products and variations | WooCommerce’s built-in exporter |
| Custom columns, filters, Excel files or scheduled exports | An export plugin such as WP All Export |
| A scripted export from the command line | WP-CLI: wp wc product list |
| Products pulled straight into another system | The WooCommerce REST API |
Steps and screen labels are from WooCommerce 11.2, the current version on WordPress.org on 3 November 2026.
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.
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:
Install one from Plugins > Add New Plugin and follow its export wizard. If you only needed it once, delete it afterwards.
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.csvReplace 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.
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.
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.
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.
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.
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