---
title: "First Contentful Paint is slow (perf/fcp-slow)"
description: "perf/fcp-slow: Until the first paint the user stares at a blank screen."
canonical: https://void-design.vercel.app/rules/perf/fcp-slow
lastModified: 2026-09-16
---

# First Contentful Paint is slow

`perf/fcp-slow` · severity **warn** · category Performance · detected by `void perf` and `void audit`

## Why it matters

Until the first paint the user stares at a blank screen. FCP above 1.8 s feels broken on mobile.

## How to fix it

Cut render-blocking CSS and synchronous head scripts, inline critical CSS for tiny pages, and use font-display: swap/optional.

## References

- https://web.dev/articles/fcp

## 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.

- `lcp-slow` Largest Contentful Paint is slow — [perf/lcp-slow](https://void-design.vercel.app/rules/perf/lcp-slow)
- `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)
- `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/fcp-slow`
