Export Shopify product images for Amazon, Etsy, or eBay listings

Marketplace listings need actual image files, not links. Amazon, Etsy, and eBay listing tools and feed templates match images to products by SKU or filename, so files named by SKU (TOTE-01-1.jpg) slot straight into a feed while Shopify's CDN names (long strings of numbers and letters) cause mismatches you have to fix by hand. The job is: get every product image out of Shopify as a real file, named by SKU. Here is the free way and the fast way.

Before you start

  1. Export from ShopifyProducts → Export, all or a filtered set
  2. Name by SKUParcel saves each image as SKU-1, SKU-2…
  3. Cross-checkmanifest.csv against your marketplace feed
  4. UploadTo the marketplace’s listing tool or feed
From Shopify to files a listing tool can match.

The free manual method

Shopify's product CSV already has the two columns you need: Variant SKU for the names and Image Src for the image links. The work is joining them.

  1. In Shopify admin, go to Products, click Export, and export your products as a CSV.
  2. Bulk-download the images from the Image Src column with a free browser extension or a script. They arrive with CDN-generated names.
  3. Build the mapping: match each downloaded file to its product using the CSV, so you know which SKU each file belongs to. A spreadsheet VLOOKUP on the image URL gets you there.
  4. Rename every file to its SKU with a bulk-rename utility or a short script.
  5. Upload the renamed files to your marketplace listings or feed.

For a small catalog this is manageable. For hundreds of products it is slow and error-prone: one misaligned row in the mapping renames every file after it, and a wrong image on a live Amazon listing is the kind of mistake customers screenshot.

Free method

Downloads/

  • tote-front.jpg
  • tote-back.jpg
  • IMG_2210.png
  • mug_final_v2.jpg
  • …

Named however they were uploaded. A feed can’t tell which product each file belongs to.

Parcel

parcel-1a2b3c4d.zip

  • TOTE-01-1.jpg
  • TOTE-01-2.jpg
  • TOTE-01-3.png
  • MUG-01-1.jpg
  • manifest.csv

With Single folder chosen: every file named by SKU and image order, ready to match to listings.

Cross-check against your feed

Before uploading, compare Parcel’s manifest.csv with your marketplace feed or listing export. Every product in the feed should have its files, in the order you want them shown. Variants that share their product’s photos have no files of their own: use the product’s files for them.

manifest.csv
product_titlehandlesku1image_position2original_urlfilename3alt_text
Canvas Totecanvas-toteTOTE-011https://cdn.shopify.com/s/files/1/…/tote-front.jpg?v=…TOTE-01-1.jpgCanvas tote, front
Canvas Totecanvas-toteTOTE-012https://cdn.shopify.com/s/files/1/…/tote-back.jpg?v=…TOTE-01-2.jpg
Trail Mugtrail-mugMUG-011https://cdn.shopify.com/s/files/1/…/mug-1.jpg?v=…MUG-01-1.jpgGreen mug on a desk

Columns without a note are left out here; your file has them too.

  1. sku is the code to look up in your feed. A SKU with no row here either shares its product’s photos, as variants often do, or has no image yet.
  2. image_position comes from Shopify’s CSV: position 1 is usually the main image. A variant photo with no position in Shopify gets Parcel’s own number here, so open its original_url to see which photo it is.
  3. filename is the file to attach to that listing.

The faster way: Parcel

Parcel (parcelexport.com) takes the same product CSV and returns one ZIP with the naming done:

Nothing is installed on your store and no store access is needed. Your CSV is parsed in your browser, and images are downloaded as originals with no resizing.

What it costs

Pricing is one-time, not a subscription. Up to 25 products is free. Larger exports are $9 (26 to 250 products), $19 (251 to 1,000), or $39 (over 1,000). Files are kept for 24 hours after your export is ready.

One payment per export, no subscription. A free export can carry up to 300 MB of images; a paid one up to 1 GB.
What fits in one Parcel export

Files stay available for 24 hours after the export is ready.

One timing note

If you are pulling images as part of closing products or leaving Shopify, run the export first. Once products are deleted, the image links in the CSV stop working and there is nothing left to download.

If something goes wrong

The marketplace rejects some files
Parcel keeps each image in its original format and size. Check the marketplace’s current rules for your category and convert or replace the files it lists; WebP and AVIF are the usual suspects.
A listing got the wrong photos
Look the file up in manifest.csv: its row shows the product, SKU and original link. If two Shopify products share a SKU, fix the duplicate in Shopify and export again.
Some files are named by handle, not SKU
Those products have no SKU in Shopify. Add the SKUs your listings use and export again.
A SKU in my feed has no file
Often it is a variant that shares its product’s photos: those files are named after the SKU on their own row, or the product’s first SKU, so use the same files for the other variants’ listings. Otherwise its image link was skipped (not HTTPS, or not on cdn.shopify.com; counted on screen before the export, so save it by hand), it failed to download (see failed-downloads.csv), or the product had no image link in the CSV.

Questions

Can I use Shopify image links directly in a marketplace feed?

Some feeds accept image links, but the links stop working if the product is deleted from Shopify, and many listing tools want files. Downloading the files gives you a copy that doesn’t depend on your Shopify store.

Does Parcel resize images for Amazon, Etsy or eBay?

No. Parcel saves each image exactly as Shopify serves it. Marketplace size and format rules differ by marketplace and category, so check them and resize or convert where needed.

Can I get all files in one folder?

Yes. Choose Single folder under Organization. Files that would have the same name are kept apart with -2, -3 and so on.

Which image is the main one?

Parcel numbers images in Shopify’s order, so SKU-1 is usually the main image. A variant photo with no position in Shopify comes first and gets Parcel’s own number, so if it matters, open the original_url in the manifest to see which photo each file is.

Does Parcel upload anything to the marketplace?

No. Parcel never connects to Shopify or to any marketplace. You download one ZIP and upload the files yourself.

Pack your first export