The problem nobody notices until it's a problem
Run PageSpeed Insights on almost any e-commerce store, blog, or portfolio site and you'll find the same culprit sitting at the top of the report: images. Not your JS bundle, not your fonts — images, usually accounting for 60–70% of total page weight.
It's an easy thing to ignore because it doesn't feel like a "real" performance problem. Nobody profiles a <img> tag the way they profile a slow API call. But Largest Contentful Paint (LCP) — one of Google's three Core Web Vitals — is, on most pages, literally an image. If that image is a 2–4MB JPEG straight off a phone camera, you've already lost the metric before a single line of your carefully optimized JS runs.
Why WebP (and not just "compress the JPEG")
The instinct is usually "run it through TinyPNG." That helps, but it's solving the wrong layer of the problem — you're still stuck with JPEG's compression algorithm, which is decades old at this point.
WebP, developed by Google, uses a more modern compression scheme and consistently produces 60–80% smaller files than JPEG at equivalent visual quality. Not "smaller with artifacts" — smaller at the same perceptual quality. It also supports alpha transparency (like PNG) and animation (like GIF), so in most cases it replaces all three formats outright.
Browser support is no longer a concern — WebP sits at 97%+ global browser support in 2026, including Safari since v14. If you're still shipping fallback JPEGs "just in case," you're probably not gaining much from it anymore.
<picture>
<source srcset="product.webp" type="image/webp">
<img src="product.jpg" alt="Product photo">
</picture>
If you want to squeeze out another 20–30%, AVIF (AV1-based) beats WebP on file size, at the cost of slower encoding and slightly less universal support. Good rule of thumb: WebP as your baseline, AVIF as the power-user upgrade if you have the batch-processing time to spare.
The actual annoying part: doing this at scale
Converting one image is a 10-second problem — drag a file into any online converter and you're done. Converting a catalog of 300 product images, each needing resize + format conversion + a consistent quality setting, is a completely different problem. Doing it by hand in Photoshop is an afternoon you don't get back. Writing a one-off script with sharp or imagemagick works, but it's yet another thing to maintain for what should be a five-minute task.
This is the exact gap I built BatchSet to close — a browser-based bulk image tool with two ingestion paths that matter for real workflows:
- File upload batch — drop in hundreds of images, apply one shared setting (or per-file overrides), get a ZIP back
- Spreadsheet/URL batch — paste a column of image URLs (e.g. exported straight from a Shopify or WooCommerce product catalog) and it fetches, converts, and zips every one — no manual download/re-upload loop
It also does AI background removal (segmentation-model cutouts to transparent PNG), which used to require actual Photoshop skill and now doesn't.
Input formats: JPG, JPEG, PNG, WebP, GIF, BMP, TIFF, SVG
Output formats: JPG, PNG, WebP, GIF, BMP, TIFF, PDF
Basic conversion (WebP/JPG/PNG) is free and unlimited, no signup required — I wanted the "just let me convert one image real quick" use case to have zero friction, since that's most of what people actually need.
A quick before/after
Real numbers from converting a standard e-commerce product photo:
| Original JPEG | WebP (q80) | AVIF | |
|---|---|---|---|
| 2400×2400 product shot | 1.8 MB | ~210 KB | ~150 KB |
| Reduction | — | -88% | -92% |
Multiply that across a few hundred product images and you're talking about a genuinely different LCP score, not a rounding error.
Takeaway
If you haven't audited your image pipeline recently, it's probably the highest-ROI performance work available to you right now — more impactful than most JS micro-optimizations, and far less effort than most people assume once you're doing it in batches instead of one file at a time.
Curious what tools/approaches other people here are using for this — curious if anyone's gone all-in on AVIF yet or still holding at WebP for the encoding-speed tradeoff.
I built BatchSet as a free bulk image converter (WebP/AVIF/JPG/PNG + AI background removal + Excel/URL batch mode) — happy to answer questions on the compression side in the comments.
Top comments (0)