
You want to bulk resize images for your Shopify catalog because your catalog is slow, your LCP is embarrassing, or you just exported 4000 product shots from a photographer who shoots in 6000 x 6000. There’s a different playbook for resizing images before upload vs. after upload, and most guides ignore that important distinction.
Another article about what shopify can actually resize, what shopify does for you automatically (isnt what you think it is) and some tools to help you out where shopify doesnt do enough. Also, a workflow.
What’s in this guide
- Shopify image limits
- What Shopify does automatically
- Resizing before upload
- Resizing after upload
- The recommended workflow
- FAQ
Shopify image limits (the real numbers)
Shopify’s hard caps for product images:
| Limit | Value |
|---|---|
| Max file size | 20 MB |
| Max resolution | 25 megapixels (e.g., 5000 x 5000) |
| Max images per product | 250 |
| Recommended dimensions | 2048 x 2048 for square products |
Anything over 25 megapixels or 20 MB will not upload, without warning. Uploads of “failed” files are silent, so you wont even know that 30 of the 500 photos you uploaded for a product are missing from the storefront until someone notices.
What Shopify does automatically (more than you think)
A lot of blog posts miss out on this little gem: Shopify’s CDN will automatically generate any sizes it needs at render time. That means you can upload a single 4000 x 4000 pixel master image and have it render a 360 x 360 thumbnail in collections and a 1024 x 1024 pixel shot on the product page and a 2048 x 2048 pixel zoom image and so on and so forth. All you need is to know how to tell your theme to render which sizes. For Shopify Tagged Themes, this can be done with the: img_url filter (image_url in some of the newer themes).
This isn’t exactly “resize to 500 x 500 for theme” it’s “make sure you aren’t uploading bloated master images and that your theme is properly querying the CDN for the correct size at the correct breakpoint”.
Resizing before upload (the batch tools)
If you’ve got raw RAW files or higher resolution phone images above 25MP, you’ll need to resize them before uploading. Here are some options to do just that.
- Photoshop batch (File > Automate > Batch). Build an action that resizes to 2048 x 2048, saves as JPEG quality 80. Point it at a folder. Done. Free if you already pay for Creative Cloud.
- ImageMagick. Command-line, free, fast.
mogrify -resize 2048x2048^ -quality 85 *.jpgresizes an entire folder in seconds. Overkill for non-devs but unbeatable for agencies processing thousands. - ImageOptim (Mac). Drag a folder in, it strips metadata and compresses without visual loss. Doesn’t resize dimensions but cuts file size 30 to 60 percent. Free.
- Squoosh. Google’s web app. Great for single-image comparisons, weak for batch. Good for learning what “good compression” looks like.
For most retailers, using something like Photoshop batch or ImageMagick will probably be the best way to handle this. But there’s a free option too: if you have an active Live account, you can use our bulk image resize tool (it’s coming soon!) but in the meantime, this awesome free web-based tool does pretty much the same thing: http://squoosh.io/. Thanks for the suggestion, Rachel!
Resizing after upload (the Shopify apps)
If the images are already in Shopify and too big, you have three routes.
- Download, resize, reupload. Use CS Export Product Images to pull the whole catalog as a ZIP, batch resize locally, then use CS Smart Bulk Image Upload to push them back. Full control, no surprises.
- In-admin optimizers. Apps like TinyIMG, Crush.pics, and similar sit on top of the Shopify API and optimize existing images in place. They compress but typically don’t downscale dimensions aggressively. Good for file-size wins, not for a 6000 x 6000 to 2048 x 2048 conversion.
- Do nothing. Seriously. If your masters are under 20 MB and 25 MP, Shopify’s CDN handles the rest. Obsessing over resize when the real problem is too many images per product is a trap.

For the comment about variants – if you publish a single shirt in 12 colors, the naive approach uploads a 2MB picture 60 times, for a total of 120MB. With Rubik Variant Images you can easily share images across the option values (size don’t matter for the photo, only color) so you upload 12 sets of variants instead, for a total of 24MB, a huge performance win. Resizing the images won’t fix the fact that you uploaded 48 unnecessary images.
The workflow we recommend
- Shoot or source at high resolution (your master stays high-res forever, don’t throw it away).
- Batch-resize masters to a working copy at 2048 x 2048 max, JPEG quality 80 to 85.
- Use Smart Bulk Image Upload to push them to Shopify by SKU.
- Assign variants using Rubik Variant Images (manual, AI auto-assign, or bulk by image order).
- Let Shopify CDN handle responsive sizing per breakpoint.
A real merchant on image management:
“This app is extremely beneficial if you want your product images to be organized. The customer service is 10/10, probably one of the best I’ve personally experienced they answer very quickly and fix any issues quickly.”
Shopify App Store review, Rubik Variant Images
For stores with many colors as separate products, pair this with Rubik Combined Listings so that each color has its own URL with its own image. Details on this pattern are in the export products guide as well as on the Rubik Variant Images site.
FAQ
What size images should I upload to Shopify?
2048 x 2048 is a good size for square product images. Shopify will import images up to 25 megapixels, but 2048 x 2048 is large enough for zooming in and out, and is under 1 MB when saved as a JPEG quality 85.
Does Shopify compress images automatically?
Yes. All responsive images are hosted on Shopify’s CDN in their varying sizes and when WebP or AVIF support is detected, they will be served in those formats as well. You shouldn’t stress too much over finding perfectly balanced image masters for your online store.
Can I bulk resize images already in Shopify?
The optimal way to do this would be to export with a tool like CS Export Product Images, then resize locally with a script like a photoshop batch or ImageMagick, and then reupload with Smart Bulk Image Upload.
What’s the max image size on Shopify?
20 MB (3 MB) per file, 25 megapixels max (about 5000 x 5000 square) – uploads over these limits will silently fail.
Will resizing images improve Core Web Vitals?
Sometimes. I find the biggest win on store pages is to reduce the total number of images per page, not to just inline pixel perfect versions of them. Your Shopify CDN will serve the appropriate size per breakpoint for most image tags already.





