---
title: "Largest Contentful Paint is slow (perf/lcp-slow)"
description: "perf/lcp-slow: LCP is when the main content appears. Make the LCP element discoverable in the initial HTML, never lazy-load it, give an LCP image…"
canonical: https://void-design.vercel.app/rules/perf/lcp-slow
lastModified: 2026-09-16
---

# Largest Contentful Paint is slow

`perf/lcp-slow` · severity **error** · category Performance · detected by `void perf` and `void audit`

## Why it matters

LCP is when the main content appears. Past 2.5 s on mobile users perceive the page as slow, bounce more, and Google's Core Web Vitals mark the URL as needing improvement.

## How to fix it

Make the LCP element discoverable in the initial HTML, never lazy-load it, give an LCP image fetchpriority="high" and a modern format, keep TTFB low (static/CDN), and avoid render-blocking CSS/JS before it.

## Example

```
<img src="/hero.avif" width="1200" height="630" fetchpriority="high" alt="…">
```

## References

- https://web.dev/articles/optimize-lcp
- https://web.dev/articles/vitals

## More performance rules

`void perf` reports 25 rules in this category. Core Web Vitals and bytes: LCP, CLS, TBT, TTFB, JavaScript, CSS, fonts, images, caching and compression, measured as the median of several runs on a throttled mobile and a desktop profile.

- `cls-high` Cumulative Layout Shift is high — [perf/cls-high](https://void-design.vercel.app/rules/perf/cls-high)
- `ttfb-slow` Server response (TTFB) is slow — [perf/ttfb-slow](https://void-design.vercel.app/rules/perf/ttfb-slow)
- `fcp-slow` First Contentful Paint is slow — [perf/fcp-slow](https://void-design.vercel.app/rules/perf/fcp-slow)
- `tbt-high` Main thread is blocked by long tasks during load — [perf/tbt-high](https://void-design.vercel.app/rules/perf/tbt-high)
- `js-budget` First-load JavaScript exceeds the budget — [perf/js-budget](https://void-design.vercel.app/rules/perf/js-budget)
- `css-budget` CSS transfer exceeds the budget — [perf/css-budget](https://void-design.vercel.app/rules/perf/css-budget)
- `font-budget` Web font transfer exceeds the budget — [perf/font-budget](https://void-design.vercel.app/rules/perf/font-budget)
- `too-many-fonts` Too many font files are downloaded — [perf/too-many-fonts](https://void-design.vercel.app/rules/perf/too-many-fonts)

Detected by `void perf` and `void audit`. Explain it in a terminal: `void rules perf/lcp-slow`
