Image compressor
WebP, AVIF, JPEG and PNG, compressed in your browser.
Drop images in and get them back smaller. Everything runs locally in your browser — no upload, no queue, no account. Compare the result side by side before you download.
What it checks
- AVIF, WebP, JPEG and PNG output
- Side-by-side quality comparison
- Runs locally — your files never leave your browser
- Batch up to 50 images at once
What each number is telling you.
A report you cannot interpret is just a longer way of saying something is wrong.
Before and after size
The transferred bytes saved. On a product page where images are 60–75% of page weight, this is usually the largest single win available.
Format
AVIF is typically 20–30% smaller than WebP at comparable perceptual quality, and WebP is well ahead of JPEG. Browser support for both is now broad.
The side-by-side
Judge compression on your own photography, at the size it will actually be displayed. Product detail — fabric weave, stitching, grain — is what degrades first.
Quality setting
There is no universally right number. Fabric and fine texture need more; flat colour and graphics need much less.
The mechanism, not the platitude.
- 01
Images dominate page weight
A typical Shopify product page is mostly images by transferred bytes. Nothing else you can change moves the number as much.
- 02
Weight is felt on mobile
On a slow connection, the gap between a 2.4 MB hero and a 300 KB hero is the gap between a customer waiting and a customer leaving.
- 03
It is a one-off with lasting effect
Unlike most performance work, compressing the library you already have is a single job that keeps paying.
What this usually turns up, and the fix.
Four problems that account for most of what this tool reports on a Shopify store.
The finding
Camera-resolution files uploaded directly
Why it happens
No resize step between the photographer and the store.
The fix
Cap the master at roughly twice the largest rendered width, which covers retina, and let the CDN serve the rest.
The finding
Serving JPEG to browsers that accept AVIF
Why it happens
Format negotiation not set up.
The fix
Serve modern formats with a JPEG fallback. Shopify’s CDN handles the negotiation for you.
The finding
The hero image lazy-loaded
Why it happens
A blanket lazy-loading rule applied to every image on the page.
The fix
Never lazy-load the largest image above the fold. It is usually your LCP element, and deferring it directly worsens the metric.
The finding
Compressing an already-compressed file
Why it happens
Re-encoding a JPEG that was saved at low quality.
The fix
Start from the original where you still have it. Repeated re-encoding compounds the artefacts.
What this will not tell you.
Every tool has a boundary. Knowing where this one ends is what keeps you from over-reading it.
- Compression runs in your browser here, so nothing is uploaded — but that also means very large batches are limited by your own machine.
- It cannot recover detail already lost. If the source was saved at low quality, that is the ceiling.
No. Compression runs in your browser using WebAssembly. Nothing is transmitted.
More free tools.
All tools- Free Shopify SEO auditScore any Shopify store in about 30 seconds.
- Meta tag checkerSee every title and description on a page, at the length Google shows.
- Alt text checkerFind every image on a page that a screen reader cannot describe.
- Schema validatorValidate JSON-LD against what Google actually requires.
Run this continuously instead.
Install ShopSEO free, run your first audit in under a minute, and roll back anything you do not like. No credit card, no theme edits, no lock-in.