Offscreen Images.
Images below the fold should lazy-load — don't waste bandwidth on hidden content
What does this check test?
This check identifies images that are located below the fold (outside the initial viewport) but are loaded eagerly during page load. These offscreen images consume bandwidth and compete for network resources with critical above-the-fold content, delaying LCP and other key metrics. Native browser lazy loading (`loading="lazy"`) defers the download of offscreen images until the user scrolls near them, saving bandwidth and prioritizing critical resources. Lighthouse estimates potential savings by identifying images that are not visible in the initial viewport.
Why does it matter?
Loading all images eagerly — including those the user may never scroll to see — wastes bandwidth and delays the loading of critical above-the-fold content. On a typical long-scrolling page, 50-80% of images may be below the fold. Lazy loading these images can save hundreds of kilobytes to several megabytes of initial page weight, directly improving LCP and FCP. On mobile networks, this bandwidth savings translates to seconds of faster load time. Lazy loading also reduces server bandwidth costs and CDN egress charges.
Who is affected?
Long-scrolling pages with many images are the primary beneficiaries: e-commerce product listing pages, image galleries, social media feeds, news article indexes, and blog post listings. Any page with more than 3-4 images should lazy-load those that are not visible in the initial viewport. Infinite scroll implementations must use lazy loading to prevent downloading hundreds of images at once.
Where does this apply?
Images below the fold in the initial viewport are candidates for lazy loading. Use Chrome DevTools to identify which images are visible without scrolling — anything outside the initial viewport should be lazy-loaded. Be careful NOT to lazy-load the LCP image (usually the hero image or main product photo) — this would delay the most important metric. DevTools Coverage panel can show which images were visible during initial load versus loaded later.
How to fix it
<img src="/hero.webp" alt="Hero" fetchpriority="high" width="1200" height="600" /> <img src="/product.webp" alt="Product" loading="lazy" decoding="async"
width="400" height="300" /> References
AppVet checks Offscreen Images automatically
Run a free performance scan and get a full report with actionable fixes, including a Fix with AI prompt you can paste into any coding tool.
Run Audit