---
title: "How to Import WooCommerce Products With Images (2 Methods)"
description: "Bulk import WooCommerce products with images via CSV using built-in importer or WebToffee plugin for variable products and gallery images."
author: "Sachin Krishna"
published_date: 2024-08-30
modified_date: 2026-05-19
canonical_url: "https://www.webtoffee.com/blog/import-woocommerce-products-with-images/"
source: "https://www.webtoffee.com"
reading_time: 20 min
word_count: 3872
featured_image: "https://www.webtoffee.com/wp-content/uploads/2024/08/How-to-Import-WooCommerce-Products-with-Images_.png"
categories:
  - "Blogs"
  - "Data Migration"
tags:
  - "Product import"
  - "woocommerce"
  - "WooCommerce product import"
---

## Summary

Bulk import WooCommerce products with images via CSV using built-in importer or WebToffee plugin for variable products and gallery images.

# How to Import WooCommerce Products With Images (2 Methods)

You can import WooCommerce products with images using WooCommerce’s built-in CSV importer or a dedicated plugin like WebToffee’s Product Import Export. This guide covers both.

The right method depends on your catalog size, product type, and image setup. WooCommerce’s built-in importer works well for small, simple imports. WebToffee’s plugin is better suited for large catalogs, gallery images, variation images, external image URLs, scheduled imports, image-only updates, and store migrations.

By the end of this guide, you’ll know how to prepare your product CSV, format image URLs correctly, import featured and gallery images, update only product images, handle large catalogs, and troubleshoot common WooCommerce image import issues.

    
        📌
        

Key Takeaways:

- Importing products and their images is key when migrating a store to a new platform or updating existing products. 

- WebToffee’s Product Import for WooCommerce plugin makes importing products and associated images hassle-free, saving time and reducing errors. 

    
    

## What You Need Before You Start


Before running any import, make sure you have the following in place. Skipping these steps is the most common reason images fail to appear after import.

### 1. A Properly Formatted CSV File


Your CSV needs at a minimum these columns:



The images column does double duty — the first URL becomes the featured image, and every additional URL separated by a pipe character (|) becomes a gallery image. There should be no spaces around the pipe.

### 2. Images Must Be Hosted at a Public URL


WooCommerce imports images by fetching them from a URL during import — it cannot pull images from your local computer or a password-protected location. Before you run the import, paste each image URL into a browser tab. If the image loads directly, it will import correctly. If the page redirects, shows a login screen, or prompts a download dialog, it won’t work.

Common URL problems and fixes:



### 3. Understand How Woocommerce Maps Image Types


WooCommerce uses three distinct image types, each stored in the WordPress Media Library and linked to products via internal IDs. Getting these mapped correctly in your CSV is what separates a clean import from one where thumbnails go missing, or galleries don’t attach.



    
         
        

Note: If you only have one image per product, just put a single URL in the images column with nothing else. The pipe separator is only needed when a product has more than one image.

    
    

Once you have your CSV ready and your image URLs verified, you’re ready to import. Choose your method below.

## Method 1 – Import WooCommerce Products with Images (Using WooCommerce’s Built-In Importer)


WooCommerce’s built-in importer lets you upload products with images directly from a CSV file — no plugin required. It works well for small catalogs with simple product types and straightforward image requirements. If you have fewer than 50 products, no variation images, and all your image URLs are publicly accessible, this method will get the job done.

### Step 1: Open the WooCommerce Importer



- Log in to your WordPress admin dashboard and go to Products > All Products. 

- Click the Import button at the top of the page.



