Why Shopify image compression matters
On Shopify, images are usually the heaviest thing on a product page, and page weight directly affects load speed, Core Web Vitals, and conversion — especially on mobile where most shoppers browse. A storefront full of multi-megabyte photos feels sluggish and quietly costs sales.
The goal is balance: small enough to load fast, sharp enough to keep buyers confident in the product. Compression is how you get there, and doing it across a whole catalogue means a repeatable batch process rather than tweaking each image by hand.
Shopify's image sizes and limits
Shopify accepts images up to 20MB and up to 20 megapixels, but you should never get close to those limits. For product photos, around 2048×2048px is the practical sweet spot — it satisfies Shopify's zoom feature while keeping files reasonable.
Shopify serves images through its CDN and can generate responsive sizes, but it does not aggressively re-compress your originals. Uploading already-optimized images means faster pages and predictable quality, instead of relying on platform defaults.
- Square product images: ~2048×2048px for zoom-ready detail.
- Maximum 20MB / 20MP per image — stay far below this.
- JPG for photos; WebP where your theme and audience support it.
- Consistent dimensions across products for a clean grid.
JPG vs WebP and target-size compression
JPG is the safe, universal choice for product photos. WebP is smaller at the same visible quality and is well supported, so many Shopify stores prefer it for speed — though JPG remains the most compatible fallback.
Rather than one universal quality value, use target-size compression: set a KB target per asset type so hero shots keep more detail while thumbnails go lighter. That category-based approach hits a consistent page weight without over-compressing your most important images.
A batch compression workflow on Mac
Stores updating products regularly should make compression a one-click export step. Build presets per asset category — hero, gallery, thumbnail — then run each new shoot through the matching one.
Defaults that keep a Shopify image batch fast and sharp:
- Resize to ~2048px for product shots; smaller for thumbnails.
- Set KB target ranges per asset type instead of a single quality value.
- Use JPG or WebP based on your theme; convert to sRGB for accurate colour.
- Apply a light sharpen after downscaling for crisp web detail.
- Strip metadata, keep overwrite off, and use SKU-mapped naming for imports.