---
title: "priority / lazy loading conflicts (perf/image-priority)"
description: "Next.js 16 deprecated priority in favor of preload; and priority or preload together with loading=\"lazy\" contradict each other."
url: http://localhost:4173/rules/perf/image-priority
updated: 2026-11-11
---

# priority / lazy loading conflicts

> `perf/image-priority` is a vetd rule. It flags: priority / lazy loading conflicts. It runs on every `check`, together with the TypeScript check.

| Fact | Value |
| --- | --- |
| Rule id | `perf/image-priority` |
| Severity | warning |
| Group | Performance: fonts, images, scripts and bundle |
| Tags | performance, nextjs-16 |

## Why it matters

Next.js 16 deprecated priority in favor of preload; and priority or preload together with loading="lazy" contradict each other.

## How to fix it

Use preload (or loading="eager" with fetchPriority="high") on the LCP image only, without loading="lazy".

## Credit

Based on work by:

- [Next.js team](https://nextjs.org): Next.js 16 replaces priority with preload, and a priority image must not also be lazy.
- [Google Chrome](https://developer.chrome.com/docs/lighthouse/overview): web.dev warns that lazy-loading the largest above-the-fold image delays Largest Contentful Paint.

## References

- [Image Component](https://nextjs.org/docs/app/api-reference/components/image), Next.js
- [The performance effects of too much lazy loading](https://web.dev/articles/lcp-lazy-loading), web.dev
- [Optimize Largest Contentful Paint](https://web.dev/articles/optimize-lcp), web.dev

## See it

Demos in the vetd Lab:

- [Don't lazy-load the LCP image](http://localhost:4173/lab/web-perf/never-lazy-load-lcp-image)
- [Image sizes and priority](http://localhost:4173/lab/nextjs/image-sizes-and-priority)

## Related rules

- [`perf/image-sizes`](http://localhost:4173/rules/perf/image-sizes.md)
- [`perf/img-element`](http://localhost:4173/rules/perf/img-element.md)

## Get this text from vetd

MCP: call `explain` with `{ "diagnosticId": "perf/image-priority" }`. CLI: `npx vetd explain perf/image-priority`.

---

[All 92 rules](http://localhost:4173/rules.md) · Previous: [`perf/image-sizes`](http://localhost:4173/rules/perf/image-sizes.md) · Next: [`perf/sync-script`](http://localhost:4173/rules/perf/sync-script.md)
