Five real phone photos (35.0 MB) → 7.9 MB on pixsip.com/compress-jpg. DevTools Network transfer size and load timing on a local test page, before and after. No upload, no target-KB slider.
I build PixSip, so I'll say that up front. The numbers below are from a fresh headless run on the live page, not a marketing slide.
The inventory (Network → Img first)
Skip the compressor for a minute. Open the page that feels slow, DevTools → Network, filter Img, disable cache, hard-reload.
On a local test gallery that dropped five full-size phone JPGs into one hero strip, the panel looked like this:
| File | Camera | Pixels | Bytes |
|---|---|---|---|
| metro-invalidovna.jpg | Pixel 8 Pro | 8160×6144 | 8.6 MB |
| ayup-market.jpg | Samsung SM-A336B | 4000×3000 | 7.5 MB |
| sturgeons-mill.jpg | iPhone 15 Pro Max | 4032×3024 | 6.5 MB |
| mudbank-adur.jpg | Pixel 8 Pro | 8160×6144 | 6.9 MB |
| ad-column.jpg | Pixel 4a | 4032×3024 | 5.4 MB |
| Total | 35.0 MB |
Lighthouse's "Improve image delivery" opportunity is pointing at the same files. You don't need every JPG on the site — only the ones that dominate transfer size. Compress those, leave the rest alone.
Same five files on a local page, emulated ~10 Mbps, cache off:
- Img requests: 5
- Transfer size: 35.0 MB
- Largest: 8.6 MB
- Load event: 28.1 s
That's the baseline. Everything after this is "make those five smaller without leaving the browser."
1. Open /compress-jpg and wait for the lock
Go to pixsip.com/compress-jpg. The drop zone starts disabled while the worker (MozJPEG wasm) loads — usually about a second. Wait until the small 🔒 appears under "Drop images here" and the file input is enabled. Dropping too early hangs the job.
Free plan: up to 20 images × 10 MB each, up to 3 output formats at once. There is no target-KB setting and no quality slider — MozJPEG runs at one calibrated quality. Don't expect "compress to exactly 200 KB."
2. Drop the batch, read the results table
I dropped the five originals as JPG → JPG. Worker ready in ~1.0 s; the batch finished in ~11 s. Nothing over a few KB left the machine (clarity.ms analytics pings only — no image upload).
| File | Before | After | Δ |
|---|---|---|---|
| metro-invalidovna.jpg | 8.6 MB | 2.0 MB | −76% |
| ayup-market.jpg | 7.5 MB | 963 KB | −87% |
| sturgeons-mill.jpg | 6.5 MB | 1.7 MB | −74% |
| mudbank-adur.jpg | 6.9 MB | 1.6 MB | −76% |
| ad-column.jpg | 5.4 MB | 1.5 MB | −71% |
| Total | 35.0 MB | 7.9 MB | −77% |
Card text on the page: "Saved 27.1 MB total · 77% smaller."
3. Verify pixels, EXIF, GPS
Download the ZIP and check what actually changed. Dimensions must stay the same — PixSip does not resize. EXIF and GPS should be gone (four of the five originals carried GPS; none of the outputs do).
Summary from the real ZIP:
- Pixel sizes changed: 0 of 5
- GPS left: 0 of 5
- EXIF tags left: none
That last point matters for WordPress: if you upload the phone original, WordPress keeps a publicly reachable copy of it (and often its GPS) even after it builds -scaled thumbnails. Strip first, then upload.
4. Compare at 1:1, then your own 100% crop
Hit Compare on any row, then Zoom 1:1. Drag the divider across fine detail — tiles, foliage, sign lettering — not a downscaled preview.
And a 100% crop from the real files (metro platform tiles + tactile paving), original on the left, PixSip on the right:
At this distance the difference is hard to spot. If a crop looks soft, that photo may need a lighter pass elsewhere — or simply a smaller display size in CSS, not a quality slider PixSip doesn't have.
5. Swap the files and re-weigh
Replace the five <img> sources with the compressed JPGs. Same local page, same emulated ~10 Mbps, cache still off:
| Metric | Before | After |
|---|---|---|
| Transfer size | 35.0 MB | 7.9 MB |
| Largest image | 8.6 MB | 2.0 MB |
| Load event (~10 Mbps) | 28.1 s | 6.4 s |
That's the Lighthouse/Network loop closed: inventory → compress the offenders → re-measure. LCP on a real WordPress theme will still depend on font/CSS/JS, but the image bytes are no longer the obvious bottleneck.
Short checklist
- Network → Img (or Lighthouse → Improve image delivery) — list the heaviest JPGs only.
- Open /compress-jpg, wait for the 🔒.
- Drop the batch. Read the results table; download the ZIP.
- Confirm dimensions unchanged and EXIF/GPS gone before you upload to WordPress.
- Compare + Zoom 1:1 (and a 100% crop of your own) on at least one hero image.
- Swap files, re-weigh transfer size. Repeat for the next heavy set if needed.
Free plan caps at 20 × 10 MB; bigger batches are on pricing. For how MozJPEG lands vs other compressors, see the PixSip benchmark. Nothing is uploaded — details in privacy by default.
If the heavy asset is a video hero instead of a photo strip, I also build vidsmaller.com for target-size cloud compression.
Photo credits (CC0)
All five samples are CC0 on Wikimedia Commons:
- Invalidovna Metro Station — AVDLCZ, Pixel 8 Pro
- Ay-Up Market, Nottingham - 29 March 2025 — Aethonatic, Samsung SM-A336B
- Sturgeon's Mill - August 2025 - Sarah Stierch 31 — Missvain, iPhone 15 Pro Max
- Mudbank in the River Adur 2026-05-05 — Andy Li, Pixel 8 Pro
- Advertising column with torn up posters 2 — Profpcde, Pixel 4a
Related
Related: Medium — Your WordPress images are too heavy · Blogger — Before You Hit Upload in WordPress · DEV.to — Convert images to WebP or AVIF







