Total Blocking Time (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 docconst Chart = dynamic(() => import('./Chart'), { ssr: false });Related checks
3This 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.