CS – Export Product Images is a Shopify app by Craftshift that bulk-exports every product and variant photo in a store — filtered, renamed, dropped into folders — instead of leaving merchants to right-click their way through the admin one image at a time. It sits in the Product Content (Images and Media) category on the Shopify App Store with a perfect 5.0 from 24 reviews as of writing.
Why getting images out of Shopify is harder than it should be
Shopify stores product photography well and exports it awkwardly. The product CSV export carries image URLs, not image files, and the admin shows photos one product at a time. So pulling 3,000 photos out of a catalogue means 3,000 manual saves, a custom script, or an app built for the job.
None of that hurts until you scale. Ten products with three photos each is a slow afternoon. Six hundred products with five photos each, half of them variant-level, is a week nobody budgeted for.
And merchants need those files far more often than the platform seems to assume. The usual reasons:
- Ad creative. Paid social and shopping campaigns need the raw product photography, cropped and named the way each ad platform expects — not a link back to your storefront.
- Marketplace listings. Amazon, eBay, Etsy and every regional marketplace want their own image upload. None of them read your Shopify gallery for you.
- Print catalogues and lookbooks. A designer needs the whole season's photography in one folder, not 400 browser tabs and a shared screen.
- Backups. The images live on Shopify's CDN. A local copy is the only thing that survives an accidental bulk delete or a botched product import.
- Migrations and replatforming. Moving to a new store, a new theme, or a product information system starts with having the assets in hand.
In all of them the images are only half the problem. The other half is knowing which file belongs to
which product once it is sitting on your desktop. A folder of IMG_4471.jpg,
IMG_4472.jpg, IMG_4473.jpg tells you nothing, and re-matching 3,000 of them by
eye is worse than not exporting at all.
What CS – Export Product Images does
CS – Export Product Images is a fully automatic product and variant photo exporter for Shopify. Merchants filter the catalogue down to what they want, pick how images and folders get named, and start the job. Progress runs live on screen. The download lands as one folder per product, named the way you asked.
Craftshift, the developer, is a Shopify Partner based in Zaandam in the Netherlands. The app's own tagline is about as direct as app taglines get: "Bulk export images, download product images to save time!" The feature set is short on purpose:
- Automatic product and variant photo export — the whole gallery, not just the featured image.
- Multi-criteria filtering — narrow the job by product status, collection, creation date, or vendor before it runs.
- Real-time progress monitoring — watch an export job advance instead of guessing whether it is still alive.
- Customizable image and folder naming — build names from SKU, Barcode, or ID.
- Product-based subfolders — downloads arrive grouped by product, not flattened into one directory.
- Variant image export with image-position tracking — know which photo occupied which slot.
That is the whole app, and the restraint is the point. It exports images. No resizing, no compression, no alt-text rewriting, no slow drift into becoming a general catalogue editor. When you are running this at 11pm in the middle of a migration, a tool that does one job and finishes it beats a tool that does nine.
How a bulk image export runs, step by step
An export runs in four moves: filter the catalogue, set the naming scheme, start the job and watch it, then take the finished folders into whatever comes next. Slow down on the filter. A tight one is the difference between a 200-image export and a 12,000-image one.
1. Filter down to what you actually need
Filtering is multi-criteria, and each criterion maps onto a real job. Status keeps drafts and archived products out of the export, which is usually where the surprise volume hides. Collection is how you export one category at a time — a single seasonal drop rather than the entire store. Creation date exports only what has been added since the last run. Vendor matters for multi-brand catalogues where each supplier wants their own assets back, and nobody else's.
Filters also protect your plan quota. Every tier is metered in images, so an export that quietly sweeps up 4,000 archived-product photos is 4,000 images spent on files you were never going to use.
2. Choose how files and folders are named
Naming is fully customizable: build file and folder names out of SKU, Barcode, or ID. Pick whichever identifier the receiving system already understands, because that one choice decides whether the export is usable or just large.
- SKU — the right default for most merchants. Your warehouse, your spreadsheets and most marketplace feeds already key on it.
- Barcode — best when you are handing images to a retail partner or distributor who works in GTIN, EAN or UPC rather than your internal codes.
- ID — the safe fallback when SKUs are missing, blank or duplicated across products, since the Shopify identifier is guaranteed unique.
Name the export after whatever the destination system uses as its primary key. If the images are going into a marketplace feed keyed on barcode, exporting them named by SKU just moves the matching problem one step downstream.
3. Start the job and watch it
Export jobs report progress in real time. On a large catalogue that matters more than it sounds: knowing a run sits at 4,100 of 9,800 images is the difference between waiting patiently and killing it to start over from scratch. Paid plans also push the job through a priority queue and pull the highest-quality version of every image — which is what you want the day an export is the last thing between you and a launch.
4. Take the output into whatever comes next
Because the export writes product-based subfolders, a 3,000-image download stays navigable: one folder per product, consistently named images inside it. That structure is what makes the handoff work — to an ad platform, a marketplace bulk upload, a designer's InDesign template, or a cold backup drive.
Variant images, and why image position matters
CS – Export Product Images exports variant photos, not just the main product gallery, and tracks image position as it goes. Position is the ordering of photos inside a product — first image, second image, and so on — and it is the detail most ad-hoc exports lose. Losing it turns a rebuild into a re-merchandising project.
The first image is the one that appears in collection grids, search results, cart line items and most marketplace feeds. If a 600-product catalogue comes out of an export in arbitrary order, somebody has to re-pick 600 hero images by hand on the other side — and that person is going to make different choices than your original merchandiser did.
Variant-level photography raises the same problem one level down. A t-shirt in seven colours is seven variants, each with its own photo, and the colourway images are frequently the most valuable assets in the whole product. An export that only grabs the product gallery quietly drops them, and nobody notices until the new store goes live with every colour showing the same grey mockup.
Manual downloading vs a bulk export job
Doing it by hand is not wrong. It just stops working. Saving images out of the Shopify admin is fine for a handful of products and falls apart somewhere around the fiftieth. The table below walks the same 500-product catalogue, three photos per product, through both routes.
500 products · ~1,500 product images
| Step | Manually | Bulk export |
|---|---|---|
| Collecting the files | ~1,500 saves | One job |
| File names | Whatever Shopify stored | SKU / barcode / ID |
| Folder structure | One flat pile | Per-product folders |
| Variant photos | Clicked one by one | Included |
| Image order preserved | By memory | Position tracked |
| Scope control | Whatever you click | Status / collection / date / vendor |
| Knowing how far along you are | Counting | Live progress |
The line item that actually decides it is not the saving, it is the renaming. Downloading 1,500 files is tedious; renaming 1,500 files so a downstream system can match them to products is the part that gets abandoned halfway through and leaves you with a folder nobody trusts.
What CS – Export Product Images costs
Pricing is metered in images, across four tiers. A free demo tier covers 100 images without priority queue access, and the three paid tiers scale from 1,000 images to unlimited. Every paid plan includes the priority queue, highest-quality images, and customer support.
- Free / Demo100 images · no priority queue
- Starter · $29/month1,000 images
- Advanced · $69/month10,000 images
- Premium · $99/monthUnlimited images
The tiering rewards knowing your catalogue size before you start. Multiply products by average photos per product, then add the variant images — a one-off migration of a 900-product store averaging four photos each is roughly 3,600 images, so a single Advanced month covers the whole thing. Feeding several marketplaces month after month is where Premium earns its keep.
The 100-image demo tier is a real trial, not a teaser. Run it against one small collection and watch the naming scheme and folder structure land the way your downstream system expects, then buy the tier that fits. Discovering you wanted barcode-based names after a 10,000-image export is an expensive way to learn it.
The other half of the problem: getting images back in
Exporting is one direction. Craftshift also builds CS – Smart Bulk Image Upload, the import counterpart, which handles bulk image ingestion into Shopify. Merchants running a migration usually need both halves: pull the catalogue's photography out of the old store, then push the corrected, renamed set into the new one without touching the admin.
We have covered the inbound half separately in bulk uploading Shopify product images from Google Drive or Dropbox, and the cleanup side in bulk deleting products on Shopify. Between them, those three operations — get images out, get images in, remove what should not be there — account for most of the catalogue admin time that merchants never planned for.
Who this is built for
CS – Export Product Images is built for merchants managing large catalogues who need image files, not image URLs. The bigger the catalogue, the more obvious the case. Past a few hundred products with multiple photos each, manual downloading stops being a viable option and starts being the reason work does not get done.
- Multi-channel sellers listing the same catalogue on marketplaces that each demand their own image upload.
- Performance marketers who need the raw product photography in a folder before they can build a single ad set.
- Brands producing print — catalogues, lookbooks, trade-show collateral — where a designer needs the season in one handoff.
- Anyone migrating or replatforming, including store merges, where the assets have to exist outside Shopify before anything else happens.
- Agencies and freelancers handing a client their own catalogue assets back at the end of an engagement.
- Merchants who just want a backup of the photography they paid a studio to shoot.
If that describes your store, start on the free demo tier. A hundred images is plenty to watch the naming and folder structure land exactly where your downstream system wants them. CS – Export Product Images is on the Shopify App Store now.
Frequently asked questions
Not directly. Shopify's product CSV export contains image URLs rather than image files, so getting the actual photos means fetching every URL yourself or saving images one at a time from the admin. CS – Export Product Images automates that step: it collects the files, names them from SKU, Barcode or ID, and organizes the download into product-based subfolders.
Yes. The app is a product and variant photo exporter, so variant-level images come out alongside the main product gallery, with image-position tracking so you can tell which photo occupied which slot. That matters when you are rebuilding a catalogue somewhere else and need the first image to stay the first image.
There is a free demo tier covering 100 images without priority queue access. Paid plans are Starter at $29 per month for 1,000 images, Advanced at $69 per month for 10,000 images, and Premium at $99 per month for unlimited images. Every paid plan includes the priority queue, highest-quality images, and customer support.
Naming is fully customizable: file and folder names can be built from SKU, Barcode, or ID. Downloads arrive sorted into product-based subfolders rather than one flat pile of files, so a 3,000-image export stays navigable and every photo can be matched back to the product or variant it came from.
Exports support multi-criteria filtering by product status, collection, creation date, and vendor. Status filtering keeps drafts and archived products out of the job, collection filtering exports one category at a time, creation date exports only what is new since the last run, and vendor filtering splits a multi-brand catalogue by supplier.
Yes. CS – Smart Bulk Image Upload is the import counterpart from the same developer, Craftshift, and handles the inbound half of bulk image management. Merchants who sell digital files rather than photographed physical goods usually pair catalogue tooling like this with Alva Digital Downloads for the delivery side.