← Back to Blog

How to Compress Product Photos for Online Selling (Keep Resolution, Shrink the File)

You just spent twenty minutes staging a product photo. Natural light from a window. A clean surface. The item centered, sharp, looking exactly like something people would click Buy on. You transfer it to your computer and check the file size: 1.1 MB. One photo. Now multiply that by ten images per listing, then by however many products you have listed. Your shop page is pulling down megabytes of image weight on every visit, most of it on mobile connections where every extra hundred kilobytes costs you a second of load time.

Here is what almost everyone does wrong: they open the photo in an editor, drag the dimensions down to 800×600 or smaller, and save. The file shrinks, yes. But you also threw away the pixels that make the hover-zoom feature work. On platforms like Etsy, Mercari, Vinted, or Amazon, buyers expect to tap or hover and see fine detail. Resizing kills that. The right move is to keep every pixel and shrink the file another way — by lowering the JPEG quality setting instead.

I tested this properly. I took a single real product photo — a handmade ceramic mug, 1024×949 pixels, exported straight out of camera as a PNG weighing 1,156 KB — and ran it through a browser-based JPEG compressor at nine different quality levels. Same photo, same resolution, only the encoder aggressiveness changed. Here is what came out:

JPEG qualityFile size (same 1024×949 photo)What changed
95 (near-lossless)179 KBIndistinguishable from original
90110 KBStill perfect at normal viewing size
8582 KBBarely any difference visible
80 (most tools' default)67 KBSlight softening at 200% zoom
7558 KBThe sweet spot — sharp enough, tiny file
7053 KBNoticeable if you squint at 300%
6549 KBFine areas get slightly muddy
6045 KBAcceptable for thumbnails only
5040 KBToo far — artifacts start showing
Same handmade mug product photo before (1,156 KB) and after (58 KB at quality 75) compression — zero pixels lost, file 95% smaller
A 1,156 KB product photo compressed to 58 KB at quality 75. All 1024×949 pixels stay put. The glaze texture, wood grain, and handle curve are still there — the file just stopped carrying invisible detail nobody sees on screen.

What selling platforms actually want from your images

Rules vary by platform, but the pattern is the same everywhere: they want big, detailed images that load fast. Here is how the major ones line up:

Notice the pattern? None of them tell you to resize small. They all reward high-resolution images with working zoom. The problem is never too many pixels. It is too much invisible data packed into those pixels.

Quality vs. resize: why the slider wins

A JPEG file holds two things: pixel data (what the picture shows) and encoding detail (how precisely each pixel's color is stored). When you resize, you throw away pixels permanently. When you lower quality, you keep every pixel and simply store each color with fewer bits of precision. For a product photograph viewed at normal listing sizes — maybe 600–800 pixels wide on a phone — the difference between quality 95 and quality 75 is essentially invisible. But the file size difference is enormous: 179 KB versus 58 KB. That is a 68% reduction with no pixel loss whatsoever.

PNG makes this worse. If you save a product photo as PNG, the encoder stores every pixel perfectly, which means a 1024-pixel-wide product shot can easily hit 1–3 MB even though it contains no more visual information than a 60 KB JPEG. JPEG is what every platform recommends for photographs, and it compresses dramatically better than PNG for anything with gradients, textures, or natural lighting — which is basically every product photo ever taken.

What happens when you upload ten uncompressed photos

Selling platforms let you upload multiple images per listing. Etsy allows ten. Here is what the math looks like when every photo starts as a 1.1 MB PNG:

Per-photo approachOne photoAll 10 photos
Original PNG (no compression)1,156 KB (1.1 MB)11.3 MB
JPEG quality 95179 KB1.8 MB
JPEG quality 80 (default)67 KB668 KB
JPEG quality 75 (sweet spot)58 KB574 KB

Going from 11.3 MB to 574 KB across a single listing is the difference between a page that loads in under a second on 4G and one that spins for four seconds. On mobile networks, that gap determines whether someone waits or taps back. Lighter images also help your Core Web Vitals score, which some platforms factor into search ranking within their marketplaces. If you run a Shopify store alongside your marketplace presence, the Shopify image optimization guide covers the technical side of that in depth.

The workflow I use before uploading anywhere

  1. Export at full resolution. Keep your photo at its native size — 2000 px or wider is ideal. Do not downscale to "save space."
  2. Drop the photo(s) into a browser-based compressor. Upload all ten at once if the tool supports batch. The one I use handles up to 20 files simultaneously and runs entirely in your browser — nothing uploads to a server.
  3. Check the default result. Most compressors start at quality 80, which already drops a 1.1 MB photo to 67 KB. That might be all you need.
  4. If you want it smaller, drag the quality slider to 75. Watch the size readout fall. At 75 you get 58 KB with zero dimension change. Every pixel stays in place.
  5. Preview before downloading. Good tools show a side-by-side before/after. If the compressed version looks clean at 100% magnification, download it. If it looks off, nudge quality back up to 80 or 85.
  6. Upload to your selling platform. Ten sharp, fast-loading JPEGs. Zoom works. Mobile loads fast. Done.

Does quality 75 actually look worse?

Honestly? At 100% zoom on a desktop monitor, yes — very slightly. The finest textures (ceramic glaze speckle, fabric weave, metal grain) lose a hair of crispness. At 200% zoom you can tell the compressed version apart from the original if you flip back and forth quickly.

But here is the thing: nobody views your product photo at 200% zoom. Etsy displays the main image at roughly 500–700 pixels wide in search results and about 800–1000 on the listing page. Zoom maxes out at the uploaded resolution, which is still your full 1024+ pixels — and at that size on a typical phone screen, quality 75 looks identical to the original. You are trading away invisible micro-detail for a file that is 95% smaller. That is a trade worth making every time.

If you sell something where extreme texture fidelity matters — hand-knit sweaters where stitch definition is the selling point, or jewelry where facet sparkle drives clicks — stick to quality 80 or 85. You will still cut the file by 80–90% compared to the original PNG. For everything else — ceramics, prints, home goods, accessories — 75 is your number.

Mistakes that cost sellers time and sales

Related guides for specific situations

Your product photo needs might be more specific than the general case above. If you are hitting a particular size limit or dealing with a specialized platform, these guides dig deeper:

The bottom line

Stop resizing your product photos. Keep them at full resolution — 2000 pixels on the shortest side minimum — and compress them as JPEG at quality 75 (or 80 if you are nervous about texture-heavy items). A 1.1 MB photo becomes 58 KB. Ten photos become 574 KB total instead of 11 MB. Your listing pages load faster on mobile, your zoom still works, and you did it without installing software, creating an account, or sending your photos to anyone else's server.

Next time you are about to drag that resolution slider left, stop. Drag the quality slider instead. Same result, none of the damage.

Compress Your Product Photos Right Now

Drag your product photos in (up to 20 at once), set quality to 75, and download sharp, marketplace-ready JPEGs — all in your browser, free, private. Nothing leaves your device.

Compress Images Free →
About the Author: Chuan
Independent developer who built CompactJPG after watching seller friends struggle with bloated product photos that killed their page speeds. Runs everything locally in your browser because your photos belong on your device, not someone else's server.