Bulk product images: native Shopify CSV import or an app?

If your product photos are already online, Shopify’s native CSV importer can attach them in bulk - one image URL per row, up to 250 images per product. A bulk uploader app is for the other case: the photos are still local files, you do not want to build CSV rows, and you want to review what will be matched before anything is uploaded.

What the native CSV route does

From Shopify’s own documentation on Using CSV files to import and export products:

  • You can use only image URLs in CSV files - the images must be publicly accessible over https:// with no password protection. Local files must first be uploaded to Shopify (Content > Files) or another image host.
  • Each additional image needs its own row: copy the product’s URL handle, then paste the image URL into the Product image URL column.
  • You can add up to 250 images to a product, and there are Image alt text columns for each one.
  • 3D models and videos are not supported through CSV.

Two caveats worth knowing: importing an image that lives in your Shopify Files area re-downloads and duplicates it; and if you delete products or images after exporting a CSV, re-importing that file fails unless you update the URLs.

What a bulk uploader app adds

  • Local files, not URLs - you work with the photos on your computer instead of first hosting them and copying URLs.
  • Filename matching to product SKU, product ID, or handle, with an order position, so you prepare files once and reuse the pattern.
  • A match review before upload - you see which file is going to which product and can correct it before anything changes, rather than reviewing the result after an import.
  • Optional SKU-based variant image assignment (Shopify allows one image per variant).

Limitations to keep in mind (both routes)

  • 250 media items per product is a Shopify platform ceiling - no tool bypasses it.
  • Variant behavior deserves testing on products with large variant sets before a full run; do not assume complete variant coverage without it.
  • Treat overwrite as a controlled operation: test it on a small batch first. For a one-off fix, the native product editor or a simple CSV may be the safer route.
  • The uploader attaches images to existing products; it does not create products the way a CSV import can.

Who should choose which

  • Native CSV - your images are already hosted, you are comfortable editing a spreadsheet, and you may also want to create products or update other fields in the same import.
  • Uploader app - your photos are local files, you want a visual match review before upload, and you would rather not build a row per image.

Related guides

Start with the task hub bulk product image upload, the platform guide bulk upload Shopify product images by SKU, or the BL Bulk Product Image Uploader product page.

Scroll to Top