To upload images to WooCommerce products, use WP Sheet Editor to add images one by one, or use its Bulk Edit tool to assign images to hundreds or thousands of products at once, either by uploading the same image to every product, matching image files to products by SKU, or pulling image URLs from a CSV file. If you’re creating brand-new products and adding their images at the same time, import the products first, then match the images by SKU in a second step, as covered in a separate guide linked below. This guide covers every method for adding images to products that already exist in your store, from single uploads to full CSV updates.
You can download the plugin here:
Download WooCommerce Products Spreadsheet Plugin - or - Check the features
Video guide: Bulk upload featured images to WooCommerce products
Quick Summary
| Method | Best for | Requires |
|---|---|---|
| Upload in the spreadsheet | A handful of products you’re already editing | WP Sheet Editor |
| Same image to all missing | Placeholder or default product images | WP Sheet Editor |
| Upload to a filtered group | Products sharing a keyword, category, or attribute | WP Sheet Editor |
| External image URLs | Images hosted off your own server | WP Sheet Editor + FIFU plugin |
| CSV import of image URLs | Updating existing products from an export or spreadsheet | WP Sheet Editor |
| Match by SKU | Image files already named after your SKUs, for products that already exist in your store | WP Sheet Editor |
Table of Contents
Why uploading images one by one doesn’t scale
The default WooCommerce workflow means opening each product, uploading its image, saving, and repeating the process for every single item. On a store with dozens of products this is slow. On a store with hundreds or thousands, it’s not realistic. It’s also easy to attach the wrong image or skip a product by mistake when you’re doing it manually, product by product, especially after switching between browser tabs or losing track of which products you’ve already updated.
WP Sheet Editor replaces that one-by-one process with a spreadsheet view of your entire catalog, plus a Bulk Edit tool that can update thousands of products in a single action. Here’s what the product spreadsheet looks like:

To open it, go to WP Sheet Editor > Edit products in your WordPress admin.
Method 1: Upload images directly in the spreadsheet
This is the fastest option when you only need to update images on a small number of products. Go to the Featured Image column and upload or replace the image directly in the cell.

Tip: to focus only on the products that still need an image, use the Search tool.

Tick Enable advanced filters, then set:
- Field: Featured image
- Operator: =
- Value: leave empty
- Click Run search
Once the filtered list loads, upload the images directly in the spreadsheet, then click Save.

Method 2: Set the same image on every product missing one
If your store shows a placeholder or default image for products that don’t have photos yet, you can apply that image to every product missing one in a single action.
First, open the Search tool from the product spreadsheet.

Tick Enable advanced filters, then set:
- Field: Featured image
- Operator: =
- Value: leave empty
- Click Run search
Once the filtered list loads, showing only products missing a featured image, open the Bulk Edit tool.

In Bulk Edit, set:
- Select the rows that you want to update: Edit all the rows from my current search (including non-visible rows)
- What field do you want to edit: Featured Image
- Select the type of edit: Set value
- Upload the image, or select it from the media library, or paste the file URL (the image must be on your server)
- Click Execute Now

Method 3: Upload images to a filtered group of products
Note. This method is for adding the same image to all the filtered products. If you want to bulk assign each product its own image, go to Method 6.
WP Sheet Editor’s search can combine multiple filters at once, so you can target a specific slice of your catalog, for example every red dress in the Women’s category with 20 units or fewer in stock.
Open the Search tool, tick Enable advanced filters, and enter the filters you need. In this example:
- Keyword: Dress
- Category: Women
- Product color (attribute): Red
- Stock: Equal to or fewer than 20
- Product type: Simple
- Status: Published
- Featured image: Missing
Click Run search.

Once the filtered results load, you have two ways to add the images.
Option A: upload directly in the spreadsheet. Go to the Featured Image column for each product in the filtered list and upload or replace the image in the cell, then click Save.

Option B: apply one image to the whole filtered group with Bulk Edit. Open the Bulk Edit tool and set:
- Select the rows that you want to update: Edit all the rows from my current search (including non-visible rows)
- What field do you want to edit: Featured Image
- Select the type of edit: Set value
- Upload the image, or select it from the media library, or paste the file URL (the image must be on your server)
- Click Execute Now

Method 4: Upload images from external URLs
If your images are hosted somewhere other than your own server, you’ll need the free Featured Image From URL (FIFU) plugin, along with the WP Sheet Editor extension for it. Together, they let you assign featured images from external URLs without hosting the files on your own server.
After installing both, go to Settings > Scan DB to find fields so the FIFU columns appear in your spreadsheet:
- Fifu Image Url: the external image URL
- Fifu Image Alt: alt text for that image

You have two ways to fill these in:
In the spreadsheet: paste the external URLs directly into the Fifu Image Url column, then click Save.

