HomeAPI StatusFree ToolsSEO Help Articles

First Contentful Paint Test

The First Contentful Paint Test measures the time from navigation start to the first piece of visible content rendered on screen — the moment your user knows the page is actually loading. Google's "Good" threshold is under 1.8 seconds; over 3 seconds is "Poor". Slow FCP is almost always caused by render-blocking resources in the <head>: CSS not inlined, JavaScript not deferred, or fonts loaded synchronously. This tool surfaces the exact resources to fix.

What This Tool Checks

  • FCP timing measured in headless Chrome
  • Render-blocking CSS in the <head>
  • Render-blocking synchronous JavaScript
  • Font-loading strategy and font-display CSS
  • TTFB contribution to FCP
  • Critical CSS and inlining opportunities
  • Third-party script load order

Why It Matters for SEO

FCP is the user's first signal that the page is actually loading. A slow FCP triggers users to abandon — even if the rest of the page eventually loads quickly. FCP is also one of the lab metrics Lighthouse and Chrome User Experience Report use to grade page experience, feeding Google's ranking signal. Pages with FCP under 1.8 s convert measurably better than pages above 3 s on the same content.

How to Fix It

Inline critical above-the-fold CSS and load the rest async. Add async or defer to every non-critical <script> in <head>. Use font-display: swap on web fonts so text renders immediately with a fallback. Move third-party scripts (analytics, chat) to the bottom of <body> with defer. Optimise TTFB at the origin if it exceeds 600 ms.

How It Works

We navigate the URL in headless Chrome with a clean cache, capture the FCP timestamp from the Performance Timeline API, then walk the network waterfall to identify every resource on the critical render path. The report sorts blocking resources by their contribution to FCP delay.

Common Mistakes to Avoid

  • Multiple render-blocking <link rel="stylesheet"> in <head>
  • <script> without async or defer in <head>
  • @import directives in CSS (cascading blocking requests)
  • Web fonts loaded without font-display: swap
  • Long TTFB pushing FCP back even with perfect frontend

Quick Checklist

  • FCP under 1.8 seconds
  • No render-blocking CSS or JS in <head>
  • Fonts use font-display: swap
  • Critical CSS inlined
  • Third-party scripts deferred

Frequently Asked Questions