Shopify Bulk Image CSV Builder
Turn a SKU and image-URL sheet into Shopify's image import rows.
Handle is safest for existing products. Title or SKU only work if that turns out to equal the product's real handle.
Use {title} and {sku} as placeholders.
How it works
Shopify adds images to a product through Product image URL rows that share the product's Handle, with an Image position for ordering. This tool reads any column with "Image" in its name (one, or several like Image 1, Image 2) and builds those rows.
If your sheet has a SKU column, the first image for each SKU is also set as that variant's image.
Importing the result
- 01
Match by Handle when you can
It's the only reliable way to attach images to an existing product. Title or SKU matching is a guess unless it happens to equal the real handle.
- 02
Go to Products → Import
Upload the file with "Overwrite products with matching handles" checked.
- 03
Check image order
Position 1 becomes the product's main image.
Questions people ask
Do the image URLs need to be public?
Yes. Shopify downloads each image from the URL you give it, so it has to be reachable on the open web, not a file on your computer.
Can I set custom alt text per image?
Use {title} and {sku} placeholders in the alt text field; per-row custom text isn't supported yet.
What if a product already has images?
New rows are added at the next position; they don't remove existing images.
Does this work for variant-specific images?
It sets the Variant image URL for a SKU's first image if your file has a SKU column, in addition to the shared product image.
Related tools
Last reviewed 30 September 2026.
Sources: Shopify Help Center: Using CSV files to import and export products
