Back up Shopify product images before deleting products
If you are clearing out old products, migrating platforms, or closing a store, back up the product images first. This is the step people skip, and it is the one that cannot be undone: once a product is deleted or the store closes, its image links stop working. A CSV export of your products is not a backup of the images. The CSV only holds links. You need the actual files.
Before you start
- Nothing has been deleted yet: products, images and the store are all still live.
- You can open Products → Export in your Shopify admin and read the email of the account you export from: exports of all products are emailed there (and to the store owner).
- You have somewhere to keep the backup: an external drive, cloud storage, or your business’s shared files.
- You’ll keep the product CSV next to the images. It holds titles, prices and descriptions the images don’t.
- Export from ShopifyProducts → Export → All products, while everything is live
- Download every imageParcel fetches each link in the CSV as the original file
- Check the list
manifest.csvlists what was saved; failures get their own report - Store the ZIPWith the product CSV, somewhere that isn’t Shopify
The free manual method
- In Shopify admin, go to Products, click Export, and export your products as a CSV. This is the last time those image links will be valid, so do not delete anything yet.
- Open the CSV and find the Image Src column. Each cell is a direct link to one product image.
- Copy the Image Src column into a free bulk-download browser extension or a download script, and download every image.
- Rename and sort the files yourself. The downloads arrive with CDN-generated names, not product names, so set aside time for organizing them into folders.
- Store the finished backup somewhere safe: an external drive, cloud storage, or wherever your business keeps its files.
This works, but it is easy to miss images. If a link fails silently during a bulk download, you may only find out months later when you need that file.
Free method
Downloads/
- products_export.csv
Only links. Once the products are deleted, every link in this file stops working and the images are gone.
Parcel
parcel-1a2b3c4d.zip
- trail-mug/
- MUG-01-1.jpg
- MUG-01-2.jpg
- tea-towel/
- TT-02-1.jpg
- manifest.csv
- failed-downloads.csv
The image files themselves, a list of everything saved, and a report of any download that failed. Links Parcel couldn’t use are counted on screen instead.
How to check the backup is complete
A backup is only useful if you know what is in it. Parcel’s manifest.csv has one row for every image it saved, so you can compare it with your product CSV before deleting anything.
| product_title | handle1 | sku | image_position | original_url2 | filename3 | alt_text |
|---|---|---|---|---|---|---|
| Trail Mug | trail-mug | MUG-01 | 1 | https://cdn.shopify.com/s/files/1/…/mug-1.jpg?v=… | trail-mug/MUG-01-1.jpg | Green mug on a desk |
| Trail Mug | trail-mug | MUG-01 | 2 | https://cdn.shopify.com/s/files/1/…/mug-2.jpg?v=… | trail-mug/MUG-01-2.jpg | |
| Tea Towel | tea-towel | TT-02 | 1 | https://cdn.shopify.com/s/files/1/…/towel-1.jpg?v=… | tea-towel/TT-02-1.jpg | Folded linen towel |
Columns without a note are left out here; your file has them too.
- Count the rows per handle and compare with the number of different image links that product has in your CSV. A link repeated for the same product is saved once.
- original_url is the Shopify link the file came from, so any image can be traced back to its product.
- filename is where the image sits in the ZIP: the product’s folder, then the file.
Anything that could not be downloaded is listed in failed-downloads.csv with its handle, link and the reason, instead of failing silently. Fix or save those by hand before you delete the products.
The faster way: Parcel
Parcel (parcelexport.com) takes that same product CSV and returns one organized ZIP:
- One folder per product, files named by SKU
- A manifest spreadsheet with every image, its link, SKU, and alt text, so you can verify nothing is missing
- A failed-downloads report listing any image that could not be fetched, instead of failing silently
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. Files are kept for 24 hours after the export is ready, so download your ZIP and store it with the rest of your backups.
What it costs
Up to 25 products is free; larger backups are a one-time $9, $19, or $39 depending on catalog size. No subscription.
- 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.
The timing rule
Do this before you delete the products or close the store, while the image links still work. After deletion, no tool can recover the images from the CSV, because the links are dead.
If something goes wrong
- Products were already deleted
- Their image links no longer work, so no tool can download them from an old CSV. Back up the remaining products now, before anything else is removed.
- The manifest has fewer images than the product CSV
- First count different links only: a link repeated for the same product is saved once. Then open
failed-downloads.csv, where each failed image is listed with its link and the reason. Links to sites other thancdn.shopify.comare skipped and counted on screen before the export; save those by hand. - The export is too big for one ZIP
- One export takes up to 10,000 images. For a bigger catalog, filter the product list in Shopify (by type, vendor or collection), export each part, and back up each CSV separately.
- I missed the 24-hour download window
- Access ends 24 hours after the export is ready. If the products still exist, upload the CSV again for a new export; if they don’t, the images can’t be recovered from the CSV.
Questions
Is a Shopify product CSV a backup of my images?
No. The CSV only holds links to images on Shopify’s CDN. Once a product or the store is deleted, those links stop working, so you need the image files themselves.
What happens to the image links when I delete a product?
They stop working. Once a product is deleted, the links to its images in an exported CSV no longer download anything, so back up the files before deleting.
Are the backed-up images full quality?
Yes. Parcel saves the file at each link in your CSV exactly as Shopify serves it, without resizing or re-compressing it.
How do I know the backup is complete?
Parcel’s manifest.csv lists every saved image with its product, SKU and original link, and failed-downloads.csv lists anything that could not be saved and why. Compare them with your product CSV before deleting anything.
Where should I keep the backup?
Somewhere other than Shopify: an external drive, cloud storage, or your business’s shared files. Keep the product CSV with it, because it holds the product details the images don’t.