On a product page, the image is the sales pitch — but it is also the heaviest thing you ship. A catalog of 3,000-pixel JPEGs at full quality is why stores feel slow on mobile and why visitors tap back before the page lands.

Fast stores do not accept that trade. They size each image to the slot it actually fills.

Match pixels to the display

A gallery that zooms to 1200 px never needs a 3000-px file; the browser downloads all of it and reveals a tiny fraction. Practical targets:

SlotDisplay sizeTarget weight
Main gallery / zoom800–1200 px< 150 KB
Product card300–600 px< 50 KB
Thumbnail80–150 px< 15 KB

These are ceilings, not floors. A 150 KB gallery image at quality 80 still looks clean because 80 removes only invisible detail — the quality-80 method in action.

Give the format its turn

Photos convert to WebP for universal modern browsers and usually drop the gallery another 25–35%. Pure-product shots on white also compress extremely well. Just keep a JPEG or PNG copy for platforms that reject WebP at upload.

Build it into the upload flow

  • Compress every batch in one pass — the compressor accepts many files and returns a ZIP, plus a WebP pass.
  • Keep a folder convention (gallery / card / thumb) so nobody uploads a giant file to a thumbnail slot.
  • Re-run on the fastest connection and the oldest phone you support.

Images that load instantly won't make you sell a bad product, but they will stop losing sales to a slow page. Start with the slots your funnel shows first: the listing grid and the first gallery image.