Glossary
What is Total Blocking Time (TBT)?
Total Blocking Time (TBT) measures main thread blocking between FCP and page interactive. It's the highest-weighted Lighthouse metric at 30% and a strong proxy for INP.
Thresholds
| Score | Rating |
|---|---|
| ≤ 200ms | Good |
| 200ms - 600ms | Needs Improvement |
| > 600ms | Poor |
How TBT Works
TBT counts the "blocking" portion of Long Tasks (JavaScript tasks >50ms). Only time beyond 50ms counts:
- 70ms task → 20ms blocking time
- 250ms task → 200ms blocking time
- 30ms task → 0ms (under threshold)
While the main thread is blocked, the browser can't respond to user input.
TBT vs INP
| Metric | When | Type |
|---|---|---|
| TBT | During load | Lab metric |
| INP | Throughout session | Field metric |
TBT is a lab proxy for interactivity. Low TBT often correlates with good INP, but not always.
Why It Matters
TBT has the largest impact on Lighthouse Performance score. High TBT means clicks and taps are delayed during page load.
Common Issues
- Large JavaScript bundles
- Unoptimized third-party scripts
- Heavy framework hydration
- Synchronous operations and layout thrashing
Measure TBT
- Lighthouse in Chrome DevTools
- PageSpeed Insights (lab data section)
- WebPageTest
TBT is a lab metric. Real-world interactivity is measured by INP, which is a Core Web Vital and ranking factor.
Did this page help you?