Free Tool
    Updated 6 June 2026

    Image Optimization Checker

    Find oversized, uncompressed, or wrong-format images on any page. Get exact byte savings for WebP/AVIF conversion.

    By Deepak Shukla — Founder & CEO, Pearl Lemon

    What This Tool Checks

    • Images served at larger dimensions than displayed
    • Missing modern formats (WebP, AVIF)
    • Uncompressed JPEG/PNG payloads
    • Missing `srcset` for responsive delivery
    • Lazy-loading attribute on offscreen images
    • Total image weight per page

    Why This Matters

    On a typical site, images are 50–70% of total page weight and the single biggest LCP and INP killer. A hero image served at 3× the displayed size on a Moto G eats 800ms of LCP and burns 2× the user's data plan.

    How to Fix Issues

    1. 1.Convert JPEG/PNG to WebP (25–35% smaller) or AVIF (50%+ smaller)
    2. 2.Resize images server-side to the displayed dimensions
    3. 3.Use `<picture>` with `srcset` for responsive delivery
    4. 4.Set `loading="lazy"` on every below-the-fold image
    5. 5.Set explicit `width` and `height` to prevent CLS

    Images are the easiest performance win and the most consistently neglected. This checker scans every image on the page, measures the gap between displayed and delivered size, and tells you exactly how many kilobytes each fix returns.

    The displayed-size gap

    The number-one image issue we see is the 3,000-pixel-wide hero served to a phone displaying it at 360px. Browsers happily download the full thing, decode it, then throw 90% of the pixels away. The fix is server-side resizing tied to the displayed dimensions, delivered via srcset so each device gets the closest match. CDNs like Cloudflare Images, Imgix, and Cloudinary do this on the fly; a custom Next.js or Astro image component handles it at build time.

    Modern formats are not optional anymore

    WebP is now supported in every browser back to Safari 14, and AVIF works everywhere except very old Safari. A WebP version of a typical photographic JPEG is 25–35% smaller at the same perceived quality; AVIF is 50%+ smaller. There is no reason to ship a 600KB JPEG when a 200KB AVIF looks identical — except that nobody set up the build pipeline. The <picture> element with <source type="image/avif"> and <source type="image/webp"> fallbacks delivers each browser its best supported option and degrades to JPEG everywhere else.

    Why lazy loading is finally safe

    loading="lazy" on <img> is supported in every modern browser, requires no JavaScript, and defers offscreen images until the user scrolls near them. The only catch: never put loading="lazy" on the LCP image — you'll tank your Largest Contentful Paint score. The LCP image should be fetchpriority="high" and ideally preloaded.

    CLS — the silent image killer

    An image with no width and height attributes occupies zero space until it loads, then suddenly pushes the rest of the page down. That's Cumulative Layout Shift, and it tanks both your CWV score and your user's confidence. Always declare intrinsic dimensions so the browser reserves the box. Aspect-ratio CSS is the modern fallback when dimensions are unknown.

    The CDN multiplier

    Even with perfect image markup, serving from a single origin in one region means transatlantic latency for half your audience. An image CDN cuts the first byte by 100–300ms globally and handles format negotiation, resizing, and compression in one pipeline. For most sites it's the single highest-ROI infrastructure change available.

    Methodology

    We crawl the URL with a headless browser, record every <img>, <picture>, and CSS background-image, then measure displayed dimensions vs. natural dimensions, content-type, file size, and presence of srcset, sizes, loading, width, height, and fetchpriority attributes. For each image we estimate the byte savings of converting to WebP and AVIF at perceived-quality-equivalent settings (cq-level 30 for AVIF, quality 80 for WebP). We do not modify or re-upload your images — the savings figure is a projection based on published format benchmarks across your file sizes.

    Frequently Asked Questions

    Monitor this continuously with LemWatch

    A one-off free image optimization checker shows you today. LemWatch re-runs the same checks around the clock and alerts you the moment something breaks — free for up to 10 sites, no card needed.

    HTTP Status Code Reference

    Understanding HTTP status codes helps you diagnose issues found by this tool: