Bulk importing products is the fastest way to fill a new WooCommerce store or refresh an existing catalog. A single spreadsheet can carry thousands of products with titles, prices, images, and variations. Entering those records manually takes hours per hundred items and invites typos across SKUs and prices.
In this walkthrough, we'll show how to bulk add products into WooCommerce with WP All Import. We'll upload a CSV, XML, or Excel file, and the plugin maps every column to the right product field for you.
📑 Table of Contents
How Do You Bulk Add Products in WooCommerce?
You can bulk add products in WooCommerce with the built-in CSV importer or with a product import plugin like WP All Import. Both methods work straight from your dashboard. The built-in importer is free and suits small files of simple products, while a plugin handles supplier feeds, variable products, and automatic mapping.
How to Bulk Add Products With WooCommerce's Built-In Importer
- Go to Products › All Products in your WordPress dashboard.
- Click Import at the top of the Products screen.
- Upload your product file in CSV or TXT format.
- Map each column from your file to a product field. Match columns such as SKU, name, regular price, description, stock, categories, and image URLs to their corresponding fields.
- Click Run the importer. WooCommerce processes the file and shows a summary of imported and skipped rows when finished.

The importer accepts one product per row, so prepare one line per simple product before uploading. Prices stay as plain numbers without currency symbols, and product images load through external URLs rather than file uploads.
That covers the standard bulk product import method. Where the built-in importer falls short depends on what sits inside your spreadsheet, which is exactly where its limitations start showing.
What Are the Limitations of WooCommerce's Built-In Product Importer?
The built-in WooCommerce importer covers basic catalogs, and that is where its coverage ends. Once a file grows beyond simple rows, the gaps below start costing time.
No Real Variable Product Support
WooCommerce's importer creates variable products as separate parent rows, but mapping attributes to the right variation logic takes manual cleanup afterward. Attributes such as color and size import as plain text rather than structured attributes tied to variations.
Rigid Column Mapping
Mapping is dropdown-based, and one mistake links an entire column to the wrong field across every row. A price column mapped to sale price, for example, publishes every product at the discounted figure, and there is no preview before you run the import.
Image Handling Gaps
Product images load through external URLs only. If a supplier file carries images as local paths, compressed archives, or mixed formats, those pictures either fail silently or need manual re-uploading later.
No Scheduling or Saved Templates
Every import starts from scratch: upload, map, run. There is no way to save a template for next week's supplier feed or schedule recurring imports from FTP locations or URLs, which is where most store owners hit this wall repeatedly.
File Size and Server Limits
Large files run through PHP execution on your hosting plan. Catalogs above a few thousand rows commonly stall on timeouts and memory limits, forcing imports to be split into smaller batches by hand.
Each limitation alone is survivable. Together they explain why stores working with real supplier data outgrow the native tool quickly, which is the exact problem WP All Import's automatic setup addresses in the next section.
How To Bulk Upload/Import WooCommerce Products With WP All Import?
To bulk import products with WP All Import, you upload a file once and let automatic mapping build the import for you. WP All Import reads your CSV, XML, Excel, or other spreadsheet format, detects each column's purpose, and fills every product field on its own. You review the finished setup, preview real product pages, then run the import when everything looks right.
Step 1: Set Up Product Import With Automatic Mapping
From the WordPress admin, go to WP All Import › New Import. At the top of the screen, the Set up automatically banner is the default entry point. Click anywhere on it to open the Automatic Setup modal.

In the popup, choose your product import file source from the four available tabs:
- Upload File for a CSV, XML, JSON, TXT, ZIP, or GZ file up to 256MB.
- Download from URL for supplier feeds hosted at a web address.
- Existing File to reuse anything you uploaded before.
- FTP/SFTP to pull files straight off your server.

Select your file, and it will move to the next step. While the built-in importer accepts CSV only, WP All Import accepts CSV, XML, Excel, JSON, TXT, ZIP, GZ, and Google Sheets, which matters when a supplier exports XML or zips their catalog.
Next, choose what to import. Select WooCommerce, then Products. This covers simple, variable, and grouped products in one pass, so you do not need to split different product types into separate files.

You can expand the optional Add Setup Instructions field to give extra guidance before your bulk upload runs, such as when prices are quoted in a specific currency, when variation rows share a parent SKU to link them together, or when descriptions arrive already formatted with HTML tags.

Once ready, click Start Automatic Setup, and WP All Import tracks each automatic step on a progress screen. No dropdowns appear during this stage, and nothing asks you what each column means.

When analysis finishes, the popup shows a summary card with the following details:
- Product type detected (for example, variable)
- Number of fields mapped from your file
- Total records ready to import
- A confidence score for the mapping