![WooCommerce built-in importer ](https://www.webtoffee.com/wp-content/uploads/2024/08/woo-built-in-importer-import-option-scaled.png)


### Step 2: Upload Your CSV File



- On the Import Products screen, click Choose File, then select your prepared CSV file. 

- Leave the Update existing products checkbox unchecked unless you’re overwriting products already in your store. If you’re doing a fresh import, leave it off.

- Click Continue. 




![Upload CSV file to WooCommerce importer](https://www.webtoffee.com/wp-content/uploads/2024/08/import-products-built-in-importer.png)



### Step 3: Map Columns


WooCommerce will display a column mapping table. Most standard columns, like name, SKU, and price, will be detected automatically. The images field is where most imports go wrong.

Find the row for your images column and confirm it is mapped to Images in the WooCommerce field dropdown — not to any other field. If WooCommerce hasn’t detected it automatically, set it manually using the dropdown.


![Map CSV fields against product fields](https://www.webtoffee.com/wp-content/uploads/2024/08/map-csv-fields-with-built-in-woo-importer.png)



What WooCommerce does with your image URLs at this stage:



    
         
        

Important: For the native WooCommerce importer, separate multiple image URLs with commas, not pipes. Use pipes only when importing with WebToffee Product Import Export.

    
    

    
         
        

Important: WooCommerce does not give you a preview of how images will be assigned before you run the import. Double-check your images column in the CSV before this step. Fixing it after a bad import is more time-consuming than getting it right before.

    
    

### Step 4: Run the Importer


Once you’re satisfied with the column mappings, click Run Importer. WooCommerce will begin processing your CSV row by row, downloading each image URL and attaching it to the corresponding product.

For a small catalog, this typically takes under a minute. For larger files, the page needs to stay open until the progress bar completes. Closing it mid-import will leave your catalog partially imported.

![Running import](https://www.webtoffee.com/wp-content/uploads/2024/08/image-4.png)


When the import finishes, click View Products or go to Products > All Products. Check that:


- Each product shows a thumbnail in the product list

- Opening individual products shows the correct featured image

- Products with multiple images show the full gallery thumbnails



Also, visit your live shop page and click through to a product page to confirm images display correctly for customers, not just in the admin.

### Limitations of the Built-In WooCommerce Importer


The native importer handles straightforward imports well, but you’ll run into its limits quickly in specific situations:



If any of the situations in the right column match your use case, the built-in importer will likely cause you problems. The next section covers how to handle these with the WebToffee plugin.

## Method 2: Import WooCommerce Products With Images Using WebToffee Product Import Export


The WebToffee [Product Import Export for WooCommerce](https://www.webtoffee.com/product/product-import-export-woocommerce/) plugin handles everything the built-in importer can’t – gallery images, variation images, external URLs from Google Drive, large catalogs via batch processing, and scheduled recurring imports. If any of those apply to your store, use this method.

Before starting, make sure you have purchased, installed, and activated the premium version of the WooCommerce Product Importer plugin.

    
        🔎
        

Need help? – Refer to our detailed [installation guide](https://www.webtoffee.com/how-to-download-install-update-woocommerce-plugin/?guide=485249) for more information.

    
    

### Step 1: Choose Product Import Method



- Once installed, go to WebToffee Import Export (Pro) > Import from your WordPress dashboard. 

- Choose Product as the post type and click Select import method.



![Selecting product as post type](https://www.webtoffee.com/wp-content/uploads/2024/08/product-post-type--scaled.png)


Now, select the method for importing WooCommerce products and images. There are two options: Quick import and Advanced import. 



Select Advanced Import. Unless your file was exported directly from this plugin to another site, Advanced Import is the right choice. It lets you handle files from suppliers, other platforms, or spreadsheets you’ve built yourself.

On the next screen, configure three things before proceeding:


- Upload method: Choose from local file, URL, existing file, or FTP/SFTP

- Delimiter: Match this to your CSV. Comma is standard, but some supplier files use semicolons or tabs

- Date format: Set this to match how dates are formatted in your file if your products include sale dates or scheduled visibility



Click Continue to proceed to column mapping.

![Image](https://www.webtoffee.com/wp-content/uploads/2024/08/advanced-import-products-with-images.png)


    
        👉
        

Also Read: [A Complete Guide to WebToffee Import Export: Quick v/s Advanced Import Export](https://www.webtoffee.com/blog/import-export-guide-quick-and-advanced/)

    
    

### Step 2: Map Import Columns


This is the most important step. The mapping screen shows every column in your CSV on the right and every WooCommerce product field on the left. Drag your CSV columns to their corresponding WooCommerce fields.

Since we must import all products and their images, it’s best to skip configuring them and move to the next step. 

![Mapping import columns](https://www.webtoffee.com/wp-content/uploads/2024/08/map-import-columns-product-import.png)


Importing images only (without re-importing full product data): 

If you only want to import product images from the input file, simply uncheck all other product fields and select only the Images/Gallery field. It’s that simple! This lets you quickly update or bulk add product images without re-importing your entire catalog.

![Images/Gallery field mapping](https://www.webtoffee.com/wp-content/uploads/2024/08/images-column-mapping.png)


Next, click the Advanced options/Batch import button to move to the remaining step.

### Step 3: Set up Advanced Options


This is the final step in the import process. Here, you will find several advanced import options that you can apply. 

Let’s examine these options in detail:



![Setting up the final import options for products and images](https://www.webtoffee.com/wp-content/uploads/2024/08/import-woo-products-with-images.png)


    
        💡
        

Quick Tip: Save your current import configurations as a template for next time. This way, you can quickly import your products without setting everything up again!

    
    

You can also schedule the import to happen at a later time using [WordPress or Server Cron jobs](https://www.webtoffee.com/info-library/data-migration/wordpress-cron-and-server-cron/). 

    
        👉
        

Also Read: [How to Schedule Import/Export Tasks for a Seamless WooCommerce Migration](https://www.webtoffee.com/blog/schedule-woocommerce-import-export/)

    
    

After selecting the import options, click the Import button to start the process. 

### Step 4: Verify Your Imported Products and Images


When the import finishes, the plugin displays a summary showing how many products were imported, updated, or skipped, and flags any rows that encountered errors.

![Screen showing a list of successful product import](https://www.webtoffee.com/wp-content/uploads/2024/08/newartprodima77-1.png)


Click View Log for a line-by-line report. If any images failed to import, the log will show which rows were affected and why, typically a URL that couldn’t be fetched or a column that wasn’t mapped correctly.

To confirm the import worked as expected, check three places:


- Products > All Products: Check product listings: You should now see all imported products, each with its corresponding image displayed in the product thumbnail column.

- Preview individual products: Click on a few products to ensure the main product image and gallery images are correctly linked and displaying as expected.

- Live product page: Open your store’s front end to verify that product images appear properly on category and product pages.



![Imported WooCommerce products with images](https://www.webtoffee.com/wp-content/uploads/2024/08/image.png)


That’s it! Your WooCommerce store now has all your products and images perfectly imported and ready to go live!

## Advanced WooCommerce Product Image Import Scenarios


1. Import Images From Google Drive

Google Drive sharing links usually open a preview page, not the raw image file. For imports, you need a direct download URL.

A normal Google Drive share URL looks like this: 

    
         
        

https://drive.google.com/file/d/FILE_ID/view?usp=sharing

    
    

Convert it to: 

    
         
        

https://drive.google.com/uc?export=download&id=FILE_ID

    
    

Replace FILE_ID with the actual file ID from the original URL.

2. Import Images From Dropbox

A standard Dropbox image URL may look like this:

    
         
        

https://www.dropbox.com/s/abc123/product-image.jpg?dl=0

    
    

Change dl=0 to dl=1:

    
         
        

https://www.dropbox.com/s/abc123/product-image.jpg?dl=1

    
    

This forces Dropbox to serve the file directly.

3. Import Product Images by Filename

If your images already exist in the WordPress Media Library, you may be able to match images by filename instead of importing them from external URLs.

Example:

    
         
        

sku,images

BCT-001,blue-shirt-front.jpg|blue-shirt-back.jpg

    
    

This is useful when migrating product data separately from media files.

4. Import Variation Images

Variation images are used when each variation needs its own product image. For example, a T-shirt may show a different image when the customer selects Blue, Red, or Green.

The built-in WooCommerce importer has limited support for advanced variation image handling. For better control, use WebToffee’s plugin.

A variation image CSV may include columns like:

    
         
        

sku,parent_sku,attribute:Color,regular_price,meta:variation_image

BCT-001-BLUE,BCT-001,Blue,29.99,https://example.com/images/blue-shirt.jpg

BCT-001-RED,BCT-001,Red,29.99,https://example.com/images/red-shirt.jpg

    
    

Each variation row should include the image URL for that specific variation.

5. Import Image Alt Text, Title, Caption, and Description

For better image SEO and accessibility, add descriptive image metadata when your import workflow supports it.

Useful metadata includes:


- Image title

- Alt text

- Caption

- Description



Example:

    
         
        

blue-shirt-front.jpg! alt:Blue cotton t-shirt front view! title:Blue Cotton T-Shirt! description:Front product image for blue cotton t-shirt

    
    

Use clear, descriptive alt text that explains the product image naturally. Avoid keyword stuffing.

6. Import Multiple Image Columns

Some supplier files store product images in separate columns, such as:

    
         
        

sku,image_1,image_2,image_3

BCT-001,https://example.com/front.jpg,https://example.com/back.jpg,https://example.com/detail.jpg

    
    

Before import, you can either:


- Combine these columns into one image column using spreadsheet formulas

- Map the columns appropriately if your import plugin supports multiple image fields



For WebToffee imports, the combined image field should use pipe-separated URLs.

7. Export and Re-Import Products With Images During Store Migration

If you are moving products from one WooCommerce store to another, export products with image data from the source store and import them into the destination store.

For large stores, exporting images separately as a ZIP file can help reduce timeout issues and make migration more reliable.

This workflow is useful when:


- Migrating to a new WooCommerce store

- Moving from staging to production

- Rebuilding a store with existing product images

- Preserving product galleries during migration



## Troubleshooting: Why Are WooCommerce Product Images Not Importing?


Image import failures in WooCommerce almost always come down to one of five causes. Each one has a specific fix. Work through the relevant issue below before re-running your import.

1. Images aren’t showing after import

The import completes without errors, but products show a placeholder or no image on the product page and in the admin product list.

Cause: The image URL wasn’t publicly accessible at the time of import. WooCommerce fetches images by sending a request to each URL during the import process. If the URL redirects, requires a login, or returns anything other than the image file directly, WooCommerce silently skips it rather than throwing an error, which is why the import appears to succeed.

Fix:


- Copy one of the image URLs from your CSV and paste it directly into a browser address bar

- If the image loads and displays in the browser, the URL is valid

- If you see a login screen, a redirect to a homepage, a Google Drive viewer, or a download prompt,  the URL will not work for import

- Replace the URL with one that serves the image file directly, then re-import



    
         
        

Note: WooCommerce will not retry failed image URLs after an import. If images are missing after a completed import, you need to correct the URLs in your CSV and run the import again with Update existing products checked.

    
    

2. Dropbox or Google Drive image URLs aren’t working

Images from Dropbox or Google Drive fail to import even though the URLs appear valid and the files are set to public sharing.

Cause: The default sharing URLs for both services point to a viewer page, not the image file itself. WooCommerce receives an HTML page instead of an image and discards it.

Fix for Dropbox: 

Take your standard Dropbox share URL: 

    
         
        

https://www.dropbox.com/s/abc123/product-image.jpg?dl=0

    
    

Change dl=0 to dl=1 at the end. 

    
         
        

https://www.dropbox.com/s/abc123/product-image.jpg?dl=1

    
    

The dl=1 parameter forces Dropbox to serve the raw file instead of the preview page.

Fix for Google Drive:

Take your standard Google Drive share URL: 

    
         
        

https://drive.google.com/file/d/FILE_ID/view?usp=sharing

    
    

Replace it with this direct download format: 

    
         
        

https://drive.google.com/uc?export=download&id=FILE_ID

    
    

Replace FILE_ID with the long string of characters from your original URL — it’s the part between /d/ and /view.

3. Only the first image imports — gallery images are missing

Products import with a featured image, but the gallery is empty even though the images column in your CSV contains multiple URLs.

Cause: The pipe separator between image URLs is either missing, incorrectly formatted, or has spaces around it. WooCommerce and the WebToffee plugin both use the pipe character (|) to identify where one image URL ends and the next begins. Any deviation from the exact format causes everything after the first URL to be ignored.

Fix:

Your images column should look exactly like this: 

    
         
        

https://yoursite.com/product-front.jpg|https://yoursite.com/product-back.jpg|https://yoursite.com/product-detail.jpg

    
    

Common formatting mistakes that break gallery import:



Open your CSV in a plain text editor (not Excel — Excel sometimes adds invisible formatting) to confirm the exact characters in your images column before re-importing.

4. The wrong image is set as the featured image

Products import with images, but the featured image is one of the gallery images, or the gallery contains the image that should be the featured image.

Cause: Either the images column is mapped to the wrong WooCommerce field during import, or the URL order inside the cell is not what you intended.

Fix: 

1. Check the column mapping first:

In the built-in importer, confirm the images column is mapped to Images — not to any custom field or meta field. In the WebToffee plugin, confirm it’s mapped to Images / Gallery, not to a standalone gallery field if one exists.

2. Check URL order in the cell:

The first URL in the images column is always assigned as the featured image. Every URL after the first pipe separator becomes a gallery image. If your featured image is appearing in the gallery, your URLs are in the wrong order in the CSV.

    
         
        

Correct order: https://yoursite.com/FEATURED-image.jpg|https://yoursite.com/gallery-1.jpg|https://yoursite.com/gallery-2.jpg

    
    

Edit your CSV to move the intended featured image URL to the first position in the cell, then re-import with Update existing products enabled.

## Frequently Asked Questions – Importing WooCommerce Products with Images


How do I add product images in a WooCommerce CSV file? Add image URLs to the Images or Gallery column in your CSV file. For multiple images, separate URLs using commas or a pipe symbol, depending on the importer.  Can I import multiple images per WooCommerce product? Yes, WooCommerce and most import plugins support multiple product images. You simply need to include multiple image URLs in the image or gallery column of your import file.  Why are my WooCommerce images not importing? Images may fail to import if the URLs are broken, not publicly accessible, or incorrectly mapped during import. Server restrictions and file permission issues can also cause image import failures.  Is a plugin required to import WooCommerce products with images? No, a plugin is not required for basic imports. However, a product import plugin is recommended for large catalogs, recurring imports, image automation, and advanced field mapping.  Can I import variation images? No, the built-in WooCommerce importer does not support variation images—you need the WebToffee plugin for this. Variation images are assigned per attribute value, so each variation (like a specific color) can display its own image. In your CSV, you must use a separate column called meta:variation_image instead of the main images column, and map it to the Variation Image field during import. Each variation row should include its own image URL in this column, matching that specific attribute combination. The first image in the main images column will still be used as the default featured image before a variation is selected.  Can I import images from a CSV exported by a different plugin or platform? Yes, you can, as long as the CSV includes a column with publicly accessible image URLs. The column name doesn’t have to be images—during import, you can map any column (like product_image or thumbnail_url) to the Images field in WooCommerce or the WebToffee plugin.The key requirement is that the image URLs must be publicly accessible at the time of import. If the images are hosted on another store or platform, that source must be live and able to serve the images during the import process.  Can I import product image alt text? Yes, if your import workflow supports image metadata. Add image title, alt text, caption, and description in the supported format and map the fields correctly during import.  How do I bulk generate image URLs for hundreds of products? If image filenames follow a pattern, use spreadsheet formulas to generate URLs from SKUs or filenames. You can also export Media Library URLs or host images in a public CDN folder and build URLs from the folder path.  

## Wrapping Up 


Running an online store means making occasional changes. Imports play a crucial part in that.  

That’s where the Product Import Export for WooCommerce plugin ticks the right boxes. It is user-friendly, highly compatible, and comes with a high degree of customization to fit your specific data import requirements. 

Whether you handle simple or complex imports, you can complete them quickly and effortlessly with just a few clicks. 

This plugin is your go-to solution for all WooCommerce import needs. 

Did you find this article helpful? We’d love to hear your thoughts. Please don’t forget to share your comments. 

    
        👉
        

Also Read: [How to Export WooCommerce Products with Images](https://www.webtoffee.com/blog/woocommerce-export-products-with-images/)

    
    


