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.
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.
Yes — all out-of-viewport images get lazy loading automatically. In-viewport images load immediately.
Absolutely not. Lazy loading the LCP image directly harms Core Web Vitals scores.
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.
Audit your Next.js project for LCP candidates — add priority and fetchpriority='high' to those images, leave the rest on default lazy loading.