Total Blocking Time (TBT)

highperformance-tbt

TBT measures how long long JavaScript tasks block the main thread. It's the lab-measurable stand-in this scanner uses for INP.

What it is

Total Blocking Time (TBT) sums how long the main thread was blocked by long tasks (over 50ms) between First Contentful Paint and the page becoming interactive. It's the lab-measurable stand-in this scanner uses for Interaction to Next Paint (INP), which needs real user interaction data that a single-page lab test can't produce.

Good is under 200ms; 200-600ms is graded medium here, above that high — the same thresholds Lighthouse uses.

Why it matters

A page can paint quickly (good LCP) and still be unresponsive to a tap or click if a large JavaScript bundle is busy parsing, compiling and executing on the main thread right after — the visitor sees the page but can't interact with it yet.

The fix is architectural more often than a single quick change: splitting a large bundle so non-essential code loads later, deferring third-party scripts, and breaking up any single synchronous task that takes longer than about 50ms.

How to fix it

with a reference doc
js — split a long synchronous import
const Chart = dynamic(() => import('./Chart'), { ssr: false });

Reference documentation

Related checks

3
highLargest Contentful Paint (LCP)Largest Contentful Paint (LCP) measures the time from navigation start until the largest image or text block in the viewport has rendered — a stand-in for 'when does this page feel loaded' rather than 'when did the first byte arrive'. It's one of Google's three Core Web Vitals.highCumulative Layout Shift (CLS)Cumulative Layout Shift (CLS) scores how much visible content unexpectedly moves during a page's lifetime, weighted by how much of the viewport shifted and how far. A score under 0.1 is good; 0.1-0.25 is graded medium here, above 0.25 is high.mediumRender-blocking resourcesA render-blocking resource is a stylesheet or synchronous script in <head> that the browser must download and process before it can paint anything — the page stays blank until every one of them resolves. This check looks specifically at resources in the document head, the ones the browser encounters before it can render a single pixel.

This is one of the 75 checks the scanner runs. See what we check for the full list, every severity weight, and how the score is computed from them.

See whether your own site passes total blocking time (tbt).

One page, all 75 checks, free. No account, no card.

Run a scan