Your Shopify store looks great in the theme editor, but your PageSpeed score tells a different story. You dig into the report and find the culprit almost every time: product photos straight from a DSLR or a photographer's export, sitting at 3–8 MB each, multiplied across dozens or hundreds of listings. Shoppers on mobile data bounce before the page even finishes loading.
The fix isn't shrinking the image so much that stitching detail or fabric texture disappears — that just trades one problem for another. The fix is compressing JPEG product photos correctly: enough to cut file size dramatically, without a customer ever noticing the difference. Here's exactly how to do that for a Shopify catalog, one photo or an entire product line at a time.
Resize product photos to around 2048px on the longest side, then export as JPEG at 75–85% quality. This typically brings a 5 MB camera file down to 100–250 KB with no visible loss in detail. Compress before uploading to Shopify — the platform's CDN optimizes delivery format, but it won't meaningfully shrink an oversized source file for you.
What does compressing a JPEG product photo actually mean?
Compressing a JPEG means reducing its file size by selectively discarding image data the human eye is least likely to notice — without changing the photo's dimensions or content. For a Shopify product photo, this comes down to two separate levers that people often confuse:
- Resizing (dimensions). Reducing the pixel width and height of the image, e.g. from a 6000px camera export down to 2048px, which is plenty for Shopify's zoom feature.
- Quality compression. Keeping the same dimensions but reducing the JPEG quality setting (typically 0–100%), which controls how much fine detail is discarded during encoding.
Most oversized Shopify product photos need both. A photographer's raw export is usually far larger in dimensions than any theme will display, and it's often saved at or near 100% quality, which is rarely necessary. Resizing first, then compressing the result at 75–85% quality, is what turns a 6 MB source file into something in the 100–250 KB range — a 95%+ reduction — with no visible difference to a shopper.
Why this matters for your Shopify store
Product photo weight isn't a cosmetic detail on Shopify — it has a direct, measurable effect on how your store performs and sells:
- Page speed and Core Web Vitals. Product images are almost always the heaviest assets on a collection or product page. Oversized JPEGs directly hurt Largest Contentful Paint (LCP), a factor in both user experience and search ranking.
- Mobile conversions. A large share of Shopify traffic is mobile, often on inconsistent connections. Every extra megabyte of image weight adds real load time on a phone, and slow product pages are one of the most common reasons shoppers abandon before adding to cart.
- Theme and app performance. Collection pages loading 20–40 product thumbnails at once multiply the impact of oversized images. Compressing photos keeps these grid and carousel views fast even as your catalog grows.
- Storage and bandwidth at scale. A catalog of a few hundred SKUs with 4–5 images each adds up fast. Compressing before upload keeps your media library lean and your CDN bandwidth usage down.
Step-by-step: compressing product photos for Shopify
- Start from the original, unedited file. If you've already exported and re-saved a JPEG once, compress from that original source rather than a previously compressed copy, to avoid stacking generation loss on top of your final export.
- Resize to around 2048px on the longest side. This is large enough for Shopify's built-in zoom feature to work well, while avoiding the dead weight of a 6000px camera export that no theme will ever display at full resolution.
- Compress at 75–85% JPEG quality. This is the reliable sweet spot for product photography — detail like stitching, texture, and material finish stays visible, while file size typically drops 50–70% compared to a 100% export.
- Check high-detail and high-contrast areas closely. Zoom in on edges, logos, and fine texture at 100–200%. If you notice blockiness or color bleeding around these areas, bump the quality setting up 5–10 points and re-export.
- Batch process by product line, not one file at a time. If you're updating an entire catalog, compress in batches so every photo for a given product line gets a consistent quality setting — inconsistent compression across a collection page looks unprofessional.
- Strip unnecessary metadata before upload. Camera EXIF data, color profiles, and thumbnails embedded in the file add extra weight that serves no purpose once the photo is live on your store.
- Upload the compressed files to Shopify. Replace existing product images directly in the Shopify admin, or through your theme's media settings — Shopify's CDN will handle further format delivery (like WebP or AVIF) on top of your compressed JPEG source automatically.
Common mistakes that hurt speed or quality
1. Uploading camera exports straight to Shopify
A photographer's or DSLR's default export is built for editing flexibility, not web delivery — often 5000px+ wide and saved near 100% quality. Uploading these directly means every product page pays the storage and bandwidth cost of a file far heavier than any theme will actually display.
2. Compressing so aggressively that texture disappears
Dropping quality too far below 70% to chase a smaller file size backfires for product photography specifically, since customers often zoom in to check material, stitching, or finish. Going too aggressive erases exactly the detail that helps convert a browser into a buyer.
3. Using one blanket setting for every photo type
A flat-lay thumbnail on a collection grid and a zoomed hero shot on a product detail page don't need the same treatment. Applying identical compression across every image role either wastes bandwidth on thumbnails nobody examines closely, or under-compresses images that would look fine leaner.
4. Forgetting to resize before compressing
Compressing quality alone on an oversized image still leaves a much larger file than necessary. Resizing dimensions first, then compressing quality, is what actually gets you to the smallest reasonable file size — skipping the resize step leaves significant savings on the table.
Real-world compression examples
These are representative results from compressing typical Shopify product photos — resized to 2048px, then exported at different JPEG quality settings:
Across a full catalog, results like these compound quickly — a 300-product store with 4 images per listing can drop total media weight from several gigabytes to a few hundred megabytes, with zero visible change for shoppers.
Compression settings by product photo type
Different placements on a Shopify store tolerate different levels of compression — here's a practical breakdown to work from.
| Photo type | Recommended quality | Typical target size | Artifact risk | Notes |
|---|---|---|---|---|
| Collection grid thumbnails | 65–75% | 30–70 KB | Low | Small display size hides most compression artifacts |
| Standard product listing photos | 75–85% | 80–200 KB | Low | The reliable default for most catalog images |
| Zoomable / high-detail products | 85–90% | 150–300 KB | Low-medium | Jewelry, textiles, and print detail benefit from extra headroom |
| Hero / lifestyle banners | 85–90% | 200–400 KB | Low-medium | Large display size makes artifacts more noticeable |
| Variant swatches / icons | 60–70% | Under 30 KB | Low | Tiny display size — compress aggressively without concern |
| Print-ready or wholesale assets | 90–100% | Not size-constrained | N/A | Keep a high-fidelity master separate from your web uploads |
Compress your product photos right now — free
The Rebrixe JPEG Compressor runs entirely in your browser. Your product photos are never uploaded to a server — compression happens locally, and you can preview the exact visual result and file size before downloading. For full catalogs, the Bulk Image Resizer handles resizing and compressing many photos at once in a single pass.