Skip to main content

Search rules

Search all UI Guides rules by name, category, or source

performanceVercel

Lazy-Load Below-the-Fold Images

MUST

MUST: Eagerly load (and `rel="preload"`) only above-the-fold imagery; give every below-the-fold image `loading="lazy"`. Keep `width`/`height` or `aspect-ratio` on it so deferring the download does not reintroduce layout shift, and never lazy-load the LCP hero.

Give every image below the fold loading="lazy" so it downloads only when approached

<img src="/chart.png" width="800" height="450" loading="lazy" decoding="async" alt="…">

Bad

Good

Why it matters

Eagerly loading images the user has not scrolled to yet spends their bandwidth and the browser's limited connection pool on pixels nobody is looking at — and it does so while the LCP hero is still competing for those same connections. loading="lazy" defers the request until the image nears the viewport, which cuts initial page weight and lets the above-the-fold content land sooner.

Keep width/height (or aspect-ratio) on the placeholder so deferring the download does not reintroduce layout shift, and never lazy-load the hero itself.

Built by Gleb Stroganov, design engineer at Evil Martians.

The rules come from other people's skills and guidelines — Vercel, Rauno Freiberg, @Ibelick, impeccable, Emil Kowalski, Tailwind, RAMS — each one credited on the Sources page. The work here is extraction and wiring: every rule is pulled into one corpus, given a good and a bad example you can operate, a MUST/SHOULD/NEVER rule an agent can paste, and a link back to where it came from.