Scroll to the field mappings below to see exactly how each column connects. A price column maps to regular price, category columns map into WooCommerce categories, and attribute columns such as color and size attach to variation logic automatically. Every connection is visible before the bulk upload touches your store, which is more than what the built-in importer offers.
Step 2: Review and Adjust the Auto-Mapped Product Fields
After the wizard finishes, you have two options: review the field mappings or run the import as-is. Most imports benefit from a quick check before running.
Click Review Import Configuration to open the template editor. WP All Import pre-fills everything from Step 1, organized into sections such as WooCommerce Add-On, Images, Custom Fields, and any connected plugins like ACF or JetEngine. You can change the source column for any field by dragging a different element from the right panel, or edit an XPath value directly if you prefer.

For example, the Post Title field comes pre-filled with the {producttitle[1]} element from your file. To show the SKU alongside every product name, edit that field to {producttitle[1]} ({sku[1]}), and each imported product gets a title like "Soflyy T-Shirt (999-X)," built straight from the record data shown in the right panel. For complete details on mapping every product field, see the WP All Import documentation.
Step 3: Preview the Products and Run the Import
Before running anything, click Preview in the header. The preview modal opens two views:
- WP Admin View: Shows how each record populates the standard backend fields.
- Frontend View: Renders live product pages exactly as shoppers will see them, complete with working variation dropdowns, galleries, and metadata.

The frontend preview answers the question no dropdown-based importer can before bulk importing: do these products look correct on a real store? Page through records with the < and > buttons and spot-check edge cases such as missing images or empty attributes. If something needs remapping, click Set Up Again in the header to rerun the wizard, optionally passing new setup instructions while doing so.
When everything looks right, click Run Import. WP All Import publishes products as it goes, then reports how many records were created, updated, and skipped.

Imports from the same supplier get easier over time, too. Open any existing import under Manage Imports, click Run Import, and WP All Import rebuilds the entire mapping against whatever changed in the new file.
What Else Can WP All Import Handle in a Bulk Product Import?
The walkthrough above covers the core workflow. A few other features are worth knowing about, because they tend to matter the moment real supplier files enter the picture.
Product galleries are one of them. A single cell might hold several image URLs separated by pipes, and WP All Import imports them as a complete gallery, pulling images from external URLs, the media library, or an FTP location. The product images import guide covers every source it accepts.
Variable products are handled the same hands-off way: WP All Import's Automatic Setup detects how variation rows link to their parents, and the variable product import guide explains the preset options for structures like Parent SKU columns and shared Group IDs.
For stores syncing against a supplier feed, WP All Import can run the entire import on a schedule, daily, weekly, or monthly, either through the paid scheduling service or free cron jobs.
Should You Use the Built-In Importer or WP All Import?
Both tools let you bulk add products into WooCommerce, but they are built for different files, different catalogs, and different schedules.
| Built-In WooCommerce Importer | WP All Import | |
|---|---|---|
| File formats | CSV only | CSV, XML, Excel, JSON, Google Sheets, TXT, ZIP, GZ |
| Field mapping | Manual dropdowns per column | Automatic Setup maps fields for you |
| Variable products | Limited variation support | Full parent/variation handling |
| Product images | External URLs only | URLs, local paths, zipped archives |
| Saved templates & scheduling | Not available | Saved templates, cron jobs, FTP/SFTP feeds |
| Price | Free with WooCommerce core | WooCommerce package starting at $169/yr |
WP All Import covers every case in this table, including small, simple imports where the built-in importer can keep up. As soon as your file comes from a supplier, includes variable products, or needs to run again next month, it becomes the clear choice.
Frequently Asked Questions About Bulk Adding WooCommerce Products
How do I bulk upload variable products in WooCommerce?
Prepare a file with parent and variation rows, then run it through WP All Import. Automatic Setup detects how the variations link to their parents, whether through a Parent SKU column or a shared Group ID, and builds the variable product structure for you before the import runs.
Can I bulk import WooCommerce products from Google Sheets?
Yes. WP All Import imports products straight from a Google Sheets URL with no download or conversion step:
- Create a new import and choose Download from URL as the file source.
- Paste your Google Sheets link and select WooCommerce Products.
- Start the Automatic Setup and let it map the columns.
- Preview every product, then run the import.
For more detail, see the Google Sheets to WooCommerce documentation.
How do I bulk add products in WordPress?
WordPress on its own bulk-adds posts and pages, but product data needs WooCommerce and an import tool. With WP All Import, here are the steps:
- Go to All Import › New Import and click Set up automatically.
- Upload your product file and select WooCommerce Products.
- Let Automatic Setup map every column to the right field for you.
- Review the mapping if needed, then run the import.
What file formats can I use to bulk import WooCommerce products?
WP All Import works with CSV, XML, Excel, JSON, TXT, ZIP, GZ, and Google Sheets, up to 256 MB per file:
- Upload or link your file in a new import.
- Select WooCommerce Products as the import type.
- The automatic mapping handles whichever format you chose.

