Export Shopify product images named by SKU

File names matter when images leave Shopify. A warehouse system, a marketplace feed, or a designer receiving your catalog all work better with files named by SKU (TOTE-01-1.jpg) than with Shopify's CDN names (long strings of numbers and letters). Here is how to get SKU-named image files, the free way and the fast way.

Before you start

  1. Variant SKUThe SKU on the image’s row, else the product’s first
  2. Image orderEach image’s place among the product’s photos
  3. Parcel joins themSKU, a dash, the number, the file’s own type
  4. FH-2001-2.pngIn the product’s folder, or one shared folder
How a Shopify row becomes a SKU-named file.

Which SKU each image gets

Each image is named after the SKU on its own row. Rows that only add an extra photo have no SKU, so those images use the product’s first SKU. An image on a variant’s row, in Image Src or the Variant Image column, carries that variant’s SKU, so a size or colour photo gets the code your warehouse uses for it.

products_export.csv
HandleVariant SKU1Option1 ValueImage Src2Image Position3Variant Image4
linen-apron-sageFH-2001Shttps://cdn.shopify.com/s/files/1/…/apron-front.png?v=…1
linen-apron-sagehttps://cdn.shopify.com/s/files/1/…/apron-back.jpg?v=…2
linen-apron-sageFH-2001-LLhttps://cdn.shopify.com/s/files/1/…/apron-large.jpg?v=…

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

  1. Variant SKU: the first row’s FH-2001 names its own image and the extra-photo row below it, which has no SKU: FH-2001-2.png, FH-2001-3.jpg.
  2. Image Src holds the product’s own photos, the front and back of the apron here.
  3. Image Position sets the number. A variant photo with no position comes first, so -1 is usually, but not always, the main image.
  4. Variant Image belongs to the large size, so it is named with that variant’s SKU: FH-2001-L-1.jpg.

The free manual method

Shopify's product CSV already contains everything you need: the Variant SKU column has your SKUs and the Image Src column has the image links. The work is joining the two.

  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 using a free browser extension or script. The files arrive with CDN-generated names.
  3. Build the mapping: match each downloaded file back 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. A bulk-rename utility (or a short script) can apply the names from your spreadsheet in one pass.

For a small catalog this is manageable. For hundreds of products with multiple images each, the matching and renaming is slow and error-prone: one misaligned row renames every file after it.

Free method

Downloads/

  • apron-front.png
  • apron-back.jpg
  • apron-detail.webp
  • apron-large.jpg
  • …

Named however the photos were uploaded. You look up every SKU yourself.

Parcel

parcel-1a2b3c4d.zip

  • linen-apron-sage/
    • FH-2001-L-1.jpg
    • FH-2001-2.png
    • FH-2001-3.jpg
    • FH-2001-4.webp
  • manifest.csv

Every file named by SKU and image order. The manifest maps each new name back to its original link.

The faster way: Parcel

Parcel (parcelexport.com) does the whole thing in one step. Upload the same product CSV and you get one ZIP with:

In the exporter, set Filename to SKU (handle if missing) and Organization to Folder per product or Single folder. You can also keep the Product handle or the Original filename instead.

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

Up to 25 products is free; larger exports are a one-time $9 (26 to 250 products), $19 (251 to 1,000), or $39 (over 1,000). No subscription. Files are kept for 24 hours after the 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 renaming images as part of deleting products or closing a store, run the export first. Once products are deleted, the image links in the CSV stop working.

If something goes wrong

Some files are named by handle
Those products have no SKU in the CSV. Add SKUs in Shopify and export again, or keep the handle names.
Two products share a SKU
With Folder per product, each keeps its name in its own folder. In a Single folder, the second file gets -2 added so nothing is overwritten. Fixing the duplicate SKU in Shopify is the cleaner answer.
A number is missing, such as -1
The numbers follow the product’s image order. If an image could not be downloaded, its number is skipped rather than reused; check failed-downloads.csv.
The files have different extensions
Each file keeps its own format (JPEG, PNG, WebP, GIF or AVIF). Parcel never converts or re-compresses images.

Questions

Can Shopify name image files by SKU?

No. Shopify keeps the name each image was uploaded with. To get SKU names you rename the files after downloading them, by hand or with Parcel.

What does the number after the SKU mean?

It is the image’s place in the product’s image order: -1 for the first, -2 for the second, and so on. A variant photo with no position comes first, so -1 is usually the main image but not always.

Which SKU does each image get?

The SKU on the image’s own row in the CSV. Rows that only add an extra photo have none, so those images use the product’s first SKU; an image on a variant’s row gets that variant’s SKU.

What if a product has no SKU?

Parcel uses the product handle instead, for example linen-apron-sage-1.jpg, so every file still has a meaningful name.

Can I get every file in one folder?

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

How do I match the new names to the old links?

manifest.csv lists every image’s original link next to its new file name, SKU and product, so you can look up any file in either direction.

Pack your first export