← Blog

How to Bulk Upload Product Images to Shopify by SKU (2026 Guide)

If you've ever launched a new collection on Shopify, you know the pain: dozens — sometimes hundreds — of product photos, and Shopify's admin wants you to open each product and drag images in one at a time. For a 200-product catalog, that's an afternoon gone.

There are faster ways. This guide covers all three real methods for getting product images into Shopify in bulk, with an honest look at when each one makes sense:

  1. Manual upload in the Shopify admin (fine for a handful of products)
  2. CSV import with image URLs (powerful, but more setup than people expect)
  3. ZIP upload matched by SKU (the fastest path for most stores)

Method 1: Manual upload in the Shopify admin

This is the built-in way everyone starts with.

  1. Go to Products in your Shopify admin.
  2. Open a product.
  3. In the Media section, click Add and select images from your computer.
  4. Drag to reorder. The first image is your featured image.
  5. Save. Repeat for the next product.

When this is fine: You're adding 1–10 products, or fixing images on a single listing.

When it falls apart: Anything beyond ~15 products. There's no batching — every product is a fresh round of clicking, uploading, and reordering. It also doesn't scale when you re-shoot a whole catalog for a new season.

Method 2: CSV import with image URLs

Shopify's CSV importer can attach images during a product import. This is the method most "bulk upload" tutorials point you to — but there's a catch most of them gloss over.

  1. Export your products to CSV (Products → Export), or start from Shopify's product CSV template.
  2. In the Image Src column, paste the public URL of each image.
  3. For multiple images on one product, repeat the product's Handle on a new row and add the next image URL.
  4. Use the Image Position column to control order (1 = main image, 2 = second, and so on).
  5. Import the file (Products → Import).

The catch — the part nobody mentions up front: the Image Src column needs a publicly accessible, direct HTTPS URL for every single image. Shopify will not accept:

So before you can use CSV import, you first have to host every image somewhere public — a CDN, an S3 bucket, your own server — and then copy each direct link into the spreadsheet. For a few hundred images, getting and pasting those URLs is its own multi-hour job. You've just moved the manual work upstream.

When CSV makes sense: Your images are already hosted at public URLs (for example, you're migrating from another platform that exposes direct image links), and you're comfortable editing spreadsheets carefully — a single misaligned row or a private URL will throw import errors.

When it doesn't: Your photos are sitting in a folder on your computer, named by SKU, like a normal photoshoot delivery. Hosting them publicly just to reference them is a lot of friction for a one-time upload.

Method 3: ZIP upload matched by SKU (the fast path)

This is the method built for the most common real-world situation: you have a folder of product photos named by SKU, and you just want them on the right products.

  1. Name your image files to match your product SKUs — e.g. TSHIRT-001.jpg, MUG-RED.jpg. (Or organize them in folders named by SKU.)
  2. Zip the folder.
  3. Upload the ZIP. The tool reads the names, matches each image to the right product or variant, and uploads them — no spreadsheets, no public URLs, no clicking through products.

This is exactly what Bulk Image Upload by SyncFlow does. It matches images to products using a four-stage waterfall so it works with however your files happen to be named:

  1. Folder name → SKU or barcode
  2. Folder name → exact product title
  3. Filename → SKU or barcode
  4. Filename with suffix stripping (so SKU-123_1.jpg, SKU-123_2.jpg all match SKU-123 and upload as multiple images)

Before anything is uploaded, it shows you a scan report of what matched and what didn't, so you can fix naming and re-run before committing — no surprises on your live store.

When this makes sense: Almost any time your images are named or foldered by SKU — new collection launches, re-shoots, ongoing additions, or a first-time bulk load.

Cost: There's a free tier (50 images/month), a one-time credit pack, and an unlimited plan, so you can test it on a real batch before paying anything.

Which method should you use?

SituationBest method
Fixing 1–10 productsManual admin upload
Images already hosted at public URLs (e.g. platform migration)CSV import
A folder of photos named/foldered by SKUZIP upload by SKU
New collection launch / catalog re-shootZIP upload by SKU
You need precise per-row control and don't mind spreadsheetsCSV import

For most stores, the photos arrive from a photographer as files named by SKU. That's the case the ZIP method was made for, and it's why it's the fastest option for everyday use.

Tips for naming your image files

FAQ

Can I bulk upload images to Shopify without a CSV file?
Yes. The manual admin method works for a few products, and a ZIP-by-SKU app lets you upload a whole batch at once without touching a spreadsheet or hosting images publicly.

Why won't Shopify accept my Google Drive image links in a CSV?
Shopify's CSV importer only accepts direct, public HTTPS image URLs. Google Drive and Dropbox share links are not direct file links and require access permissions, so they're rejected. You'd need to host the images on a public CDN or server first.

How do I control the order of product images in bulk?
In CSV, use the Image Position column (1 is the featured image). With ZIP-by-SKU naming, add a numeric prefix or suffix — 1_SKU.jpg, 2_SKU.jpg — to set the order.

How do I assign an image to a specific variant?
Name the file with the variant value (SKU-RED.jpg) or place it in a variant-named folder (SKU/RED/). Variant-aware uploaders will match it to the correct variant.

What's the fastest way to upload images for a new collection?
Name your photos by SKU, zip the folder, and use a ZIP upload tool that matches by SKU. It skips both the per-product clicking and the CSV-URL setup.


Have a folder of product photos ready to go? You can try Bulk Image Upload by SyncFlow free — zip your images, upload, and let it match them to your products by SKU.