Skip to content
CatalogImport Fix

Image import troubleshooting

WooCommerce CSV images not importing? Check one row first.

Trace the saved image value, the import mapping, and the store’s access to the image before changing a whole catalog.

Reviewed 10 October 2026Core importer · Image fields

If a WooCommerce CSV creates the right products but leaves their pictures missing, separate three questions: did the file preserve the image value, did the importer map that value, and could the store retrieve the image? Changing every URL before answering those questions can hide the original problem. Start with one affected product and keep the exact importer result alongside its saved CSV row.

Scope: this guide covers the built-in WooCommerce product importer. A supplier feed plugin or image-gallery extension may have its own format. Our free checker reviews the CSV on your device; it does not fetch image URLs, inspect your Media Library, or test your server's access to a remote host.

Choose the next check from the symptom

A decision table for missing imported images
What you seeWhat to compareA useful next test
The product imports with no pictureThe saved row's Images value and its mapping on the import screen.Confirm the column maps to Images, then test the single affected row.
The importer reports an unusable imageThe URL or filename in the result against the original cell.Find whether the value changed during CSV export before changing its destination.
The URL opens a login or share pageThe page address versus the direct image address.Request a downloadable image URL from the supplier or upload the image through the Media Library.
The image opens in your browser, but import failsYour browser's access versus the store server's request.Ask the host or supplier to examine the failed request; browser success alone does not prove server access.
A local filename produces a placeholderThe filename against the image's actual Media Library entry.Open that entry and compare spelling; a file copied to a server folder is a different starting point.
The gallery order is wrongThe order of values inside the Images cell.Review the first value and test the product's main picture and gallery separately.

Preserve one Images field in the saved CSV

For the core schema, the Images column can contain comma-separated image values; the first is the featured image. CSV quotation marks keep that list inside a single field. Here is an illustrative row with two remote pictures:

Type,SKU,Name,Published,Images
simple,EXAMPLE-IMAGE-001,Image format example,-1,"https://images.example.com/front.jpg, https://images.example.com/side.jpg"

The example addresses are placeholders and do not provide product images. Replace them with your own reviewed values, and replace the example SKU before a test. This is a syntax example, not a complete product template. For a downloadable simple-product file, use the draft CSV starter and add the Images column deliberately.

After saving, inspect the actual text. The two addresses should still share one cell, with straight quotation marks around the whole list. If the spreadsheet preview shows additional columns after Images, trace the CSV quoting first. Avoid copying a pipe-separated example from an extension into a core-import file.

Choose a source the store can use

WooCommerce can download an external image into its Media Library, or reference a filename already present there. A supplier's share link may return HTML, require a session, or be inaccessible to your store. The core CSV importer also does not set product-image alt text; review that separately after import.

For each image in the test row, record the source type rather than treating every value as the same kind of address:

  • Remote URL: ask the supplier for the direct file link and permission to use it. Open it without a signed-in supplier session as one preliminary check.
  • Existing Media Library filename: open the attachment in WordPress and compare the filename character by character with the CSV value.
  • File on a server folder: confirm how that file will become a recognized media item before assuming a bare filename can attach it.

If the remote source fails while the same image uploaded through WordPress succeeds, you have narrowed the investigation to retrieval. Preserve the original source URL and import message for the host; repeatedly importing the whole catalog adds work without explaining that difference. If both fail, compare the small test's mapping and file values before expanding the diagnosis.

Run a one-product staging test

  1. Keep the original CSV and an untouched copy of the affected row. Back up the store and use staging where possible.
  2. For a new test product, choose an unused, intentional test SKU and keep Published at -1. For an existing product, export its row first and preserve its actual matching identifier.
  3. Use one reviewed image value first. Inspect the saved CSV, then open Products → Import and check every mapped field.
  4. Choose the create or update mode for your test. Avoid mapping unrelated blank fields when investigating a picture on an existing product.
  5. Save the import result. Open the draft or updated product and confirm which picture appears, then inspect the corresponding Media Library item.
  6. Only after that succeeds, add the second image value and repeat the small test. Check the main picture and gallery order against your intended list.

Keep a short test record

Record the product SKU, source type, exact image value, mapped field, import message, and displayed result. A before-and-after pair from one product gives a manual reviewer something concrete to investigate.

Use the CSV checker for the file-level part

Run the saved CSV through the free checker to look for structural issues and other product-data warnings. Its missing-image warning can help locate an empty field. A clean report does not confirm a URL is reachable or that a gallery will import correctly.

If the remaining issue involves supplier access or existing store records, prepare a scoped help request with a redacted row and the exact import result. Remove private access tokens from example URLs. For mixed supplier files, the supplier spreadsheet guide helps keep the mapping decisions organized; for taxonomy fields, see the category and comma examples.

References: WooCommerce core product CSV importer documentation and the official CSV schema. These examples concern the built-in importer; an extension may use different fields or separators. Review the documentation for your installed version.