Image Compressor
Back to Blog

Lazy Load Images in Next.js: The LCP Guide

2026-08-29

Next.js's <Image> component enables lazy loading by default — images outside the viewport won't download until needed. This is good, but there's one critical exception: LCP (Largest Contentful Paint) images must NOT be lazy-loaded. The LCP image is the first thing users see, and delaying it directly hurts performance scores and user experience.

When to lazy load, when not to

Lazy loading config for Next.js Image

Default behavior: Next.js Image automatically applies loading='lazy' to all out-of-viewport images. You don't need to add it manually. But LCP images need special treatment — set the fetchpriority='high' and priority props explicitly.

Correct写法 for LCP images

FAQ

Does Next.js Image lazy load all images by default?

Yes — all out-of-viewport images get lazy loading automatically. In-viewport images load immediately.

Can LCP images be lazy-loaded?

Absolutely not. Lazy loading the LCP image directly harms Core Web Vitals scores.

What's the difference between priority and fetchpriority?

priority tells Next.js to pre-fetch the image; fetchpriority='high' tells the browser this resource is critical for LCP. Use both together for best results.

Optimize your image loading now

Audit your Next.js project for LCP candidates — add priority and fetchpriority='high' to those images, leave the rest on default lazy loading.

Compress images to improve LCP →

More reads: How to Compress JPG to Under 100KB Online (Free, No Sign-Up)How to Compress PNG Without Losing Quality (Free, Online)The Complete Guide to Compressing WebP Images

Free guide: compress images to an exact size (200KB / 100KB / 50KB) →