Shopify product import — multi-image rows

"Only the first image imported, extra images are missing" — multi-image row structure

Your product landed with one photo, and the rest never showed up — no error, no warning email. This almost always comes down to how the extra image URLs were placed in the spreadsheet. Shopify's CSV wants one image per row, not several stacked into one cell or column. Drop your file in below to see which products are missing their image rows.

import-shopify-products · xlsx-for-ai

What actually happened to your images

Shopify's product import CSV has a single Image Src column, and it accepts exactly one image URL per row. The first image imports fine because it rides along on the product's main row — the same row that carries Title, Vendor, Type, and the first variant. Every additional photo needs its own row underneath, with the same Handle as the product and almost every other column left blank — Title, Body (HTML), Vendor and the rest only need values on that first row.

If the extra image URLs never got their own rows — because they were typed into the same cell separated by commas, or added in extra columns like Image Src 2 and Image Src 3 that Shopify's importer doesn't recognize — the importer sees one valid image and nothing else to do with the rest of that cell's text.

Why this doesn't throw an error

Shopify validates that Image Src is either blank or looks like a single reachable URL. A comma-separated string of three URLs technically still "looks like" a URL up to the first comma, or fails silently as an unreachable link and gets skipped — either way, nothing in the import summary tells you a product was supposed to have four photos and got one. The product itself imports as a success.

How to structure multi-image rows correctly

For a product with three photos, your CSV needs three rows that share one Handle:

blue-mug, Blue Mug, ..., Image Src: mug-front.jpg
blue-mug, (blank), (blank)..., Image Src: mug-side.jpg
blue-mug, (blank), (blank)..., Image Src: mug-back.jpg

The optional Image Position column controls display order if you need it to differ from row order. Upload your file above and the checker will flag any Handle that has more image URLs bundled into one cell than it has actual image rows, so you know exactly which products need extra rows added before you import again.

More Convert a product spreadsheet to a Shopify import CSV — free. guides

← All Convert a product spreadsheet to a Shopify import CSV — free. guides