How to Compress Product Images for Marketplace & Web (Free, In-Browser, No Photoshop)
Compressing a product photo is the job sellers hit at upload time when a marketplace rejects the file for being too heavy, or when a Shopify theme loads slowly because the hero image is 8 megabytes. The part that slows them down is the assumption that compression means visible quality loss, or that "compress" and "resize" are the same operation. They are not — resizing changes the pixel dimensions, compressing changes the byte size, and a photo that is already the right dimensions can still be far too heavy to upload. This is the step-by-step method I run, from picking the target byte budget through to a batched export ready for the listing.
The goal is a file that clears the marketplace's size ceiling at full pixel resolution — the product keeps its sharpness, the listing image stays at the 1000px-or-higher minimum the platforms reward, and the bytes drop low enough to upload on the first try. Get that export right once and the same compressed master feeds the Amazon main, the Shopify card, and the email template without a re-export per placement.
Step 1 — Know the byte budget before you compress
The single biggest factor in a clean compression is not the tool — it is knowing what file size you are compressing to. Every marketplace and storefront caps the per-image byte size, and uploading a file over the cap is the most common reason a listing image is rejected or silently re-encoded into something soft.
- Amazon, eBay, Walmart, Etsy, TikTok Shop, Pinterest, Google Shopping, Shopify each enforce their own file-size ceiling and accepted formats. The exact numbers live in the per-platform image-requirements guides — Amazon, eBay, Walmart, Shopify, Instagram — and the image resizer presets their dimension minimums so you are not reformatting per upload.
- Aim under the ceiling, not at it. A file that is exactly at the cap is one metadata tag away from being rejected. Target roughly 80% of the limit so a re-save or a platform re-encode does not push you over.
- Separate the dimension budget from the byte budget. A 2000px square at high quality can be 3MB; the same 2000px square compressed is 250KB. The pixel count is what the marketplace reads as "resolution"; the byte count is what the uploader reads as "too heavy." You compress bytes without touching pixels.
Pick the byte budget for the placement you are building first. The marketplace main needs to clear the platform ceiling; the email template needs to land under the inbox-provider weight that triggers image-blocking. If you only ever pick one, pick the marketplace ceiling — it is the strictest gate and clears the rest.
Step 2 — Open the free in-browser compressor
Drop the photo into the free image compressor. It runs entirely in your browser — the image never leaves your machine, which matters for catalog work where you may be handling unreleased product or photos without model releases. There is no account, no watermark on the output, and no upload queue.
The tool works in two levers — a format that decides how the pixels are encoded, and a quality that decides how much visual information is kept. The order matters: format first, quality second. Compressing a photo with transparency as a JPEG fills the transparent area back in with white; compressing a photographic product as a PNG keeps the bytes high because PNG was built for graphics, not photographs.
Step 3 — Pick the format for the content, not the habit
The format decides the floor of how small the file can get, and it is the step most sellers get wrong by defaulting to whatever the camera or phone exported.
- JPG for photographic product shots. A bottle, a garment, a cosmetics jar — anything with gradients, shadows, and continuous color — belongs in JPEG. It throws away information the eye cannot see, which is why a 3MB photo compresses to 250KB with no visible loss. This is the format for almost every marketplace main image.
- PNG for graphics with transparency or hard edges. A cutout on transparent background, a logo, a flat-color label — these belong in PNG, which preserves alpha and crisp edges. But PNG on a photograph stays heavy because it losslessly encodes every pixel. If you compressed in step one of the background-removal how-to and got a transparent master, keep it PNG; the moment you place it onto pure white for the marketplace main, flatten and switch to JPG.
- WebP for the storefront and email. WebP encodes photographic content at roughly half the bytes of JPG at the same visual quality, which is why Shopify themes and modern email clients prefer it. Use it for the on-site hero and the template, not for the marketplace upload — some marketplaces still reject WebP on the main image.
The test is whether the format matches the content. A photograph in PNG is wasted bytes; a cutout in JPG is a white background where transparency should be. Match the format to what is actually in the frame.
Step 4 — Set the quality, then the dimension ceiling
With the format chosen, pull the quality slider down until you see loss, then back off one notch. This is where compression stops being free and starts costing listing quality.
- Start at quality 80. For a photographic marketplace main, quality 80 is the cliff edge — below it, blocky artifacts appear in smooth gradients like a sky or a white sweep. At 80 and above, the difference is invisible to the eye but the byte savings are large.
- Drop to 70 only for thumbnails and email. The hero on the listing needs 80+; a 200px thumbnail in an email template can sit at 60–70 because the artifacts are too small to read at that display size. Match the quality to the display size, not to a single number for the whole catalog.
- Cap the dimension before you cap the quality. A 4000px photo at quality 80 is still a heavy file because there are four thousand pixels per side. If the marketplace main only displays at 1000px, exporting at 4000px is wasted bytes — set the dimension ceiling to the platform's display size first, then tune quality. This is the resize-then-compress order: get the pixels right, then squeeze the bytes.
The trade-off is always the same: high quality keeps sharpness and costs bytes; low quality saves bytes and costs detail in the product's edges, labels, and fabric texture. You are looking for the quality where the product's text and edges stay crisp and the file clears the byte budget. For a marketplace main on a plain sweep, that is usually quality 80 at the platform's display dimension.
Step 5 — Inspect the result at 100%
After the export, open the compressed file next to the original and pan to 100%. Compression defects hide at thumbnail size and show at full resolution.
- Check the smooth areas first. A white sweep or a gradient sky is where JPEG artifacts appear first — faint blocky banding instead of clean tone. If the backdrop stays clean, the product is safe.
- Check the text and edges. A product label, a seam, a fine edge — these are where loss of detail reads as "soft." If the text is still legible and the edge still crisp, the compression is invisible to a buyer.
- Confirm the byte hit. The compressor reports the before-and-after file size. A 3MB photo that lands at 250KB at quality 80 is a 12× reduction with no visible loss; the same photo at 90KB has gone too far and the backdrop is banding.
A compressed file that looks identical to the original at 100% and clears the byte ceiling is the goal. If the backdrop bands, raise the quality; if the file is still over the ceiling, drop the dimension, not the quality past 70.
Step 6 — Batch and export ready for upload
Compress the master once per placement. A marketplace main, a thumbnail, and an email hero are three different byte budgets and three different dimension ceilings off the same source photo — do not export one file and force it into all three.
- Export the marketplace main as JPG at the platform dimension and quality 80. This is the file that clears the listing's image-requirements gate on the first upload.
- Export the thumbnail as JPG at the small dimension and quality 65–70. This is the file that loads fast in search results and email without carrying hero-grade bytes.
- Export the storefront hero as WebP at the theme dimension and quality 80. This is the file that keeps the product page fast without sacrificing the large-display sharpness a buyer judges the listing on.
Keep the compressed masters in a per-placement folder so the marketplace main, the thumbnail, and the hero each have a single canonical file. Re-uploading is the moment sellers discover they compressed the wrong placement — a 250KB marketplace main does not belong in the email template, and a 90KB thumbnail does not belong on the listing.
When the free method is not enough
In-browser compression handles a single photo or a small catalog batch cleanly. It struggles when the volume crosses into hundreds of SKUs across a dozen placements, or when the byte budget has to hit an aggressive CDN target that demands per-image tuning no slider can do by eye.
- Hundreds of SKUs across placements — the same format-quality-dimension decision repeated per product, where a batch pipeline that reads the platform targets and exports all three placements in one pass is faster than clicking through a tool per image.
- Aggressive byte targets for CDN cost — when the storefront has to ship under a strict byte budget at scale, the per-image quality has to be tuned to the content (a plain-sweep product compresses further than a detailed fabric shot), which a single slider cannot do.
These are the edge cases where a managed pipeline earns its keep — one that reads the marketplace targets, exports the main, thumbnail, and hero in a single pass, and restages the same master onto the studio and lifestyle backdrops the listing actually rewards. For the rest of a catalog — a product per upload, a handful of placements — the free in-browser method is faster, private, and good enough that the buyer cannot tell the compressed main from the original.
The compress-once, place-many payoff
The point of compressing cleanly is that you only do it once per placement. One compressed master becomes the marketplace main, the search thumbnail, the storefront hero, and the email template image — each a different byte budget and dimension ceiling off the same source photo. ShotKit takes that one master and restages it onto the studio, marble, and lifestyle backdrops a marketplace listing actually rewards, so a single capture feeds the main image, the secondary set, and the ad creative without a re-shoot or a re-compress per placement. Compress once, place many times — that is the entire leverage of getting the byte budget right.
Turn one product photo into a studio shoot
Upload a product, pick a scene, download a studio-quality shot in seconds.
Try ShotKit free →Keep reading
Google Shopping Product Image Requirements: The 800px Floor, the Apparel 250px Trap, and Why a Marketplace Photo Gets Disapproved
How to Remove the Background from a Product Photo (Free, In-Browser, No Photoshop)
How to Resize Product Images for Amazon, Shopify & Instagram (Free, In-Browser, No Photoshop)
AI product photography for your niche
Each category has its own photography problems. Browse all use cases →