---
title: "What is Total Blocking Time (TBT)? · Unlighthouse"
meta:
  "og:description": "TBT measures main thread blocking during load. Learn what it is, thresholds, and how to reduce blocking time."
  "og:title": "What is Total Blocking Time (TBT)? · Unlighthouse"
  description: "TBT measures main thread blocking during load. Learn what it is, thresholds, and how to reduce blocking time."
---

**Glossary**

# **What is Total Blocking Time (TBT)?**

[Copy for LLMs](https://unlighthouse.dev/glossary/tbt.md)

Total Blocking Time (TBT) measures main thread blocking between [**FCP**](https://unlighthouse.dev/glossary/fcp) and page interactive. It's the highest-weighted Lighthouse metric at **30%** and a strong proxy for [**INP**](https://unlighthouse.dev/glossary/inp).

## [Thresholds](#thresholds)

| **Score** | **Rating** |
| --- | --- |
| ≤ 200ms | Good |
| 200ms - 600ms | Needs Improvement |
| > 600ms | Poor |

## [How TBT Works](#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](#tbt-vs-inp)

| **Metric** | **When** | **Type** |
| --- | --- | --- |
| TBT | During load | Lab metric |
| [**INP**](https://unlighthouse.dev/glossary/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](#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](#common-issues)

- Large JavaScript bundles
- Unoptimized third-party scripts
- Heavy framework hydration
- Synchronous operations and layout thrashing

## [Measure TBT](#measure-tbt)

- Lighthouse in Chrome DevTools
- [**PageSpeed Insights**](https://pagespeed.web.dev/) (lab data section)
- WebPageTest

TBT is a lab metric. Real-world interactivity is measured by [**INP**](https://unlighthouse.dev/glossary/inp), which is a Core Web Vital and ranking factor.

[Edit this page](https://github.com/harlan-zw/unlighthouse/edit/main/docs/glossary/tbt.md)

[Markdown For LLMs](https://unlighthouse.dev/glossary/tbt.md)

**Did this page help you? **

Anything that could be done better? :)

Help us improve this page. You can [edit this page](https://github.com/harlan-zw/unlighthouse/edit/main/docs/glossary/tbt.md) on GitHub or provide anonymous feedback below.

[**Speed Index** Speed Index measures how fast visible content fills the viewport. Good score: ≤3.4s mobile, ≤1.3s desktop. 10% of Lighthouse performance score. Thresholds, tools, and fixes.](https://unlighthouse.dev/glossary/speed-index) [**TTFB** TTFB measures server response time. Learn what it is, thresholds, and how to optimize it.](https://unlighthouse.dev/glossary/ttfb)

**On this page **

- [Thresholds](#thresholds)
- [How TBT Works](#how-tbt-works)
- [TBT vs INP](#tbt-vs-inp)
- [Why It Matters](#why-it-matters)
- [Common Issues](#common-issues)
- [Measure TBT](#measure-tbt)