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
- Your Shopify products have the same SKUs your marketplace listings use.
- You’ve checked the marketplace’s current image rules (formats, sizes, main-image rules) for your category.
- You know whether the marketplace tool wants every file in one folder or a folder per product.
- Selling on Amazon? Amazon’s bulk upload names files by barcode, not SKU: use the Amazon image pack instead.
- Export from ShopifyProducts → Export, all or a filtered set
- Name by SKUParcel saves each image as
SKU-1,SKU-2… - Cross-check
manifest.csvagainst your marketplace feed - UploadTo the marketplace’s listing tool or feed
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.
- In Shopify admin, go to Products, click Export, and export your products as a CSV.
- Bulk-download the images from the Image Src column with a free browser extension or a script. They arrive with CDN-generated names.
- 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.
- Rename every file to its SKU with a bulk-rename utility or a short script.
- 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.
| product_title | handle | sku1 | image_position2 | original_url | filename3 | alt_text |
|---|---|---|---|---|---|---|
| Canvas Tote | canvas-tote | TOTE-01 | 1 | https://cdn.shopify.com/s/files/1/…/tote-front.jpg?v=… | TOTE-01-1.jpg | Canvas tote, front |
| Canvas Tote | canvas-tote | TOTE-01 | 2 | https://cdn.shopify.com/s/files/1/…/tote-back.jpg?v=… | TOTE-01-2.jpg | |
| Trail Mug | trail-mug | MUG-01 | 1 | https://cdn.shopify.com/s/files/1/…/mug-1.jpg?v=… | MUG-01-1.jpg | Green mug on a desk |
Columns without a note are left out here; your file has them too.
- 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.
- 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_urlto see which photo it is. - 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:
- Files named by SKU automatically (products without a SKU fall back to the product handle)
- One folder per product, so multi-image products stay together, or a single folder if your listing tool prefers it
- A manifest spreadsheet listing every image with its link, SKU, and alt text, which you can cross-check against your marketplace feed
- A failed-downloads report for any image that could not be fetched
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.
- 10,000images per export
- 20 MBlargest single image
- 300 MBof images, free export
- 1 GBof images, paid 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 (seefailed-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.