With Bulk Edit:
Note. This method is for adding the same image to all the filtered products. If you want to bulk assign each product its own image, go to Method 6.
Filter your products first if needed, then open Bulk Edit and set:
- What field do you want to edit: Fifu Image Url
- Select the type of edit: Set value
- Paste the external image URL
- Select Edit only parent products.
- Click Execute Now

Method 5: Update image URLs for existing products from a CSV file
If you’re working from a spreadsheet export, or already have a CSV with product IDs and image URLs, you can import that data directly instead of retyping it in WP Sheet Editor.
Your CSV needs at least these columns:
- Product ID
- Featured Image, or Fifu Image Url for external images

Open the Import tool:

Select your CSV file:
- Source: CSV file from my computer
- Click on Choose file and locate the CSV.
- Click on Next.

Map your image column to the right field, either Featured Image for internal URLs or Fifu Image Url for external ones:

Choose Update existing items, ignore new items, and match the Product ID column to the ID field:

Review the preview, then click The preview is fine, start import:

Method 6: Match images to products automatically by SKU
This method works whether your products already exist in your store, or you’re importing them for the first time. It relies on naming each image file exactly the same as the product’s SKU, for example my-shirt-1.jpg for a product with the SKU my-shirt-1.
If your products already exist
Step 1: get a full list of your products’ SKUs so you can name your image files correctly. If you only have a handful of products, you can read the SKU directly from the SKU column in the product spreadsheet under WP Sheet Editor > Edit products. If you have a larger catalog, scrolling through the spreadsheet or opening products one by one to find each SKU isn’t practical. Instead, use the Export tool and include the SKU field. This gives you a single file listing every product’s SKU, which you can use as your naming reference while preparing image files, without moving between products to look up each value individually.

Step 2: name each image file to match its SKU exactly.

Step 3: upload the image files to your WordPress Media Library. Go to Media > Upload, select all the files, and upload them at once. Be mindful of your server’s capacity if you’re uploading a large batch.
Step 4: run the Bulk Edit tool to attach the images by SKU. Set:
- Select the rows that you want to update: Edit all the rows from my current search (including non-visible rows)
- What field do you want to edit: Featured Image
- Select the type of edit: Set value
- File URL:
$_sku$.jpg(use the correct extension for your files) - Select Edit only parent products.
- Click Execute Now
WP Sheet Editor reads the SKU of each product, looks for a file with that exact name among your uploads, and attaches it automatically. No manual matching required.
If you’re importing brand-new products at the same time
If you’re setting up a new store or adding a new batch of products, you can create the products and attach their images together using this same SKU-matching principle, but the steps differ slightly since you’re importing product data and assigning images in two connected stages rather than updating products that already exist. This guide walks through that workflow from start to finish, from preparing the product CSV to running the final Bulk Edit that attaches the images.
Avoid 404 errors when renaming image files
If you rename image files as part of any of these methods, broken links can appear anywhere the old filename was referenced. This tutorial shows how to bulk edit filenames while automatically creating redirects, so you don’t end up with 404 errors.
Bulk uploading variation images
Everything above covers the main product’s featured image. If you need to upload images to product variations specifically, this guide walks through that process step by step.
Which method should you use?
- You’re editing a small batch of products you already have open: Method 1.
- You want one placeholder image on every product missing a photo: Method 2.
- You need to target a specific slice of your catalog: Method 3.
- Your images live on another server or CDN: Method 4.
- You already have a spreadsheet or export with image URLs and product IDs: Method 5.
- Your image files are named after your SKUs and the products already exist: Method 6.
- You’re creating new products and assigning their images at the same time: see the dedicated guide to importing WooCommerce products with images.
Frequently Asked Questions
Does the image filename have to match the SKU exactly?
Yes, for SKU-based matching to work, the filename (excluding the extension) must be identical to the product’s SKU. Extra characters, spaces, or a different case can prevent the match.
Can I bulk upload gallery images, or only the featured image?
The methods above focus on the featured image, since that’s the field most stores need to fill first. WP Sheet Editor can also edit the product gallery field in bulk using the same Bulk Edit tool, by selecting the gallery field instead of Featured Image.
What image formats are supported?
Any standard WordPress-supported format works, including JPG, PNG, and WebP. Just make sure the file extension in your SKU-matching value ($_sku$.jpg, $_sku$.png, and so on) matches the actual file extension.
Will bulk uploading create duplicate images in the Media Library?
No, if you’re referencing an image that’s already uploaded (by URL or by matching an existing file), WordPress attaches the existing file rather than duplicating it. Duplicates would only happen if you manually upload the same file twice.
Can I bulk upload images to product variations too?
Yes, but variations use a separate workflow from the parent product’s featured image.
Is there a limit to how many images I can upload at once?
WP Sheet Editor itself doesn’t impose a hard limit, but very large batches are limited by your server’s upload size, memory, and processing time settings. For very large catalogs, uploading in smaller batches is safer.
You can download the plugin here:
Download WooCommerce Products Spreadsheet Plugin - or - Check the features

