Published October 5, 2026
Do uncompressed product images slow down your Shopify store?
Yes, and they are the single most common speed problem on Shopify stores. Product photos are usually the heaviest assets on collection and product pages, and merchants upload them straight from the camera or the designer at full resolution. Compressing and properly sizing them is the highest-leverage speed fix most stores have not done.
Why images dominate the weight
A typical Shopify product page loads a few hundred kilobytes of theme code and several megabytes of images. The code is mostly fixed; the images are the variable. A 6000-pixel-wide photo displayed at 800 pixels wide is pure waste: the browser downloads all of it and shows a fraction. Multiply by twenty products on a collection page and you have the slow load.
Shopify's CDN does serve responsive sizes, but it can only work with what you upload. An 8MB original still costs upload time, storage, and the CDN's first transform. The fix starts at the source: export at the display size, not the camera size.
The compression routine that works
Export product photos at 2048 pixels on the long edge, which covers retina displays at typical display sizes, then run them through a modern compressor. WebP or AVIF output at quality 80 is visually identical to the original JPEG for product photography and typically 60 to 70 percent smaller. Most merchants can batch-convert their whole catalog in an afternoon.
For new uploads, make it a rule: nothing goes into Shopify Files above 2048 pixels or without compression. One uncompressed 10MB hero image can undo the gains from compressing everything else, so the routine matters more than any single tool.
What about the apps that promise to do it
Image optimization apps can help, especially for back catalogs, but they add their own JavaScript to your storefront. Measure before and after: if the app's compression saves 2MB of images but adds 300KB of scripts and a render-blocking call, the net win is still positive but smaller than advertised. A manual compression pass has no ongoing cost and no script weight.
The apps earn their keep on stores with thousands of SKUs where manual work is impractical. On a store with under 500 products, doing it by hand once is faster than evaluating, installing, and paying for an app forever.
How to check your own store
Open your heaviest collection page in Chrome DevTools, Network tab, and sort by size. The image rows tell the story: anything over 500KB per image is worth compressing, and anything over 1MB is an emergency. Check the dimensions column too; images served at 3x their displayed size are the easiest wins.
Re-audit quarterly or whenever you do a big product upload. Image weight creeps back the moment someone uploads a campaign shoot at full resolution, and the creep is invisible until the speed scores drop.
Frequently asked questions
Why do product images slow Shopify stores down?
Because merchants upload camera originals, often several megabytes each, and a collection page can carry twenty of them. The browser downloads far more resolution than any screen displays, on the same connection the scripts and fonts need. Images are usually the largest payload on a store page, so they are the first place speed work pays.
What image settings work best for Shopify?
Modern formats such as WebP, which Shopify serves automatically in supporting browsers, dimensions matched to the display size, and quality settings in the range where the eye cannot tell the difference. Compress before upload rather than relying on the theme, keep hero images honest about their size, and use lazy loading below the fold so the first screen is not paying for the last.
How much speed does image compression actually buy?
On image heavy pages it is often the single largest win available: cutting a ten megabyte collection page to two megabytes changes load time on mobile connections from painful to competitive. Measure before and after with the same tool on the same page type, because averages across a whole store hide the pages where images dominate.