Skip to content
GuidesBulk upload

How to Bulk Upload Product Images to Shopify: 3 Methods Compared

Compare 3 ways to bulk upload product images to Shopify: the admin, a CSV with image URLs, and automatic matching from Google Drive or Dropbox.

By Craftshift Team · · 4 min read

You can bulk upload product images to Shopify in three ways: drag them into each product in the admin, import a product CSV that points to image URLs, or use an app that matches image files to products by SKU and uploads them for you. For more than a few dozen products, matching by file name is by far the fastest and least error-prone.

Method 1: Upload in the Shopify admin

In Products → [product] → Media, you can drag several images at once into one product.

Good for: a handful of products, or a one-off photo refresh.

Limitations:

  • One product at a time: 1,000 products means 1,000 visits to the product page.
  • Variant images must be assigned by hand.
  • Alt text has to be typed image by image.

Method 2: Product CSV with image URLs

Shopify’s product CSV has an Image Src column (plus Image Position, Image Alt Text and Variant Image). Shopify downloads each image from the URL during the import.

Good for: catalogs whose images are already hosted at public URLs, for example a supplier feed or a migration from another platform.

Limitations:

  • Images must be at public, direct URLs. Files on your computer don’t work, and Google Drive or Dropbox share links usually point to a preview page, not the image file.
  • You have to build the CSV: one row per image, with the right handle, position and variant image, which is easy to get wrong across thousands of rows.
  • There is no preview: you find mistakes after the import.

Method 3: Match image files to products automatically

With an app like Smart Bulk Image Upload, you put your images in a Google Drive or Dropbox folder, name each file after the product’s SKU (or barcode, title, metafield or variant ID), and the app does the pairing.

AB-1234.jpg     → SKU AB-1234, 1st image (variant image)
AB-1234_1.jpg   → SKU AB-1234, 2nd image
AB-1234_2.jpg   → SKU AB-1234, 3rd image

Good for: any catalog where photos are named (or can be named) after an identifier you already have. That covers most product photography workflows.

Why it scales:

  • Preview first. Matching is read-only. You see every image next to its variant, position and alt text, plus a list of everything that didn’t match, before your store changes.
  • Variant images and order are automatic. The _1, _2 suffixes set the gallery order, and the first image of each variant becomes its variant image.
  • Alt text is written for you from the product and variant title.
  • Oversized images are resized to fit Shopify’s 20 MB / 20 megapixel limits.
  • Built for volume. Merchants have used it for catalogs of 40,000–60,000 SKUs; jobs run in the background and resume after a restart.

Which method should you choose?

Your situationBest method
Fewer than ~20 productsShopify admin
Images already at public URLs, plus a CSV workflowProduct CSV
Photos in folders, named (or nameable) after SKUs or barcodesAutomatic matching
Inconsistent file namesAutomatic matching with “contains” or AI matching
Replacing old photos across the catalogAutomatic matching with replace mode

Step by step: bulk upload with Smart Bulk Image Upload

  1. Install Smart Bulk Image Upload. The free plan includes 25 images.
  2. Put your images in one folder in Google Drive or Dropbox, named after the SKU: SKU.jpg, SKU_1.jpg, SKU_2.jpg.
  3. Connect your account in the app and select the folder.
  4. Choose a matching type: start with Match by exact SKU.
  5. Choose whether to replace existing images. Keep Don’t replace for your first run.
  6. Review the preview. Fix anything in the non-matched list (usually a typo or a trailing space in a file name).
  7. Press Start upload and follow the live log. You’ll get the same log by email.

For the details, read How to name your image files and Matching options.

Common mistakes to avoid

  • Duplicate SKUs. If two variants share a SKU, only the first keeps the image by default. Check your catalog for duplicates first.
  • Trailing spaces in file names. AB-1234 .jpg won’t match AB-1234.
  • Re-running a folder without replace mode. It adds the images again. Use replace mode when re-running.
  • Huge originals. 30-megapixel files only slow the job down; 2048–4096 px on the longest edge is plenty.

Summary

For a small store, the Shopify admin is fine. For anything bigger, naming files after SKUs and letting an app match them is the fastest path, and the preview means you see every result before your store changes. Start with 25 free images.

Keep reading

Try it on your own catalog

Matching is free and read-only. See exactly where every image would go before you upload anything.